enju_circulation 0.1.0.pre46 → 0.1.0.pre47
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/app/models/checked_item.rb +1 -3
- data/app/models/enju_circulation/ability.rb +4 -1
- data/app/models/reserve.rb +1 -4
- data/app/models/user_group_has_checkout_type.rb +5 -0
- data/app/views/checked_items/_list.html.erb +1 -1
- data/config/locales/translation_en.yml +3 -1
- data/config/locales/translation_ja.yml +3 -1
- data/lib/enju_circulation/item.rb +1 -1
- data/lib/enju_circulation/version.rb +1 -1
- data/spec/controllers/checked_items_controller_spec.rb +1 -1
- data/spec/fixtures/items.yml +1 -1
- data/spec/models/basket_spec.rb +12 -0
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42c4ad13fae4f036cd78c045f9eded59ff44a229
|
4
|
+
data.tar.gz: 6fd3afa71eb59716ed7dd801c6b1e07b754f8774
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac2e3cc83d35d247fdc12611241a0be61f05a0b98f58dc24bfff70182dd2f17c46cd80f390543d1971d3faf17d1912d1abf4fd7660ef1524c8fae9b7e47bbbd4
|
7
|
+
data.tar.gz: 0a0348e65018e54f84efa184cbdc417e17ff3884bedc622b683dcfc87fdc9b0ec1650ab72dec210ec575a0e79c3047254b39dd47410b96f6b1d4c882ae09cdfa
|
data/app/models/checked_item.rb
CHANGED
@@ -53,9 +53,7 @@ class CheckedItem < ActiveRecord::Base
|
|
53
53
|
end
|
54
54
|
|
55
55
|
if item.reserved?
|
56
|
-
|
57
|
-
item.manifestation.next_reservation.transition_to!(:completed)
|
58
|
-
else
|
56
|
+
unless item.manifestation.next_reservation.user == basket.user
|
59
57
|
errors[:base] << I18n.t('activerecord.errors.messages.checked_item.reserved_item_included')
|
60
58
|
end
|
61
59
|
end
|
@@ -18,7 +18,6 @@ module EnjuCirculation
|
|
18
18
|
Checkin,
|
19
19
|
CheckoutStatHasManifestation,
|
20
20
|
CheckoutStatHasUser,
|
21
|
-
CheckoutType,
|
22
21
|
Demand,
|
23
22
|
ItemHasUseRestriction,
|
24
23
|
ManifestationCheckoutStat,
|
@@ -30,6 +29,10 @@ module EnjuCirculation
|
|
30
29
|
UserGroupHasCheckoutType,
|
31
30
|
UserReserveStat
|
32
31
|
]
|
32
|
+
can [:read, :create, :update], CheckoutType
|
33
|
+
can [:destroy, :delete], CheckoutType do |checkout_type|
|
34
|
+
true if checkout_type.items.empty?
|
35
|
+
end
|
33
36
|
can [:read, :create, :update, :remove_all], Checkout
|
34
37
|
can [:destroy, :delete], Checkout do |checkout|
|
35
38
|
checkout.checkin
|
data/app/models/reserve.rb
CHANGED
@@ -320,10 +320,7 @@ class Reserve < ActiveRecord::Base
|
|
320
320
|
# TODO: 「取り置き中」の状態を正しく表す
|
321
321
|
self.assign_attributes({request_status_type: RequestStatusType.where(name: 'In Process').first, retained_at: Time.zone.now})
|
322
322
|
Reserve.transaction do
|
323
|
-
|
324
|
-
reservation = item.next_reservation
|
325
|
-
reservation.transition_to!(:postponed)
|
326
|
-
end
|
323
|
+
item.next_reservation.try(:transition_to!, :postponed)
|
327
324
|
save!
|
328
325
|
end
|
329
326
|
end
|
@@ -8,6 +8,11 @@ class UserGroupHasCheckoutType < ActiveRecord::Base
|
|
8
8
|
validates_presence_of :user_group, :checkout_type
|
9
9
|
validates_associated :user_group, :checkout_type
|
10
10
|
validates_uniqueness_of :checkout_type_id, scope: :user_group_id
|
11
|
+
validates :checkout_limit, numericality: {only_integer: true, greater_than_or_equal_to: 0}
|
12
|
+
validates :checkout_period, numericality: {only_integer: true, greater_than_or_equal_to: 0}
|
13
|
+
validates :checkout_renewal_limit, numericality: {only_integer: true, greater_than_or_equal_to: 0}
|
14
|
+
validates :reservation_limit, numericality: {only_integer: true, greater_than_or_equal_to: 0}
|
15
|
+
validates :reservation_expired_period, numericality: {only_integer: true, greater_than_or_equal_to: 0}
|
11
16
|
after_update :update_lending_policy
|
12
17
|
|
13
18
|
acts_as_list scope: :user_group_id
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<%= form_for :checked_item, html: {method: :post}, url: checked_items_path(basket_id: @basket.id), remote: true do |f| -%>
|
5
5
|
<%= f.error_messages -%>
|
6
6
|
<p>
|
7
|
-
<%= f.label :item_identifier, t('activerecord.attributes.item.item_identifier') -%>: <%= f.search_field :item_identifier -%>
|
7
|
+
<%= f.label :item_identifier, t('activerecord.attributes.item.item_identifier') -%>: <%= f.search_field :item_identifier, class: 'resource_item_identifier' -%>
|
8
8
|
<%= f.submit t('page.read'), 'data-disable-with' => t('page.saving') -%><br />
|
9
9
|
<%= f.label :due_date %>
|
10
10
|
<%= f.text_field :due_date_string, class: 'datepicker' %>
|
@@ -188,7 +188,7 @@ en:
|
|
188
188
|
postponed: "Postponed"
|
189
189
|
completed: "Completed"
|
190
190
|
reserved_from: "From"
|
191
|
-
|
191
|
+
reserved_until: "Until"
|
192
192
|
attempt_to_update_retained_reservation: "You are attemping to update a retained reservation."
|
193
193
|
bibliographic_detail: "Bibliographic details"
|
194
194
|
page:
|
@@ -200,3 +200,5 @@ en:
|
|
200
200
|
by_carrier_type: By carrier type
|
201
201
|
by_checkout_type: By checkout type
|
202
202
|
by_manifestation: By manifestation
|
203
|
+
manifestation:
|
204
|
+
currently_checked_out: Currently checked out
|
@@ -186,7 +186,7 @@ ja:
|
|
186
186
|
postponed: "取置延期"
|
187
187
|
completed: "貸出済み"
|
188
188
|
reserved_from: ""
|
189
|
-
|
189
|
+
reserved_until: "から"
|
190
190
|
attempt_to_update_retained_reservation: "取り置き済みの予約を変更しようとしています。"
|
191
191
|
bibliographic_detail: "書誌詳細"
|
192
192
|
page:
|
@@ -198,3 +198,5 @@ ja:
|
|
198
198
|
by_carrier_type: 資料の形態別
|
199
199
|
by_checkout_type: 貸出区分別
|
200
200
|
by_manifestation: 書誌別
|
201
|
+
manifestation:
|
202
|
+
currently_checked_out: 貸出中
|
@@ -93,7 +93,7 @@ module EnjuCirculation
|
|
93
93
|
self.circulation_status = CirculationStatus.where(name: 'On Loan').first
|
94
94
|
if reserved_by_user?(user)
|
95
95
|
manifestation.next_reservation.update_attributes(checked_out_at: Time.zone.now)
|
96
|
-
manifestation.next_reservation.
|
96
|
+
manifestation.next_reservation.transition_to!(:completed)
|
97
97
|
end
|
98
98
|
save!
|
99
99
|
end
|
@@ -233,7 +233,7 @@ describe CheckedItemsController do
|
|
233
233
|
old_count = items(:item_00021).manifestation.reserves.waiting.count
|
234
234
|
post :create, :checked_item => {item_identifier: '00021'} , :basket_id => 11
|
235
235
|
assigns(:checked_item).should be_valid
|
236
|
-
assigns(:checked_item).item.manifestation.reserves.waiting.count.should eq old_count
|
236
|
+
assigns(:checked_item).item.manifestation.reserves.waiting.count.should eq old_count
|
237
237
|
assigns(:checked_item).librarian.should eq users(:admin)
|
238
238
|
end
|
239
239
|
end
|
data/spec/fixtures/items.yml
CHANGED
data/spec/models/basket_spec.rb
CHANGED
@@ -39,6 +39,18 @@ describe Basket do
|
|
39
39
|
lambda{basket_2.basket_checkout(users(:librarian1))}.should raise_exception ActiveRecord::RecordInvalid
|
40
40
|
items(:item_00011).checkouts.order('id DESC').first.user.should eq users(:admin)
|
41
41
|
end
|
42
|
+
|
43
|
+
it "should change reservation status" do
|
44
|
+
basket = Basket.new
|
45
|
+
basket.user = users(:librarian2)
|
46
|
+
basket.save
|
47
|
+
checked_item = basket.checked_items.new
|
48
|
+
checked_item.item = items(:item_00023)
|
49
|
+
checked_item.save
|
50
|
+
checked_item.item.circulation_status.name.should eq 'Available On Shelf'
|
51
|
+
basket.basket_checkout(users(:librarian1))
|
52
|
+
checked_item.item.circulation_status.name.should eq 'On Loan'
|
53
|
+
end
|
42
54
|
end
|
43
55
|
|
44
56
|
# == Schema Information
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enju_circulation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.
|
4
|
+
version: 0.1.0.pre47
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kosuke Tanabe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: enju_biblio
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.0.
|
19
|
+
version: 0.1.0.pre67
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.0.
|
26
|
+
version: 0.1.0.pre67
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: enju_library
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1.0.
|
33
|
+
version: 0.1.0.pre42
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1.0.
|
40
|
+
version: 0.1.0.pre42
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: enju_message
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.1.14.
|
47
|
+
version: 0.1.14.pre25
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.1.14.
|
54
|
+
version: 0.1.14.pre25
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: enju_event
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -828,7 +828,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
828
828
|
version: 1.3.1
|
829
829
|
requirements: []
|
830
830
|
rubyforge_project:
|
831
|
-
rubygems_version: 2.4.5
|
831
|
+
rubygems_version: 2.4.5.1
|
832
832
|
signing_key:
|
833
833
|
specification_version: 4
|
834
834
|
summary: enju_circulation plugin
|