enju_circulation 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 (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