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.
- checksums.yaml +4 -4
- data/README.rdoc +3 -3
- data/app/controllers/carrier_type_has_checkout_types_controller.rb +14 -4
- data/app/controllers/checked_items_controller.rb +13 -2
- data/app/controllers/checkins_controller.rb +13 -3
- data/app/controllers/checkout_types_controller.rb +12 -2
- data/app/controllers/checkouts_controller.rb +26 -25
- data/app/controllers/circulation_statuses_controller.rb +11 -1
- data/app/controllers/concerns/enju_circulation/controller.rb +12 -0
- data/app/controllers/demands_controller.rb +12 -2
- data/app/controllers/item_has_use_restrictions_controller.rb +13 -2
- data/app/controllers/lending_policies_controller.rb +18 -4
- data/app/controllers/manifestation_checkout_stats_controller.rb +14 -6
- data/app/controllers/manifestation_reserve_stats_controller.rb +15 -4
- data/app/controllers/reserves_controller.rb +17 -9
- data/app/controllers/use_restrictions_controller.rb +11 -1
- data/app/controllers/user_checkout_stats_controller.rb +14 -4
- data/app/controllers/user_group_has_checkout_types_controller.rb +12 -2
- data/app/controllers/user_reserve_stats_controller.rb +14 -4
- data/app/helpers/items_helper.rb +2 -2
- data/app/jobs/manifestation_checkout_stat_job.rb +7 -0
- data/app/jobs/manifestation_reserve_stat_job.rb +7 -0
- data/app/jobs/user_checkout_stat_job.rb +7 -0
- data/app/jobs/user_reserve_stat_job.rb +7 -0
- data/app/models/checked_item.rb +1 -1
- data/app/models/concerns/enju_circulation/enju_accept.rb +16 -0
- data/app/models/concerns/enju_circulation/enju_basket.rb +30 -0
- data/app/models/concerns/enju_circulation/enju_carrier_type.rb +11 -0
- data/app/models/concerns/enju_circulation/enju_item.rb +157 -0
- data/app/models/concerns/enju_circulation/enju_manifestation.rb +77 -0
- data/app/models/concerns/enju_circulation/enju_profile.rb +13 -0
- data/app/models/concerns/enju_circulation/enju_user.rb +50 -0
- data/app/models/concerns/enju_circulation/enju_user_group.rb +17 -0
- data/app/models/concerns/enju_circulation/enju_withdraw.rb +16 -0
- data/app/models/manifestation_checkout_stat_state_machine.rb +1 -1
- data/app/models/reserve.rb +7 -2
- data/app/policies/carrier_type_has_checkout_type_policy.rb +21 -0
- data/app/policies/checked_item_policy.rb +21 -0
- data/app/policies/checkin_policy.rb +21 -0
- data/app/policies/checkout_policy.rb +39 -0
- data/app/policies/checkout_type_policy.rb +23 -0
- data/app/policies/circulation_status_policy.rb +23 -0
- data/app/policies/demand_policy.rb +21 -0
- data/app/policies/item_has_use_restriction_policy.rb +21 -0
- data/app/policies/item_policy.rb +27 -0
- data/app/policies/lending_policy_policy.rb +21 -0
- data/app/policies/manifestation_checkout_stat_policy.rb +21 -0
- data/app/policies/manifestation_reserve_stat_policy.rb +21 -0
- data/app/policies/reserve_policy.rb +37 -0
- data/app/policies/use_restriction_policy.rb +23 -0
- data/app/policies/user_checkout_stat_policy.rb +21 -0
- data/app/policies/user_group_has_checkout_type_policy.rb +21 -0
- data/app/policies/user_reserve_stat_policy.rb +21 -0
- data/app/views/carrier_type_has_checkout_types/index.html.erb +3 -3
- data/app/views/carrier_type_has_checkout_types/show.html.erb +1 -1
- data/app/views/carrier_types/_carrier_type_has_checkout_type_fields.html.erb +5 -0
- data/app/views/carrier_types/_checkout_form.html.erb +2 -4
- data/app/views/checkout_types/index.html.erb +4 -4
- data/app/views/checkout_types/show.html.erb +2 -2
- data/app/views/checkouts/_index.html.erb +1 -1
- data/app/views/checkouts/_index_overdue.html.erb +4 -5
- data/app/views/checkouts/_index_user.html.erb +5 -5
- data/app/views/checkouts/_list.html.erb +2 -2
- data/app/views/checkouts/_reserved_facet.html.erb +2 -2
- data/app/views/checkouts/edit.html.erb +1 -1
- data/app/views/checkouts/index.html.erb +2 -2
- data/app/views/checkouts/index.rss.builder +2 -2
- data/app/views/checkouts/index.txt.erb +1 -1
- data/app/views/checkouts/show.html.erb +10 -6
- data/app/views/circulation_statuses/index.html.erb +4 -4
- data/app/views/circulation_statuses/show.html.erb +1 -1
- data/app/views/reserves/_state_facet.html.erb +2 -2
- data/app/views/reserves/index.html.erb +6 -4
- data/app/views/reserves/show.html.erb +1 -1
- data/app/views/use_restrictions/index.html.erb +4 -4
- data/app/views/use_restrictions/show.html.erb +1 -1
- data/app/views/user_group_has_checkout_types/index.html.erb +3 -3
- data/app/views/user_group_has_checkout_types/show.html.erb +1 -1
- data/app/views/user_groups/_checkout_form.html.erb +2 -16
- data/app/views/user_groups/_user_group_has_checkout_type_fields.html.erb +14 -0
- data/db/migrate/20160703184619_add_most_recent_to_reserve_transitions.rb +9 -0
- data/db/migrate/20160703184650_add_most_recent_to_manifestation_checkout_stat_transitions.rb +9 -0
- data/db/migrate/20160703184723_add_most_recent_to_manifestation_reserve_stat_transitions.rb +9 -0
- data/db/migrate/20160703184747_add_most_recent_to_user_checkout_stat_transitions.rb +9 -0
- data/db/migrate/20160703184805_add_most_recent_to_user_reserve_stat_transitions.rb +9 -0
- data/db/migrate/20160703190209_add_foreign_key_on_manifestation_id_to_reserve.rb +5 -0
- data/lib/enju_circulation/version.rb +1 -1
- data/lib/enju_circulation.rb +0 -20
- data/lib/generators/enju_circulation/setup/setup_generator.rb +16 -4
- data/lib/tasks/enju_circulation_tasks.rake +1 -1
- data/spec/controllers/carrier_type_has_checkout_types_controller_spec.rb +13 -13
- data/spec/controllers/checked_items_controller_spec.rb +6 -6
- data/spec/controllers/checkins_controller_spec.rb +6 -6
- data/spec/controllers/checkout_types_controller_spec.rb +11 -11
- data/spec/controllers/checkouts_controller_spec.rb +72 -71
- data/spec/controllers/circulation_statuses_controller_spec.rb +12 -12
- data/spec/controllers/item_has_use_restrictions_controller_spec.rb +11 -11
- data/spec/controllers/lending_policies_controller_spec.rb +14 -14
- data/spec/controllers/manifestation_checkout_stats_controller_spec.rb +6 -6
- data/spec/controllers/manifestation_reserve_stats_controller_spec.rb +6 -6
- data/spec/controllers/reserves_controller_spec.rb +5 -5
- data/spec/controllers/use_restrictions_controller_spec.rb +14 -14
- data/spec/controllers/user_checkout_stats_controller_spec.rb +8 -8
- data/spec/controllers/user_group_has_checkout_types_controller_spec.rb +11 -11
- data/spec/controllers/user_reserve_stats_controller_spec.rb +8 -8
- data/spec/dummy/app/assets/javascripts/application.js +1 -0
- data/spec/dummy/app/controllers/application_controller.rb +8 -4
- data/spec/dummy/app/models/user.rb +3 -5
- data/spec/dummy/config/application.rb +6 -37
- data/spec/dummy/config/environments/development.rb +22 -18
- data/spec/dummy/config/environments/production.rb +46 -34
- data/spec/dummy/config/environments/test.rb +19 -14
- data/spec/dummy/config/initializers/enju_leaf.rb +5 -0
- data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +13 -0
- data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +13 -0
- data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +9 -0
- data/spec/dummy/db/schema.rb +30 -2
- data/spec/fixtures/profiles.yml +1 -1
- data/spec/models/manifestation_checkout_stat_spec.rb +3 -4
- data/spec/models/manifestation_reserve_stat_spec.rb +1 -1
- data/spec/models/user_checkout_stat_spec.rb +1 -1
- data/spec/models/user_reserve_stat_spec.rb +1 -1
- data/spec/support/devise.rb +2 -2
- data/spec/views/checkout_types/index.html.erb_spec.rb +1 -0
- data/spec/views/checkout_types/show.html.erb_spec.rb +1 -0
- data/spec/views/checkouts/index.html.erb_spec.rb +1 -3
- data/spec/views/checkouts/show.html.erb_spec.rb +5 -4
- data/spec/views/profiles/show.html.erb_spec.rb +2 -1
- data/spec/views/reserves/index.html.erb_spec.rb +3 -0
- data/spec/views/use_restrictions/index.html.erb_spec.rb +1 -0
- data/spec/views/use_restrictions/show.html.erb_spec.rb +1 -0
- metadata +147 -38
- data/app/models/enju_circulation/ability.rb +0 -114
- data/app/views/circulation_statuses/show.mobile.erb +0 -24
- data/app/workers/manifestation_checkout_stat_queue.rb +0 -7
- data/app/workers/manifestation_reserve_stat_queue.rb +0 -7
- data/app/workers/user_checkout_stat_queue.rb +0 -7
- data/app/workers/user_reserve_stat_queue.rb +0 -7
- data/lib/enju_circulation/accept.rb +0 -23
- data/lib/enju_circulation/basket.rb +0 -37
- data/lib/enju_circulation/carrier_type.rb +0 -15
- data/lib/enju_circulation/controller.rb +0 -21
- data/lib/enju_circulation/item.rb +0 -166
- data/lib/enju_circulation/manifestation.rb +0 -84
- data/lib/enju_circulation/profile.rb +0 -23
- data/lib/enju_circulation/user.rb +0 -61
- data/lib/enju_circulation/user_group.rb +0 -21
- data/lib/enju_circulation/withdraw.rb +0 -23
- data/spec/dummy/app/models/ability.rb +0 -111
- data/spec/dummy/app/models/local_agent.rb +0 -13
- data/spec/dummy/config/application.yml +0 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76931b397c6efb20ca7b30e45790da3176301176
|
4
|
+
data.tar.gz: 6dc563892fd9c87b2a48c285e70d7147bf717e61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
3
|
-
{<img src="https://coveralls.io/repos/next-l/enju_circulation/badge.
|
4
|
-
{<img src="https://hakiri.io/github/next-l/enju_circulation/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
|
-
|
3
|
-
|
4
|
-
|
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.
|
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
|
-
|
3
|
-
|
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
|
-
|
3
|
-
|
4
|
-
|
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
|
-
|
3
|
-
|
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
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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 =
|
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
|
60
|
-
|
61
|
-
|
62
|
-
|
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[:
|
73
|
-
|
74
|
-
|
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
|
-
|
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 =
|
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
|
-
|
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
|
-
|
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('
|
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
|
-
|
3
|
-
|
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
|
-
|
3
|
-
|
4
|
-
|
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
|
-
@
|
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
|
-
|
3
|
-
|
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
|
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
|
-
|
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
|
-
|
3
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
3
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
3
|
-
|
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
|
-
|
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
|
-
|
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
|