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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dbac65337fbd0c74d751430f251d7943ef5bb033
4
- data.tar.gz: 2a6dc125d89d8211aeb4894b01ced7e2bda78dc2
3
+ metadata.gz: 42c4ad13fae4f036cd78c045f9eded59ff44a229
4
+ data.tar.gz: 6fd3afa71eb59716ed7dd801c6b1e07b754f8774
5
5
  SHA512:
6
- metadata.gz: fc45fed8e102b392090e5127beba9375054da1dca6aaef35001a84be3bddb5f05d08ef76a7913695618b98d2f52fb53df167fd5f6ea204d9d6b1b137b3b82dd2
7
- data.tar.gz: ce5d0588de1a7e09995298206cf78fecd29fd78deac88c0e3f0d3fca41de3e1026abe58ee9363e46491a944b2493bc0bdecd67e36eab152a850e4f65781a4a5f
6
+ metadata.gz: ac2e3cc83d35d247fdc12611241a0be61f05a0b98f58dc24bfff70182dd2f17c46cd80f390543d1971d3faf17d1912d1abf4fd7660ef1524c8fae9b7e47bbbd4
7
+ data.tar.gz: 0a0348e65018e54f84efa184cbdc417e17ff3884bedc622b683dcfc87fdc9b0ec1650ab72dec210ec575a0e79c3047254b39dd47410b96f6b1d4c882ae09cdfa
@@ -53,9 +53,7 @@ class CheckedItem < ActiveRecord::Base
53
53
  end
54
54
 
55
55
  if item.reserved?
56
- if item.manifestation.next_reservation.user == basket.user
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
@@ -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
- if item.try(:next_reservation)
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
- reserved_to: "To"
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
- reserved_to: "から"
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.sm_complete!
96
+ manifestation.next_reservation.transition_to!(:completed)
97
97
  end
98
98
  save!
99
99
  end
@@ -1,3 +1,3 @@
1
1
  module EnjuCirculation
2
- VERSION = "0.1.0.pre46"
2
+ VERSION = "0.1.0.pre47"
3
3
  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 - 1
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
@@ -244,7 +244,7 @@ item_00022:
244
244
  item_00023:
245
245
  updated_at: 2007-08-24 23:46:20.484813 +09:00
246
246
  item_identifier: '00023'
247
- circulation_status_id: 15
247
+ circulation_status_id: 2
248
248
  checkout_type_id: 3
249
249
  shelf_id: 2
250
250
  call_number:
@@ -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.pre46
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-06-28 00:00:00.000000000 Z
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.pre66
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.pre66
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.pre41
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.pre41
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.pre24
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.pre24
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