enju_circulation 0.1.0.pre46 → 0.1.0.pre47

Sign up to get free protection for your applications and to get access to all the features.
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