enju_circulation 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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +3 -3
  3. data/app/controllers/carrier_type_has_checkout_types_controller.rb +14 -4
  4. data/app/controllers/checked_items_controller.rb +13 -2
  5. data/app/controllers/checkins_controller.rb +13 -3
  6. data/app/controllers/checkout_types_controller.rb +12 -2
  7. data/app/controllers/checkouts_controller.rb +26 -25
  8. data/app/controllers/circulation_statuses_controller.rb +11 -1
  9. data/app/controllers/concerns/enju_circulation/controller.rb +12 -0
  10. data/app/controllers/demands_controller.rb +12 -2
  11. data/app/controllers/item_has_use_restrictions_controller.rb +13 -2
  12. data/app/controllers/lending_policies_controller.rb +18 -4
  13. data/app/controllers/manifestation_checkout_stats_controller.rb +14 -6
  14. data/app/controllers/manifestation_reserve_stats_controller.rb +15 -4
  15. data/app/controllers/reserves_controller.rb +17 -9
  16. data/app/controllers/use_restrictions_controller.rb +11 -1
  17. data/app/controllers/user_checkout_stats_controller.rb +14 -4
  18. data/app/controllers/user_group_has_checkout_types_controller.rb +12 -2
  19. data/app/controllers/user_reserve_stats_controller.rb +14 -4
  20. data/app/helpers/items_helper.rb +2 -2
  21. data/app/jobs/manifestation_checkout_stat_job.rb +7 -0
  22. data/app/jobs/manifestation_reserve_stat_job.rb +7 -0
  23. data/app/jobs/user_checkout_stat_job.rb +7 -0
  24. data/app/jobs/user_reserve_stat_job.rb +7 -0
  25. data/app/models/checked_item.rb +1 -1
  26. data/app/models/concerns/enju_circulation/enju_accept.rb +16 -0
  27. data/app/models/concerns/enju_circulation/enju_basket.rb +30 -0
  28. data/app/models/concerns/enju_circulation/enju_carrier_type.rb +11 -0
  29. data/app/models/concerns/enju_circulation/enju_item.rb +157 -0
  30. data/app/models/concerns/enju_circulation/enju_manifestation.rb +77 -0
  31. data/app/models/concerns/enju_circulation/enju_profile.rb +13 -0
  32. data/app/models/concerns/enju_circulation/enju_user.rb +50 -0
  33. data/app/models/concerns/enju_circulation/enju_user_group.rb +17 -0
  34. data/app/models/concerns/enju_circulation/enju_withdraw.rb +16 -0
  35. data/app/models/manifestation_checkout_stat_state_machine.rb +1 -1
  36. data/app/models/reserve.rb +7 -2
  37. data/app/policies/carrier_type_has_checkout_type_policy.rb +21 -0
  38. data/app/policies/checked_item_policy.rb +21 -0
  39. data/app/policies/checkin_policy.rb +21 -0
  40. data/app/policies/checkout_policy.rb +39 -0
  41. data/app/policies/checkout_type_policy.rb +23 -0
  42. data/app/policies/circulation_status_policy.rb +23 -0
  43. data/app/policies/demand_policy.rb +21 -0
  44. data/app/policies/item_has_use_restriction_policy.rb +21 -0
  45. data/app/policies/item_policy.rb +27 -0
  46. data/app/policies/lending_policy_policy.rb +21 -0
  47. data/app/policies/manifestation_checkout_stat_policy.rb +21 -0
  48. data/app/policies/manifestation_reserve_stat_policy.rb +21 -0
  49. data/app/policies/reserve_policy.rb +37 -0
  50. data/app/policies/use_restriction_policy.rb +23 -0
  51. data/app/policies/user_checkout_stat_policy.rb +21 -0
  52. data/app/policies/user_group_has_checkout_type_policy.rb +21 -0
  53. data/app/policies/user_reserve_stat_policy.rb +21 -0
  54. data/app/views/carrier_type_has_checkout_types/index.html.erb +3 -3
  55. data/app/views/carrier_type_has_checkout_types/show.html.erb +1 -1
  56. data/app/views/carrier_types/_carrier_type_has_checkout_type_fields.html.erb +5 -0
  57. data/app/views/carrier_types/_checkout_form.html.erb +2 -4
  58. data/app/views/checkout_types/index.html.erb +4 -4
  59. data/app/views/checkout_types/show.html.erb +2 -2
  60. data/app/views/checkouts/_index.html.erb +1 -1
  61. data/app/views/checkouts/_index_overdue.html.erb +4 -5
  62. data/app/views/checkouts/_index_user.html.erb +5 -5
  63. data/app/views/checkouts/_list.html.erb +2 -2
  64. data/app/views/checkouts/_reserved_facet.html.erb +2 -2
  65. data/app/views/checkouts/edit.html.erb +1 -1
  66. data/app/views/checkouts/index.html.erb +2 -2
  67. data/app/views/checkouts/index.rss.builder +2 -2
  68. data/app/views/checkouts/index.txt.erb +1 -1
  69. data/app/views/checkouts/show.html.erb +10 -6
  70. data/app/views/circulation_statuses/index.html.erb +4 -4
  71. data/app/views/circulation_statuses/show.html.erb +1 -1
  72. data/app/views/reserves/_state_facet.html.erb +2 -2
  73. data/app/views/reserves/index.html.erb +6 -4
  74. data/app/views/reserves/show.html.erb +1 -1
  75. data/app/views/use_restrictions/index.html.erb +4 -4
  76. data/app/views/use_restrictions/show.html.erb +1 -1
  77. data/app/views/user_group_has_checkout_types/index.html.erb +3 -3
  78. data/app/views/user_group_has_checkout_types/show.html.erb +1 -1
  79. data/app/views/user_groups/_checkout_form.html.erb +2 -16
  80. data/app/views/user_groups/_user_group_has_checkout_type_fields.html.erb +14 -0
  81. data/db/migrate/20160703184619_add_most_recent_to_reserve_transitions.rb +9 -0
  82. data/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +9 -0
  83. data/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +9 -0
  84. data/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +9 -0
  85. data/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_transitions.rb +9 -0
  86. data/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +5 -0
  87. data/lib/enju_circulation/version.rb +1 -1
  88. data/lib/enju_circulation.rb +0 -20
  89. data/lib/generators/enju_circulation/setup/setup_generator.rb +16 -4
  90. data/lib/tasks/enju_circulation_tasks.rake +1 -1
  91. data/spec/controllers/carrier_type_has_checkout_types_controller_spec.rb +13 -13
  92. data/spec/controllers/checked_items_controller_spec.rb +6 -6
  93. data/spec/controllers/checkins_controller_spec.rb +6 -6
  94. data/spec/controllers/checkout_types_controller_spec.rb +11 -11
  95. data/spec/controllers/checkouts_controller_spec.rb +72 -71
  96. data/spec/controllers/circulation_statuses_controller_spec.rb +12 -12
  97. data/spec/controllers/item_has_use_restrictions_controller_spec.rb +11 -11
  98. data/spec/controllers/lending_policies_controller_spec.rb +14 -14
  99. data/spec/controllers/manifestation_checkout_stats_controller_spec.rb +6 -6
  100. data/spec/controllers/manifestation_reserve_stats_controller_spec.rb +6 -6
  101. data/spec/controllers/reserves_controller_spec.rb +5 -5
  102. data/spec/controllers/use_restrictions_controller_spec.rb +14 -14
  103. data/spec/controllers/user_checkout_stats_controller_spec.rb +8 -8
  104. data/spec/controllers/user_group_has_checkout_types_controller_spec.rb +11 -11
  105. data/spec/controllers/user_reserve_stats_controller_spec.rb +8 -8
  106. data/spec/dummy/app/assets/javascripts/application.js +1 -0
  107. data/spec/dummy/app/controllers/application_controller.rb +8 -4
  108. data/spec/dummy/app/models/user.rb +3 -5
  109. data/spec/dummy/config/application.rb +6 -37
  110. data/spec/dummy/config/environments/development.rb +22 -18
  111. data/spec/dummy/config/environments/production.rb +46 -34
  112. data/spec/dummy/config/environments/test.rb +19 -14
  113. data/spec/dummy/config/initializers/enju_leaf.rb +5 -0
  114. data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +13 -0
  115. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +13 -0
  116. data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +9 -0
  117. data/spec/dummy/db/schema.rb +30 -2
  118. data/spec/fixtures/profiles.yml +1 -1
  119. data/spec/models/manifestation_checkout_stat_spec.rb +3 -4
  120. data/spec/models/manifestation_reserve_stat_spec.rb +1 -1
  121. data/spec/models/user_checkout_stat_spec.rb +1 -1
  122. data/spec/models/user_reserve_stat_spec.rb +1 -1
  123. data/spec/support/devise.rb +2 -2
  124. data/spec/views/checkout_types/index.html.erb_spec.rb +1 -0
  125. data/spec/views/checkout_types/show.html.erb_spec.rb +1 -0
  126. data/spec/views/checkouts/index.html.erb_spec.rb +1 -3
  127. data/spec/views/checkouts/show.html.erb_spec.rb +5 -4
  128. data/spec/views/profiles/show.html.erb_spec.rb +2 -1
  129. data/spec/views/reserves/index.html.erb_spec.rb +3 -0
  130. data/spec/views/use_restrictions/index.html.erb_spec.rb +1 -0
  131. data/spec/views/use_restrictions/show.html.erb_spec.rb +1 -0
  132. metadata +147 -38
  133. data/app/models/enju_circulation/ability.rb +0 -114
  134. data/app/views/circulation_statuses/show.mobile.erb +0 -24
  135. data/app/workers/manifestation_checkout_stat_queue.rb +0 -7
  136. data/app/workers/manifestation_reserve_stat_queue.rb +0 -7
  137. data/app/workers/user_checkout_stat_queue.rb +0 -7
  138. data/app/workers/user_reserve_stat_queue.rb +0 -7
  139. data/lib/enju_circulation/accept.rb +0 -23
  140. data/lib/enju_circulation/basket.rb +0 -37
  141. data/lib/enju_circulation/carrier_type.rb +0 -15
  142. data/lib/enju_circulation/controller.rb +0 -21
  143. data/lib/enju_circulation/item.rb +0 -166
  144. data/lib/enju_circulation/manifestation.rb +0 -84
  145. data/lib/enju_circulation/profile.rb +0 -23
  146. data/lib/enju_circulation/user.rb +0 -61
  147. data/lib/enju_circulation/user_group.rb +0 -21
  148. data/lib/enju_circulation/withdraw.rb +0 -23
  149. data/spec/dummy/app/models/ability.rb +0 -111
  150. data/spec/dummy/app/models/local_agent.rb +0 -13
  151. data/spec/dummy/config/application.yml +0 -42
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a19e87f6e4bddd1b5a4673d552d0244660278a5a
4
- data.tar.gz: a15c2eaf68a311998a0404ac2e6b7e2db9344339
3
+ metadata.gz: 76931b397c6efb20ca7b30e45790da3176301176
4
+ data.tar.gz: 6dc563892fd9c87b2a48c285e70d7147bf717e61
5
5
  SHA512:
6
- metadata.gz: 6f68f1aa4ddb89f951226f2eebeab5f0e80988e3f3a5f3b3d31c605320ca3c2764cb928388eee85da093b4c8fb195ddc293ce144f5854a340e6981f2ee087b5f
7
- data.tar.gz: f932c611eebbc8e9a37e773c52a06f1273a17b9a7d3d629bbed70d8e54286261ed29ce31feb75cbab09c500e1c2df45280a0f1cf222425c7411c42f11146a5b5
6
+ metadata.gz: 62c3010af156051a9fb7e6a6942f3d6182d39621384b17de63aa220db79e19c4eb713f17e77c10dfa8d497b9fe5cc833a5846f2a795bcf592ca0432560faaddf
7
+ data.tar.gz: c9237be4e65c3921626149ed8f4b8cd2a0d3a0d1681a1fb6821b802181e84b76d44f027017e428668df53654cdac44df46e829663fc0345b5299f5376d1ef5dd
data/README.rdoc CHANGED
@@ -1,7 +1,7 @@
1
1
  = EnjuCirculation
2
- {<img src="https://travis-ci.org/next-l/enju_circulation.png?branch=1.1" alt="Build Status" />}[https://travis-ci.org/next-l/enju_circulation]
3
- {<img src="https://coveralls.io/repos/next-l/enju_circulation/badge.png?branch=1.1" alt="Coverage Status" />}[https://coveralls.io/r/next-l/enju_circulation?branch=1.1]
4
- {<img src="https://hakiri.io/github/next-l/enju_circulation/1.1.svg" alt="security" />}[https://hakiri.io/github/next-l/enju_circulation/1.1]
2
+ {<img src="https://travis-ci.org/next-l/enju_circulation.svg?branch=1.2" alt="Build Status" />}[https://travis-ci.org/next-l/enju_circulation]
3
+ {<img src="https://coveralls.io/repos/next-l/enju_circulation/badge.svg?branch=1.2&service=github" alt="Coverage Status" />}[https://coveralls.io/github/next-l/enju_circulation?branch=1.2]
4
+ {<img src="https://hakiri.io/github/next-l/enju_circulation/1.2.svg" alt="security" />}[https://hakiri.io/github/next-l/enju_circulation/1.2]
5
5
 
6
6
  This project rocks and uses MIT-LICENSE.
7
7
 
@@ -1,12 +1,13 @@
1
1
  class CarrierTypeHasCheckoutTypesController < ApplicationController
2
- load_and_authorize_resource
3
- before_filter :get_checkout_type
4
- before_filter :prepare_options, only: [:new, :edit]
2
+ before_action :set_carrier_type_has_checkout_type, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ before_action :get_checkout_type
5
+ before_action :prepare_options, only: [:new, :edit]
5
6
 
6
7
  # GET /carrier_type_has_checkout_types
7
8
  # GET /carrier_type_has_checkout_types.json
8
9
  def index
9
- @carrier_type_has_checkout_types = CarrierTypeHasCheckoutType.all
10
+ @carrier_type_has_checkout_types = CarrierTypeHasCheckoutType.page(params[:page])
10
11
 
11
12
  respond_to do |format|
12
13
  format.html # index.html.erb
@@ -86,6 +87,15 @@ class CarrierTypeHasCheckoutTypesController < ApplicationController
86
87
  end
87
88
 
88
89
  private
90
+ def set_carrier_type_has_checkout_type
91
+ @carrier_type_has_checkout_type = CarrierTypeHasCheckoutType.find(params[:id])
92
+ authorize @carrier_type_has_checkout_type
93
+ end
94
+
95
+ def check_policy
96
+ authorize CarrierTypeHasCheckoutType
97
+ end
98
+
89
99
  def carrier_type_has_checkout_type_params
90
100
  params.require(:carrier_type_has_checkout_type).permit(
91
101
  :carrier_type_id, :checkout_type_id, :note
@@ -1,6 +1,7 @@
1
1
  class CheckedItemsController < ApplicationController
2
- load_and_authorize_resource
3
- before_filter :get_basket, only: [:index, :new, :create, :update]
2
+ before_action :set_checked_item, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ before_action :get_basket, only: [:index, :new, :create, :update]
4
5
 
5
6
  # GET /checked_items
6
7
  # GET /checked_items.json
@@ -54,6 +55,7 @@ class CheckedItemsController < ApplicationController
54
55
  unless @basket
55
56
  access_denied; return
56
57
  end
58
+ @checked_item = CheckedItem.new(checked_item_params)
57
59
  @checked_item.basket = @basket
58
60
  @checked_item.librarian = current_user
59
61
 
@@ -109,6 +111,15 @@ class CheckedItemsController < ApplicationController
109
111
  end
110
112
 
111
113
  private
114
+ def set_checked_item
115
+ @checked_item = CheckedItem.find(params[:id])
116
+ authorize @checked_item
117
+ end
118
+
119
+ def check_policy
120
+ authorize CheckedItem
121
+ end
122
+
112
123
  def checked_item_params
113
124
  params.fetch(:checked_item, {}).permit(
114
125
  :item_identifier, :ignore_restriction, :due_date_string
@@ -1,7 +1,7 @@
1
1
  class CheckinsController < ApplicationController
2
- load_and_authorize_resource except: :index
3
- authorize_resource only: :index
4
- before_filter :get_basket, only: [:index, :create]
2
+ before_action :set_checkin, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ before_action :get_basket, only: [:index, :create]
5
5
 
6
6
  # GET /checkins
7
7
  # GET /checkins.json
@@ -61,6 +61,7 @@ class CheckinsController < ApplicationController
61
61
  unless @basket
62
62
  access_denied; return
63
63
  end
64
+ @checkin = Checkin.new(checkin_params)
64
65
  @checkin.basket = @basket
65
66
  @checkin.librarian = current_user
66
67
 
@@ -117,6 +118,15 @@ class CheckinsController < ApplicationController
117
118
  end
118
119
 
119
120
  private
121
+ def set_checkin
122
+ @checkin = Checkin.find(params[:id])
123
+ authorize @checkin
124
+ end
125
+
126
+ def check_policy
127
+ authorize Checkin
128
+ end
129
+
120
130
  def checkin_params
121
131
  params.require(:checkin).permit(:item_identifier)
122
132
  end
@@ -1,6 +1,7 @@
1
1
  class CheckoutTypesController < ApplicationController
2
- load_and_authorize_resource
3
- before_filter :get_user_group
2
+ before_action :set_checkout_type, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ before_action :get_user_group
4
5
 
5
6
  # GET /checkout_types
6
7
  # GET /checkout_types.json
@@ -103,6 +104,15 @@ class CheckoutTypesController < ApplicationController
103
104
  end
104
105
 
105
106
  private
107
+ def set_checkout_type
108
+ @checkout_type = CheckoutType.find(params[:id])
109
+ authorize @checkout_type
110
+ end
111
+
112
+ def check_policy
113
+ authorize CheckoutType
114
+ end
115
+
106
116
  def checkout_type_params
107
117
  params.require(:checkout_type).permit(:name, :display_name, :note)
108
118
  end
@@ -1,10 +1,9 @@
1
1
  class CheckoutsController < ApplicationController
2
- before_filter :store_location, only: :index
3
- load_and_authorize_resource except: [:index, :remove_all]
4
- authorize_resource only: [:index, :remove_all]
5
- before_filter :get_user, only: [:index, :remove_all]
6
- before_filter :get_item, only: :index
7
- after_filter :convert_charset, only: :index
2
+ before_action :set_checkout, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create, :remove_all]
4
+ before_action :get_user, only: [:index, :remove_all]
5
+ before_action :get_item, only: :index
6
+ after_action :convert_charset, only: :index
8
7
 
9
8
  # GET /checkouts
10
9
  # GET /checkouts.json
@@ -23,7 +22,7 @@ class CheckoutsController < ApplicationController
23
22
  end
24
23
 
25
24
  if params[:format] == 'txt'
26
- per_page = 65534
25
+ per_page = 500
27
26
  else
28
27
  per_page = Checkout.default_per_page
29
28
  end
@@ -56,25 +55,16 @@ class CheckoutsController < ApplicationController
56
55
  end
57
56
  end
58
57
 
59
- if current_user.try(:has_role?, 'Librarian')
60
- if @item
61
- item = @item
62
- search.build do
63
- with(:item_identifier).equal_to item.item_identifier
64
- end
65
- end
66
- else
67
- if @item
68
- access_denied; return
58
+ if @item
59
+ item = @item
60
+ search.build do
61
+ with(:item_identifier).equal_to item.item_identifier
69
62
  end
70
63
  end
71
64
 
72
- if params[:view] == 'overdue'
73
- if params[:days_overdue]
74
- date = params[:days_overdue].to_i.days.ago.beginning_of_day
75
- else
76
- date = 1.days.ago.beginning_of_day
77
- end
65
+ if params[:days_overdue].present?
66
+ days_overdue = params[:days_overdue].to_i
67
+ date = days_overdue.days.ago.beginning_of_day
78
68
  search.build do
79
69
  with(:due_date).less_than date
80
70
  with(:checked_in_at).equal_to nil
@@ -97,12 +87,14 @@ class CheckoutsController < ApplicationController
97
87
  facet :reserved
98
88
  end
99
89
  page = params[:page] || 1
100
- search.query.paginate(page.to_i, Checkout.default_per_page)
90
+ unless params[:format].to_s.downcase == 'txt'
91
+ search.query.paginate(page.to_i, Checkout.default_per_page)
92
+ end
101
93
  @checkouts = search.execute!.results
102
94
  @checkouts_facet = search.facet(:reserved).rows
103
95
  end
104
96
 
105
- @days_overdue = params[:days_overdue] ||= 1
97
+ @days_overdue = days_overdue if days_overdue
106
98
 
107
99
  respond_to do |format|
108
100
  format.html # index.html.erb
@@ -177,6 +169,15 @@ class CheckoutsController < ApplicationController
177
169
  end
178
170
 
179
171
  private
172
+ def set_checkout
173
+ @checkout = Checkout.find(params[:id])
174
+ authorize @checkout
175
+ end
176
+
177
+ def check_policy
178
+ authorize Checkout
179
+ end
180
+
180
181
  def checkout_params
181
182
  params.fetch(:checkout, {}).permit(:due_date)
182
183
  end
@@ -1,5 +1,6 @@
1
1
  class CirculationStatusesController < ApplicationController
2
- load_and_authorize_resource
2
+ before_action :set_circulation_status, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
3
4
 
4
5
  # GET /circulation_statuses
5
6
  # GET /circulation_statuses.json
@@ -83,6 +84,15 @@ class CirculationStatusesController < ApplicationController
83
84
  end
84
85
 
85
86
  private
87
+ def set_circulation_status
88
+ @circulation_status = CirculationStatus.find(params[:id])
89
+ authorize @circulation_status
90
+ end
91
+
92
+ def check_policy
93
+ authorize CirculationStatus
94
+ end
95
+
86
96
  def circulation_status_params
87
97
  params.require(:circulation_status).permit(:name, :display_name, :note)
88
98
  end
@@ -0,0 +1,12 @@
1
+ module EnjuCirculation
2
+ module Controller
3
+ extend ActiveSupport::Concern
4
+
5
+ def get_checkout_type
6
+ if params[:checkout_type_id]
7
+ @checkout_type = CheckoutType.find(params[:checkout_type_id])
8
+ authorize @checkout_type, :show?
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,5 +1,6 @@
1
1
  class DemandsController < ApplicationController
2
- load_and_authorize_resource
2
+ before_action :set_demand, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
3
4
 
4
5
  # GET /demands
5
6
  # GET /demands.json
@@ -44,7 +45,7 @@ class DemandsController < ApplicationController
44
45
 
45
46
  respond_to do |format|
46
47
  if @demand.save
47
- format.html { redirect_to @demand, notice: t('statistic.successfully_created', model: t('activerecord.models.demand')) }
48
+ format.html { redirect_to @demand, notice: t('controller.successfully_created', model: t('activerecord.models.demand')) }
48
49
  format.json { render json: @demand, status: :created, location: @demand }
49
50
  else
50
51
  format.html { render action: "new" }
@@ -79,6 +80,15 @@ class DemandsController < ApplicationController
79
80
  end
80
81
 
81
82
  private
83
+ def set_demand
84
+ @demand = Demand.find(params[:id])
85
+ authorize @demand
86
+ end
87
+
88
+ def check_policy
89
+ authorize Demand
90
+ end
91
+
82
92
  def demand_params
83
93
  params.fetch(:demand, {}).permit()
84
94
  end
@@ -1,6 +1,7 @@
1
1
  class ItemHasUseRestrictionsController < ApplicationController
2
- load_and_authorize_resource
3
- before_filter :get_item
2
+ before_action :set_item_has_use_restriction, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ before_action :get_item
4
5
 
5
6
  # GET /item_has_use_restrictions
6
7
  # GET /item_has_use_restrictions.json
@@ -29,6 +30,7 @@ class ItemHasUseRestrictionsController < ApplicationController
29
30
  # GET /item_has_use_restrictions/new
30
31
  # GET /item_has_use_restrictions/new.json
31
32
  def new
33
+ @item_has_use_restriction = ItemHasUseRestriction.new
32
34
  @use_restrictions = UseRestriction.all
33
35
 
34
36
  respond_to do |format|
@@ -87,6 +89,15 @@ class ItemHasUseRestrictionsController < ApplicationController
87
89
  end
88
90
 
89
91
  private
92
+ def set_item_has_use_restriction
93
+ @item_has_use_restriction = ItemHasUseRestriction.find(params[:id])
94
+ authorize @item_has_use_restriction
95
+ end
96
+
97
+ def check_policy
98
+ authorize ItemHasUseRestriction
99
+ end
100
+
90
101
  def item_has_use_restriction_params
91
102
  params.require(:item_has_use_restriction).permit(
92
103
  :item_id, :use_restriction_id, :use_restriction
@@ -1,12 +1,17 @@
1
1
  class LendingPoliciesController < ApplicationController
2
- load_and_authorize_resource
3
- before_filter :get_user_group, :get_item
4
- before_filter :prepare_options, only: [:new, :edit]
2
+ before_action :set_lending_policy, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ before_action :get_user_group, :get_item
5
+ before_action :prepare_options, only: [:new, :edit]
5
6
 
6
7
  # GET /lending_policies
7
8
  # GET /lending_policies.json
8
9
  def index
9
- @lending_policies = LendingPolicy.page(params[:page])
10
+ if @item
11
+ @lending_policies = @item.lending_policies.page(params[:page])
12
+ else
13
+ @lending_policies = LendingPolicy.page(params[:page])
14
+ end
10
15
 
11
16
  respond_to do |format|
12
17
  format.html # index.html.erb
@@ -78,6 +83,15 @@ class LendingPoliciesController < ApplicationController
78
83
  end
79
84
 
80
85
  private
86
+ def set_lending_policy
87
+ @lending_policy = LendingPolicy.find(params[:id])
88
+ authorize @lending_policy
89
+ end
90
+
91
+ def check_policy
92
+ authorize LendingPolicy
93
+ end
94
+
81
95
  def lending_policy_params
82
96
  params.require(:lending_policy).permit(
83
97
  :item_id, :user_group_id, :loan_period, :fixed_due_date,
@@ -1,6 +1,7 @@
1
1
  class ManifestationCheckoutStatsController < ApplicationController
2
- load_and_authorize_resource
3
- after_filter :convert_charset, only: :show
2
+ before_action :set_manifestation_checkout_stat, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ after_action :convert_charset, only: :show
4
5
 
5
6
  # GET /manifestation_checkout_stats
6
7
  # GET /manifestation_checkout_stats.json
@@ -81,9 +82,7 @@ class ManifestationCheckoutStatsController < ApplicationController
81
82
 
82
83
  respond_to do |format|
83
84
  if @manifestation_checkout_stat.save
84
- @manifestation_checkout_stat.transition_to(:started)
85
- @manifestation_checkout_stat.transition_to!(:completed)
86
- #Resque.enqueue(ManifestationCheckoutStatQueue, @manifestation_checkout_stat.id)
85
+ ManifestationCheckoutStatJob.perform_later(@manifestation_checkout_stat)
87
86
  format.html { redirect_to @manifestation_checkout_stat, notice: t('controller.successfully_created', model: t('activerecord.models.manifestation_checkout_stat')) }
88
87
  format.json { render json: @manifestation_checkout_stat, status: :created, location: @manifestation_checkout_stat }
89
88
  else
@@ -99,7 +98,7 @@ class ManifestationCheckoutStatsController < ApplicationController
99
98
  respond_to do |format|
100
99
  if @manifestation_checkout_stat.update_attributes(manifestation_checkout_stat_params)
101
100
  if @manifestation_checkout_stat.mode == 'import'
102
- Resque.enqueue(ManifestationCheckoutStatQueue, @manifestation_checkout_stat.id)
101
+ ManifestationCheckoutStatJob.perform_later(@manifestation_checkout_stat)
103
102
  end
104
103
  format.html { redirect_to @manifestation_checkout_stat, notice: t('controller.successfully_updated', model: t('activerecord.models.manifestation_checkout_stat')) }
105
104
  format.json { head :no_content }
@@ -122,6 +121,15 @@ class ManifestationCheckoutStatsController < ApplicationController
122
121
  end
123
122
 
124
123
  private
124
+ def set_manifestation_checkout_stat
125
+ @manifestation_checkout_stat = ManifestationCheckoutStat.find(params[:id])
126
+ authorize @manifestation_checkout_stat
127
+ end
128
+
129
+ def check_policy
130
+ authorize ManifestationCheckoutStat
131
+ end
132
+
125
133
  def manifestation_checkout_stat_params
126
134
  params.require(:manifestation_checkout_stat).permit(
127
135
  :start_date, :end_date, :note, :mode
@@ -1,6 +1,8 @@
1
1
  class ManifestationReserveStatsController < ApplicationController
2
- load_and_authorize_resource
3
- after_filter :convert_charset, only: :show
2
+ before_action :set_manifestation_reserve_stat, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ after_action :convert_charset, only: :show
5
+ after_action :convert_charset, only: :show
4
6
 
5
7
  # GET /manifestation_reserve_stats
6
8
  # GET /manifestation_reserve_stats.json
@@ -53,7 +55,7 @@ class ManifestationReserveStatsController < ApplicationController
53
55
 
54
56
  respond_to do |format|
55
57
  if @manifestation_reserve_stat.save
56
- Resque.enqueue(ManifestationReserveStatQueue, @manifestation_reserve_stat.id)
58
+ ManifestationReserveStatJob.perform_later(@manifestation_reserve_stat)
57
59
  format.html { redirect_to @manifestation_reserve_stat, notice: t('statistic.successfully_created', model: t('activerecord.models.manifestation_reserve_stat')) }
58
60
  format.json { render json: @manifestation_reserve_stat, status: :created, location: @manifestation_reserve_stat }
59
61
  else
@@ -69,7 +71,7 @@ class ManifestationReserveStatsController < ApplicationController
69
71
  respond_to do |format|
70
72
  if @manifestation_reserve_stat.update_attributes(manifestation_reserve_stat_params)
71
73
  if @manifestation_reserve_stat.mode == 'import'
72
- Resque.enqueue(ManifestationReserveStatQueue, @manifestation_reserve_stat.id)
74
+ ManifestationReserveStatJob.perform_later(@manifestation_reserve_stat)
73
75
  end
74
76
  format.html { redirect_to @manifestation_reserve_stat, notice: t('controller.successfully_created', model: t('activerecord.models.manifestation_reserve_stat')) }
75
77
  format.json { head :no_content }
@@ -92,6 +94,15 @@ class ManifestationReserveStatsController < ApplicationController
92
94
  end
93
95
 
94
96
  private
97
+ def set_manifestation_reserve_stat
98
+ @manifestation_reserve_stat = ManifestationReserveStat.find(params[:id])
99
+ authorize @manifestation_reserve_stat
100
+ end
101
+
102
+ def check_policy
103
+ authorize ManifestationReserveStat
104
+ end
105
+
95
106
  def manifestation_reserve_stat_params
96
107
  params.require(:manifestation_reserve_stat).permit(
97
108
  :start_date, :end_date, :note, :mode
@@ -1,14 +1,12 @@
1
- # -*- encoding: utf-8 -*-
2
1
  class ReservesController < ApplicationController
3
- before_filter :store_location, only: [:index, :new]
4
- load_and_authorize_resource except: :index
5
- authorize_resource only: :index
6
- before_filter :prepare_options, only: [:new, :edit]
7
- before_filter :get_user, only: [:index, :new]
8
- before_filter :store_page
2
+ before_action :set_reserve, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ before_action :prepare_options, only: [:new, :edit]
5
+ before_action :get_user, only: [:index, :new]
6
+ before_action :store_page
7
+ after_action :convert_charset, only: :index
9
8
  helper_method :get_manifestation
10
9
  helper_method :get_item
11
- after_filter :convert_charset, only: :index
12
10
 
13
11
  # GET /reserves
14
12
  # GET /reserves.json
@@ -136,8 +134,9 @@ class ReservesController < ApplicationController
136
134
  @reserve.user_number = current_user.profile.user_number
137
135
  end
138
136
 
139
- get_manifestation
137
+ @manifestation = Manifestation.where(id: params[:manifestation_id]).first
140
138
  if @manifestation
139
+ authorize @manifestation, :show?
141
140
  @reserve.manifestation = @manifestation
142
141
  if @reserve.user
143
142
  #@reserve.expired_at = @manifestation.reservation_expired_period(@reserve.user).days.from_now.end_of_day
@@ -250,6 +249,15 @@ class ReservesController < ApplicationController
250
249
  end
251
250
 
252
251
  private
252
+ def set_reserve
253
+ @reserve = Reserve.find(params[:id])
254
+ authorize @reserve
255
+ end
256
+
257
+ def check_policy
258
+ authorize Reserve
259
+ end
260
+
253
261
  def reserve_params
254
262
  if current_user.try(:has_role?, 'Librarian')
255
263
  params.fetch(:reserve, {}).permit(
@@ -1,5 +1,6 @@
1
1
  class UseRestrictionsController < ApplicationController
2
- load_and_authorize_resource
2
+ before_action :set_use_restriction, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
3
4
 
4
5
  # GET /use_restrictions
5
6
  # GET /use_restrictions.json
@@ -83,6 +84,15 @@ class UseRestrictionsController < ApplicationController
83
84
  end
84
85
 
85
86
  private
87
+ def set_use_restriction
88
+ @use_restriction = UseRestriction.find(params[:id])
89
+ authorize @use_restriction
90
+ end
91
+
92
+ def check_policy
93
+ authorize UseRestriction
94
+ end
95
+
86
96
  def use_restriction_params
87
97
  params.require(:use_restriction).permit(:name, :display_name, :note)
88
98
  end
@@ -1,6 +1,7 @@
1
1
  class UserCheckoutStatsController < ApplicationController
2
- load_and_authorize_resource
3
- after_filter :convert_charset, only: :show
2
+ before_action :set_user_checkout_stat, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ after_action :convert_charset, only: :show
4
5
 
5
6
  # GET /user_checkout_stats
6
7
  # GET /user_checkout_stats.json
@@ -53,7 +54,7 @@ class UserCheckoutStatsController < ApplicationController
53
54
 
54
55
  respond_to do |format|
55
56
  if @user_checkout_stat.save
56
- Resque.enqueue(UserCheckoutStatQueue, @user_checkout_stat.id)
57
+ UserCheckoutStatJob.perform_later(@user_checkout_stat)
57
58
  format.html { redirect_to @user_checkout_stat, notice: t('statistic.successfully_created', model: t('activerecord.models.user_checkout_stat')) }
58
59
  format.json { render json: @user_checkout_stat, status: :created, location: @user_checkout_stat }
59
60
  else
@@ -69,7 +70,7 @@ class UserCheckoutStatsController < ApplicationController
69
70
  respond_to do |format|
70
71
  if @user_checkout_stat.update_attributes(user_checkout_stat_params)
71
72
  if @user_checkout_stat.mode == 'import'
72
- Resque.enqueue(UserCheckoutStatQueue, @user_checkout_stat.id)
73
+ UserCheckoutStatJob.perform_later(@user_checkout_stat)
73
74
  end
74
75
  format.html { redirect_to @user_checkout_stat, notice: t('controller.successfully_updated', model: t('activerecord.models.user_checkout_stat')) }
75
76
  format.json { head :no_content }
@@ -92,6 +93,15 @@ class UserCheckoutStatsController < ApplicationController
92
93
  end
93
94
 
94
95
  private
96
+ def set_user_checkout_stat
97
+ @user_checkout_stat = UserCheckoutStat.find(params[:id])
98
+ authorize @user_checkout_stat
99
+ end
100
+
101
+ def check_policy
102
+ authorize UserCheckoutStat
103
+ end
104
+
95
105
  def user_checkout_stat_params
96
106
  params.require(:user_checkout_stat).permit(
97
107
  :start_date, :end_date, :note, :mode
@@ -1,7 +1,8 @@
1
1
  class UserGroupHasCheckoutTypesController < ApplicationController
2
- load_and_authorize_resource
2
+ before_action :set_user_group_has_checkout_type, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
3
4
  helper_method :get_user_group, :get_checkout_type
4
- before_filter :prepare_options, only: [:new, :edit]
5
+ before_action :prepare_options, only: [:new, :edit]
5
6
 
6
7
  # GET /user_group_has_checkout_types
7
8
  # GET /user_group_has_checkout_types.json
@@ -85,6 +86,15 @@ class UserGroupHasCheckoutTypesController < ApplicationController
85
86
  end
86
87
 
87
88
  private
89
+ def set_user_group_has_checkout_type
90
+ @user_group_has_checkout_type = UserGroupHasCheckoutType.find(params[:id])
91
+ authorize @user_group_has_checkout_type
92
+ end
93
+
94
+ def check_policy
95
+ authorize UserGroupHasCheckoutType
96
+ end
97
+
88
98
  def user_group_has_checkout_type_params
89
99
  params.require(:user_group_has_checkout_type).permit(
90
100
  :user_group_id, :checkout_type_id,
@@ -1,6 +1,7 @@
1
1
  class UserReserveStatsController < ApplicationController
2
- load_and_authorize_resource
3
- after_filter :convert_charset, only: :show
2
+ before_action :set_user_reserve_stat, only: [:show, :edit, :update, :destroy]
3
+ before_action :check_policy, only: [:index, :new, :create]
4
+ after_action :convert_charset, only: :show
4
5
 
5
6
  # GET /user_reserve_stats
6
7
  # GET /user_reserve_stats.json
@@ -53,7 +54,7 @@ class UserReserveStatsController < ApplicationController
53
54
 
54
55
  respond_to do |format|
55
56
  if @user_reserve_stat.save
56
- Resque.enqueue(UserReserveStatQueue, @user_reserve_stat.id)
57
+ UserReserveStatJob.perform_later(@user_reserve_stat)
57
58
  format.html { redirect_to @user_reserve_stat, notice: t('statistic.successfully_created', model: t('activerecord.models.user_reserve_stat')) }
58
59
  format.json { render json: @user_reserve_stat, status: :created, location: @user_reserve_stat }
59
60
  else
@@ -69,7 +70,7 @@ class UserReserveStatsController < ApplicationController
69
70
  respond_to do |format|
70
71
  if @user_reserve_stat.update_attributes(user_reserve_stat_params)
71
72
  if @user_reserve_stat.mode == 'import'
72
- Resque.enqueue(UserReserveStatQueue, @user_reserve_stat.id)
73
+ UserReserveStatJob.perform_later(@user_reserve_stat)
73
74
  end
74
75
  format.html { redirect_to @user_reserve_stat, notice: t('controller.successfully_updated', model: t('activerecord.models.user_reserve_stat')) }
75
76
  format.json { head :no_content }
@@ -92,6 +93,15 @@ class UserReserveStatsController < ApplicationController
92
93
  end
93
94
 
94
95
  private
96
+ def set_user_reserve_stat
97
+ @user_reserve_stat = UserReserveStat.find(params[:id])
98
+ authorize @user_reserve_stat
99
+ end
100
+
101
+ def check_policy
102
+ authorize UserReserveStat
103
+ end
104
+
95
105
  def user_reserve_stat_params
96
106
  params.require(:user_reserve_stat).permit(
97
107
  :start_date, :end_date, :note, :mode