enju_library 0.1.2 → 0.2.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +3 -3
  3. data/Rakefile +15 -8
  4. data/app/controllers/accepts_controller.rb +13 -3
  5. data/app/controllers/baskets_controller.rb +11 -1
  6. data/app/controllers/bookstores_controller.rb +12 -1
  7. data/app/controllers/budget_types_controller.rb +13 -2
  8. data/app/controllers/concerns/enju_library/controller.rb +43 -0
  9. data/app/controllers/libraries_controller.rb +13 -4
  10. data/app/controllers/library_groups_controller.rb +16 -6
  11. data/app/controllers/request_status_types_controller.rb +13 -2
  12. data/app/controllers/request_types_controller.rb +13 -2
  13. data/app/controllers/search_engines_controller.rb +13 -2
  14. data/app/controllers/shelves_controller.rb +14 -4
  15. data/app/controllers/subscribes_controller.rb +12 -2
  16. data/app/controllers/subscriptions_controller.rb +12 -3
  17. data/app/controllers/withdraws_controller.rb +14 -3
  18. data/app/helpers/shelves_helper.rb +2 -2
  19. data/app/models/accept.rb +2 -4
  20. data/app/models/basket.rb +0 -2
  21. data/app/models/budget_type.rb +0 -1
  22. data/app/models/concerns/enju_library/enju_item.rb +32 -0
  23. data/app/models/library_group.rb +9 -16
  24. data/app/models/request_status_type.rb +0 -1
  25. data/app/models/request_type.rb +0 -1
  26. data/app/models/search_engine.rb +0 -1
  27. data/app/models/withdraw.rb +8 -4
  28. data/app/policies/accept_policy.rb +21 -0
  29. data/app/policies/basket_policy.rb +21 -0
  30. data/app/policies/bookstore_policy.rb +23 -0
  31. data/app/policies/budget_type_policy.rb +21 -0
  32. data/app/policies/library_group_policy.rb +23 -0
  33. data/app/policies/library_policy.rb +25 -0
  34. data/app/policies/request_status_type_policy.rb +21 -0
  35. data/app/policies/request_type_policy.rb +21 -0
  36. data/app/policies/search_engine_policy.rb +21 -0
  37. data/app/policies/shelf_policy.rb +23 -0
  38. data/app/policies/subscribe_policy.rb +21 -0
  39. data/app/policies/subscription_policy.rb +21 -0
  40. data/app/policies/withdraw_policy.rb +21 -0
  41. data/app/views/accepts/index.html.erb +1 -1
  42. data/app/views/accepts/show.html.erb +1 -1
  43. data/app/views/baskets/edit.html.erb +1 -1
  44. data/app/views/baskets/new.html.erb +3 -1
  45. data/app/views/bookstores/index.html.erb +4 -4
  46. data/app/views/bookstores/show.html.erb +2 -2
  47. data/app/views/budget_types/index.html.erb +4 -4
  48. data/app/views/budget_types/show.html.erb +2 -2
  49. data/app/views/libraries/{_map.mobile.erb → _map.html+phone.erb} +0 -0
  50. data/app/views/libraries/index.html.erb +4 -4
  51. data/app/views/libraries/{show.mobile.erb → show.html+phone.erb} +0 -0
  52. data/app/views/libraries/show.html.erb +5 -5
  53. data/app/views/library_groups/_color_fields.html.erb +5 -0
  54. data/app/views/library_groups/_form.html.erb +17 -7
  55. data/app/views/library_groups/edit.html.erb +1 -1
  56. data/app/views/library_groups/index.html.erb +1 -1
  57. data/app/views/library_groups/show.html.erb +6 -2
  58. data/app/views/picture_files/_index_shelf.html.erb +4 -4
  59. data/app/views/request_status_types/index.html.erb +6 -4
  60. data/app/views/request_status_types/show.html.erb +1 -1
  61. data/app/views/request_types/index.html.erb +6 -4
  62. data/app/views/request_types/show.html.erb +1 -1
  63. data/app/views/search_engines/index.html.erb +4 -4
  64. data/app/views/search_engines/show.html.erb +2 -2
  65. data/app/views/shelves/_library_facet.html.erb +1 -1
  66. data/app/views/shelves/index.html.erb +4 -4
  67. data/app/views/shelves/{show.mobile.erb → show.html+phone.erb} +0 -0
  68. data/app/views/shelves/show.html.erb +3 -3
  69. data/app/views/subscriptions/index.html.erb +3 -1
  70. data/app/views/subscriptions/show.html.erb +1 -1
  71. data/app/views/withdraws/index.html.erb +1 -1
  72. data/app/views/withdraws/show.html.erb +1 -1
  73. data/config/locales/translation_en.yml +2 -1
  74. data/config/locales/translation_ja.yml +2 -1
  75. data/db/migrate/20151213070943_add_translation_table_to_library_group.rb +13 -0
  76. data/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +9 -0
  77. data/lib/enju_library/engine.rb +3 -0
  78. data/lib/enju_library/version.rb +1 -1
  79. data/lib/enju_library.rb +0 -41
  80. data/lib/generators/enju_library/setup/setup_generator.rb +2 -0
  81. data/lib/generators/enju_library/setup/templates/db/fixtures/library_group/translations.yml +10 -0
  82. data/lib/tasks/enju_library_tasks.rake +6 -2
  83. data/spec/controllers/accepts_controller_spec.rb +6 -6
  84. data/spec/controllers/baskets_controller_spec.rb +7 -7
  85. data/spec/controllers/bookstores_controller_spec.rb +11 -11
  86. data/spec/controllers/budget_types_controller_spec.rb +1 -1
  87. data/spec/controllers/libraries_controller_spec.rb +9 -9
  88. data/spec/controllers/library_groups_controller_spec.rb +3 -3
  89. data/spec/controllers/request_status_types_controller_spec.rb +16 -16
  90. data/spec/controllers/request_types_controller_spec.rb +16 -16
  91. data/spec/controllers/search_engines_controller_spec.rb +13 -13
  92. data/spec/controllers/shelves_controller_spec.rb +10 -9
  93. data/spec/controllers/subscribes_controller_spec.rb +8 -8
  94. data/spec/controllers/subscriptions_controller_spec.rb +8 -8
  95. data/spec/controllers/withdraws_controller_spec.rb +11 -3
  96. data/spec/dummy/app/controllers/application_controller.rb +6 -3
  97. data/spec/dummy/app/models/user.rb +2 -2
  98. data/spec/dummy/config/application.rb +8 -38
  99. data/spec/dummy/config/environments/development.rb +22 -18
  100. data/spec/dummy/config/environments/production.rb +46 -34
  101. data/spec/dummy/config/environments/test.rb +21 -14
  102. data/spec/dummy/config/initializers/enju_leaf.rb +6 -0
  103. data/spec/dummy/db/schema.rb +13 -1
  104. data/spec/models/withdraw_spec.rb +2 -0
  105. data/spec/spec_helper.rb +1 -1
  106. data/spec/views/accepts/index.html.erb_spec.rb +1 -0
  107. data/spec/views/budget_types/index.html.erb_spec.rb +1 -0
  108. data/spec/views/budget_types/show.html.erb_spec.rb +1 -0
  109. data/spec/views/libraries/show.html.erb_spec.rb +2 -1
  110. data/spec/views/library_groups/edit.html.erb_spec.rb +1 -0
  111. data/spec/views/library_groups/show.html.erb_spec.rb +2 -0
  112. data/spec/views/withdraws/index.html.erb_spec.rb +2 -0
  113. metadata +52 -105
  114. data/app/models/enju_library/ability.rb +0 -72
  115. data/lib/enju_library/item.rb +0 -39
  116. data/spec/dummy/app/models/ability.rb +0 -68
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enju_library
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kosuke Tanabe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-27 00:00:00.000000000 Z
11
+ date: 2016-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: geocoder
@@ -25,21 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: cancancan
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '1.14'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1.14'
41
- - !ruby/object:Gem::Dependency
42
- name: mime-types
28
+ name: cocoon
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="
@@ -53,27 +39,27 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: paperclip-meta
42
+ name: globalize
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '2.0'
47
+ version: 5.0.1
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '2.0'
54
+ version: 5.0.1
69
55
  - !ruby/object:Gem::Dependency
70
- name: sqlite3
56
+ name: globalize-accessors
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
74
60
  - !ruby/object:Gem::Version
75
61
  version: '0'
76
- type: :development
62
+ type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
@@ -81,21 +67,7 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: mysql2
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: 0.3.20
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: 0.3.20
97
- - !ruby/object:Gem::Dependency
98
- name: pg
70
+ name: sqlite3
99
71
  requirement: !ruby/object:Gem::Requirement
100
72
  requirements:
101
73
  - - ">="
@@ -109,21 +81,7 @@ dependencies:
109
81
  - !ruby/object:Gem::Version
110
82
  version: '0'
111
83
  - !ruby/object:Gem::Dependency
112
- name: rspec-rails
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '3.4'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '3.4'
125
- - !ruby/object:Gem::Dependency
126
- name: factory_girl_rails
84
+ name: mysql2
127
85
  requirement: !ruby/object:Gem::Requirement
128
86
  requirements:
129
87
  - - ">="
@@ -137,7 +95,7 @@ dependencies:
137
95
  - !ruby/object:Gem::Version
138
96
  version: '0'
139
97
  - !ruby/object:Gem::Dependency
140
- name: paperclip
98
+ name: pg
141
99
  requirement: !ruby/object:Gem::Requirement
142
100
  requirements:
143
101
  - - ">="
@@ -151,89 +109,61 @@ dependencies:
151
109
  - !ruby/object:Gem::Version
152
110
  version: '0'
153
111
  - !ruby/object:Gem::Dependency
154
- name: enju_leaf
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: 1.1.3
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: 1.1.3
167
- - !ruby/object:Gem::Dependency
168
- name: enju_ndl
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: 0.1.1
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: 0.1.1
181
- - !ruby/object:Gem::Dependency
182
- name: enju_manifestation_viewer
112
+ name: rspec-rails
183
113
  requirement: !ruby/object:Gem::Requirement
184
114
  requirements:
185
115
  - - "~>"
186
116
  - !ruby/object:Gem::Version
187
- version: 0.1.0
117
+ version: '3.4'
188
118
  type: :development
189
119
  prerelease: false
190
120
  version_requirements: !ruby/object:Gem::Requirement
191
121
  requirements:
192
122
  - - "~>"
193
123
  - !ruby/object:Gem::Version
194
- version: 0.1.0
124
+ version: '3.4'
195
125
  - !ruby/object:Gem::Dependency
196
- name: enju_event
126
+ name: factory_girl_rails
197
127
  requirement: !ruby/object:Gem::Requirement
198
128
  requirements:
199
- - - "~>"
129
+ - - ">="
200
130
  - !ruby/object:Gem::Version
201
- version: 0.1.19
131
+ version: '0'
202
132
  type: :development
203
133
  prerelease: false
204
134
  version_requirements: !ruby/object:Gem::Requirement
205
135
  requirements:
206
- - - "~>"
136
+ - - ">="
207
137
  - !ruby/object:Gem::Version
208
- version: 0.1.19
138
+ version: '0'
209
139
  - !ruby/object:Gem::Dependency
210
- name: enju_circulation
140
+ name: paperclip
211
141
  requirement: !ruby/object:Gem::Requirement
212
142
  requirements:
213
143
  - - "~>"
214
144
  - !ruby/object:Gem::Version
215
- version: 0.1.2
145
+ version: '4.3'
216
146
  type: :development
217
147
  prerelease: false
218
148
  version_requirements: !ruby/object:Gem::Requirement
219
149
  requirements:
220
150
  - - "~>"
221
151
  - !ruby/object:Gem::Version
222
- version: 0.1.2
152
+ version: '4.3'
223
153
  - !ruby/object:Gem::Dependency
224
- name: enju_inter_library_loan
154
+ name: enju_leaf
225
155
  requirement: !ruby/object:Gem::Requirement
226
156
  requirements:
227
157
  - - "~>"
228
158
  - !ruby/object:Gem::Version
229
- version: 0.1.1
159
+ version: 1.2.0.beta.1
230
160
  type: :development
231
161
  prerelease: false
232
162
  version_requirements: !ruby/object:Gem::Requirement
233
163
  requirements:
234
164
  - - "~>"
235
165
  - !ruby/object:Gem::Version
236
- version: 0.1.1
166
+ version: 1.2.0.beta.1
237
167
  - !ruby/object:Gem::Dependency
238
168
  name: sunspot_solr
239
169
  requirement: !ruby/object:Gem::Requirement
@@ -319,7 +249,7 @@ dependencies:
319
249
  - !ruby/object:Gem::Version
320
250
  version: '0'
321
251
  - !ruby/object:Gem::Dependency
322
- name: appraisal
252
+ name: coveralls
323
253
  requirement: !ruby/object:Gem::Requirement
324
254
  requirements:
325
255
  - - ">="
@@ -346,6 +276,7 @@ files:
346
276
  - app/controllers/baskets_controller.rb
347
277
  - app/controllers/bookstores_controller.rb
348
278
  - app/controllers/budget_types_controller.rb
279
+ - app/controllers/concerns/enju_library/controller.rb
349
280
  - app/controllers/libraries_controller.rb
350
281
  - app/controllers/library_groups_controller.rb
351
282
  - app/controllers/request_status_types_controller.rb
@@ -361,7 +292,7 @@ files:
361
292
  - app/models/bookstore.rb
362
293
  - app/models/budget_type.rb
363
294
  - app/models/color.rb
364
- - app/models/enju_library/ability.rb
295
+ - app/models/concerns/enju_library/enju_item.rb
365
296
  - app/models/library.rb
366
297
  - app/models/library_group.rb
367
298
  - app/models/request_status_type.rb
@@ -371,6 +302,19 @@ files:
371
302
  - app/models/subscribe.rb
372
303
  - app/models/subscription.rb
373
304
  - app/models/withdraw.rb
305
+ - app/policies/accept_policy.rb
306
+ - app/policies/basket_policy.rb
307
+ - app/policies/bookstore_policy.rb
308
+ - app/policies/budget_type_policy.rb
309
+ - app/policies/library_group_policy.rb
310
+ - app/policies/library_policy.rb
311
+ - app/policies/request_status_type_policy.rb
312
+ - app/policies/request_type_policy.rb
313
+ - app/policies/search_engine_policy.rb
314
+ - app/policies/shelf_policy.rb
315
+ - app/policies/subscribe_policy.rb
316
+ - app/policies/subscription_policy.rb
317
+ - app/policies/withdraw_policy.rb
374
318
  - app/views/accepts/_form.html.erb
375
319
  - app/views/accepts/_list.html.erb
376
320
  - app/views/accepts/edit.html.erb
@@ -395,14 +339,15 @@ files:
395
339
  - app/views/budget_types/show.html.erb
396
340
  - app/views/libraries/_calendar.html.erb
397
341
  - app/views/libraries/_form.html.erb
342
+ - app/views/libraries/_map.html+phone.erb
398
343
  - app/views/libraries/_map.html.erb
399
- - app/views/libraries/_map.mobile.erb
400
344
  - app/views/libraries/edit.html.erb
401
345
  - app/views/libraries/index.html.erb
402
346
  - app/views/libraries/new.html.erb
347
+ - app/views/libraries/show.html+phone.erb
403
348
  - app/views/libraries/show.html.erb
404
349
  - app/views/libraries/show.js.erb
405
- - app/views/libraries/show.mobile.erb
350
+ - app/views/library_groups/_color_fields.html.erb
406
351
  - app/views/library_groups/_form.html.erb
407
352
  - app/views/library_groups/edit.html.erb
408
353
  - app/views/library_groups/index.html.erb
@@ -430,8 +375,8 @@ files:
430
375
  - app/views/shelves/edit.html.erb
431
376
  - app/views/shelves/index.html.erb
432
377
  - app/views/shelves/new.html.erb
378
+ - app/views/shelves/show.html+phone.erb
433
379
  - app/views/shelves/show.html.erb
434
- - app/views/shelves/show.mobile.erb
435
380
  - app/views/subscribes/edit.html.erb
436
381
  - app/views/subscribes/index.html.erb
437
382
  - app/views/subscribes/new.html.erb
@@ -472,15 +417,17 @@ files:
472
417
  - db/migrate/20140821151023_create_colors.rb
473
418
  - db/migrate/20150221063719_add_settings_to_library_group.rb
474
419
  - db/migrate/20150924115059_create_withdraws.rb
420
+ - db/migrate/20151213070943_add_translation_table_to_library_group.rb
421
+ - db/migrate/20151213072705_add_footer_banner_to_library_group.rb
475
422
  - lib/enju_library.rb
476
423
  - lib/enju_library/engine.rb
477
- - lib/enju_library/item.rb
478
424
  - lib/enju_library/version.rb
479
425
  - lib/generators/enju_library/setup/USAGE
480
426
  - lib/generators/enju_library/setup/setup_generator.rb
481
427
  - lib/generators/enju_library/setup/templates/db/fixtures/bookstores.yml
482
428
  - lib/generators/enju_library/setup/templates/db/fixtures/colors.yml
483
429
  - lib/generators/enju_library/setup/templates/db/fixtures/libraries.yml
430
+ - lib/generators/enju_library/setup/templates/db/fixtures/library_group/translations.yml
484
431
  - lib/generators/enju_library/setup/templates/db/fixtures/library_groups.yml
485
432
  - lib/generators/enju_library/setup/templates/db/fixtures/request_status_types.yml
486
433
  - lib/generators/enju_library/setup/templates/db/fixtures/request_types.yml
@@ -506,7 +453,6 @@ files:
506
453
  - spec/dummy/app/assets/stylesheets/application.css
507
454
  - spec/dummy/app/controllers/application_controller.rb
508
455
  - spec/dummy/app/helpers/application_helper.rb
509
- - spec/dummy/app/models/ability.rb
510
456
  - spec/dummy/app/models/user.rb
511
457
  - spec/dummy/app/views/layouts/application.html.erb
512
458
  - spec/dummy/bin/bundle
@@ -524,6 +470,7 @@ files:
524
470
  - spec/dummy/config/initializers/assets.rb
525
471
  - spec/dummy/config/initializers/backtrace_silencers.rb
526
472
  - spec/dummy/config/initializers/devise.rb
473
+ - spec/dummy/config/initializers/enju_leaf.rb
527
474
  - spec/dummy/config/initializers/friendly_id.rb
528
475
  - spec/dummy/config/initializers/inflections.rb
529
476
  - spec/dummy/config/initializers/mime_types.rb
@@ -829,9 +776,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
829
776
  version: '0'
830
777
  required_rubygems_version: !ruby/object:Gem::Requirement
831
778
  requirements:
832
- - - ">="
779
+ - - ">"
833
780
  - !ruby/object:Gem::Version
834
- version: '0'
781
+ version: 1.3.1
835
782
  requirements: []
836
783
  rubyforge_project:
837
784
  rubygems_version: 2.5.1
@@ -856,7 +803,6 @@ test_files:
856
803
  - spec/dummy/app/assets/stylesheets/application.css
857
804
  - spec/dummy/app/controllers/application_controller.rb
858
805
  - spec/dummy/app/helpers/application_helper.rb
859
- - spec/dummy/app/models/ability.rb
860
806
  - spec/dummy/app/models/user.rb
861
807
  - spec/dummy/app/views/layouts/application.html.erb
862
808
  - spec/dummy/bin/bundle
@@ -873,6 +819,7 @@ test_files:
873
819
  - spec/dummy/config/initializers/assets.rb
874
820
  - spec/dummy/config/initializers/backtrace_silencers.rb
875
821
  - spec/dummy/config/initializers/devise.rb
822
+ - spec/dummy/config/initializers/enju_leaf.rb
876
823
  - spec/dummy/config/initializers/friendly_id.rb
877
824
  - spec/dummy/config/initializers/inflections.rb
878
825
  - spec/dummy/config/initializers/mime_types.rb
@@ -1,72 +0,0 @@
1
- module EnjuLibrary
2
- class Ability
3
- include CanCan::Ability
4
-
5
- def initialize(user, ip_address = nil)
6
- case user.try(:role).try(:name)
7
- when 'Administrator'
8
- can [:read, :create, :update], Bookstore
9
- can [:delete, :destroy], Bookstore do |bookstore|
10
- bookstore.items.empty?
11
- end
12
- can [:read, :create, :update], Library
13
- can [:delete, :destroy], Library do |library|
14
- if library.profiles.empty?
15
- true if library.shelves.empty? && !library.web?
16
- end
17
- end
18
- can [:read, :create, :update], Shelf
19
- can [:delete, :destroy], Shelf do |shelf|
20
- shelf.items.empty? && !shelf.web_shelf?
21
- end
22
- can :manage, [
23
- Accept,
24
- BudgetType,
25
- SearchEngine,
26
- Subscribe,
27
- Subscription,
28
- Withdraw
29
- ]
30
- can :update, [
31
- LibraryGroup,
32
- RequestStatusType,
33
- RequestType
34
- ] if LibraryGroup.site_config.network_access_allowed?(ip_address, network_type: :admin)
35
- can :read, [
36
- LibraryGroup,
37
- RequestStatusType,
38
- RequestType
39
- ]
40
- when 'Librarian'
41
- can :manage, [
42
- Accept,
43
- Subscribe,
44
- Subscription,
45
- Withdraw
46
- ]
47
- can :read, [
48
- Bookstore,
49
- BudgetType,
50
- Library,
51
- LibraryGroup,
52
- RequestStatusType,
53
- RequestType,
54
- SearchEngine,
55
- Shelf
56
- ]
57
- when 'User'
58
- can :read, [
59
- Library,
60
- LibraryGroup,
61
- Shelf
62
- ]
63
- else
64
- can :read, [
65
- Library,
66
- LibraryGroup,
67
- Shelf
68
- ]
69
- end
70
- end
71
- end
72
- end
@@ -1,39 +0,0 @@
1
- module EnjuLibrary
2
- module LibraryItem
3
- def self.included(base)
4
- base.extend ClassMethods
5
- end
6
-
7
- module ClassMethods
8
- def enju_library_item_model
9
- include InstanceMethods
10
- has_one :accept
11
- scope :accepted_between, lambda{|from, to| includes(:accept).where('items.created_at BETWEEN ? AND ?', Time.zone.parse(from).beginning_of_day, Time.zone.parse(to).end_of_day)}
12
-
13
- belongs_to :shelf, counter_cache: true, validate: true
14
- validates_associated :shelf
15
-
16
- searchable do
17
- string :library do
18
- shelf.library.name if shelf
19
- end
20
- end
21
- end
22
- end
23
-
24
- module InstanceMethods
25
- def shelf_name
26
- shelf.name
27
- end
28
-
29
- def hold?(library)
30
- return true if shelf.library == library
31
- false
32
- end
33
-
34
- def library_url
35
- "#{LibraryGroup.site_config.url}libraries/#{shelf.library.name}"
36
- end
37
- end
38
- end
39
- end
@@ -1,68 +0,0 @@
1
- #module EnjuLibrary
2
- class Ability
3
- include CanCan::Ability
4
-
5
- def initialize(user, ip_address = nil)
6
- case user.try(:role).try(:name)
7
- when 'Administrator'
8
- can [:read, :create, :update], Bookstore
9
- can [:delete, :destroy], Bookstore do |bookstore|
10
- bookstore.items.empty?
11
- end
12
- can [:read, :create, :update], Library
13
- can [:delete, :destroy], Library do |library|
14
- library.shelves.empty? and !library.web?
15
- end
16
- can [:read, :create, :update], Shelf
17
- can [:delete, :destroy], Shelf do |shelf|
18
- shelf.items.empty? and !shelf.web_shelf?
19
- end
20
- can :manage, [
21
- Accept,
22
- BudgetType,
23
- SearchEngine,
24
- Subscribe,
25
- Subscription
26
- ]
27
- can :update, [
28
- LibraryGroup,
29
- RequestStatusType,
30
- RequestType
31
- ] if LibraryGroup.site_config.network_access_allowed?(ip_address)
32
- can :read, [
33
- LibraryGroup,
34
- RequestStatusType,
35
- RequestType
36
- ]
37
- when 'Librarian'
38
- can :manage, [
39
- Accept,
40
- Subscribe,
41
- Subscription
42
- ]
43
- can :read, [
44
- Bookstore,
45
- BudgetType,
46
- Library,
47
- LibraryGroup,
48
- RequestStatusType,
49
- RequestType,
50
- SearchEngine,
51
- Shelf
52
- ]
53
- when 'User'
54
- can :read, [
55
- Library,
56
- LibraryGroup,
57
- Shelf
58
- ]
59
- else
60
- can :read, [
61
- Library,
62
- LibraryGroup,
63
- Shelf
64
- ]
65
- end
66
- end
67
- end
68
- #end