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.
- 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
|