enju_library 0.1.2 → 0.2.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
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