enju_circulation 0.3.6 → 0.3.7

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
  SHA256:
3
- metadata.gz: d49cd3e266a1dfe580a83e9b82e41b4581cda8a3ec7d726c29821e855f635740
4
- data.tar.gz: 064d69bb9eabbd9beb87d731adcd0a9ff054bcb21cb2d4ae50ca5a56dffc8761
3
+ metadata.gz: ec0186b540696a095318784c23672ed230f8185e2c0d52f365e4695ef4a657da
4
+ data.tar.gz: a2f541396204e0fedfb66286073ae7692d115139cc2158b60d675e690ec0b64b
5
5
  SHA512:
6
- metadata.gz: a19ae780a2148b722c51b29d9406775525ccaffcb303d15a6789f8bdcd42563c4e3d4adacd8c9ebebf248db187e619219c271a5a5a7135ea3b0bfc9e7bbd1afd
7
- data.tar.gz: cd2fa9b9572b89b8a71bf83daa872592914834e7883d7412584c18202063e7e4d4835685d87fcc1b9ba4467622de0f484041e25971081f462e93bf0574508e27
6
+ metadata.gz: a6b679339032cac9d2e882dda4a3f07e0a13b4ed14d5dcbca2ce33c4fbeb11ab6f55ceb35cfb5e96f6d937659ad5ddb9df01b733cbad4c22561d1d13d8dbc45c
7
+ data.tar.gz: 252a3d9f72f818c3923f03b8a7df79c7892afea7453ad173139549a4b83da9991a5fb2063476817a244de68084f93cfe084c5d902b3aa1f3f0e06e667d28fd7f
@@ -35,13 +35,14 @@ module EnjuCirculation
35
35
  has_many :reserves
36
36
  has_many :checked_items
37
37
  has_many :baskets, through: :checked_items
38
- belongs_to :circulation_status, validate: true
38
+ belongs_to :circulation_status
39
39
  belongs_to :checkout_type
40
40
  has_many :lending_policies, dependent: :destroy
41
41
  has_one :item_has_use_restriction, dependent: :destroy
42
42
  has_one :use_restriction, through: :item_has_use_restriction
43
- validates_associated :circulation_status, :checkout_type
44
43
  validates :circulation_status, :checkout_type, presence: true
44
+ validate :check_circulation_status
45
+
45
46
  searchable do
46
47
  string :circulation_status do
47
48
  circulation_status.name
@@ -56,6 +57,14 @@ module EnjuCirculation
56
57
  self.circulation_status = CirculationStatus.find_by(name: 'In Process') if circulation_status.nil?
57
58
  end
58
59
 
60
+ def check_circulation_status
61
+ #circulation_status.name_will_change!
62
+ #return unless circulation_status.name_change.first == 'Removed'
63
+ return unless circulation_status.name == 'Removed'
64
+ errors[:base] << I18n.t('activerecord.errors.models.item.attributes.circulation_status_id.is_rented') if rented?
65
+ errors[:base] << I18n.t('activerecord.errors.models.item.attributes.circulation_status_id.is_reserved') if reserved?
66
+ end
67
+
59
68
  def checkout_status(user)
60
69
  return nil unless user
61
70
  user.profile.user_group.user_group_has_checkout_types.find_by(checkout_type_id: checkout_type.id)
@@ -71,6 +80,10 @@ module EnjuCirculation
71
80
  false
72
81
  end
73
82
 
83
+ def rented?
84
+ rent?
85
+ end
86
+
74
87
  def reserved_by_user?(user)
75
88
  if manifestation.next_reservation
76
89
  return true if manifestation.next_reservation.user == user
@@ -3,7 +3,8 @@ module EnjuCirculation
3
3
  extend ActiveSupport::Concern
4
4
 
5
5
  included do
6
- before_save :withdraw!, on: :create
6
+ before_create :withdraw!
7
+ validate :check_item
7
8
  end
8
9
 
9
10
  def withdraw!
@@ -12,5 +13,10 @@ module EnjuCirculation
12
13
  item.use_restriction = UseRestriction.where(name: 'Not For Loan').first
13
14
  item.index!
14
15
  end
16
+
17
+ def check_item
18
+ errors.add(:item_id, :is_rented) if item.try(:rent?)
19
+ errors.add(:item_id, :is_reserved) if item.try(:reserved?)
20
+ end
15
21
  end
16
22
  end
@@ -371,7 +371,7 @@ class Reserve < ApplicationRecord
371
371
  end
372
372
 
373
373
  def manifestation_must_include_item
374
- if item_id.present? && !completed?
374
+ if manifestation && item && !completed?
375
375
  errors[:base] << I18n.t('reserve.invalid_item') unless manifestation.items.include?(item)
376
376
  end
377
377
  end
@@ -24,6 +24,13 @@
24
24
  <%= link_to checkout.shelf.display_name.localize, checkout.shelf %>
25
25
  (<%= link_to checkout.shelf.library.display_name.localize, checkout.shelf.library %>)
26
26
  <% end %>
27
+ <% if checkout.item.manifestation.next_reservation %>
28
+ <br />
29
+ (<%= link_to_if(current_user.has_role?('Librarian'),
30
+ t('page.number_of_reservations',
31
+ count: Reserve.waiting.where(manifestation_id: checkout.item.manifestation.id, checked_out_at: nil).count),
32
+ reserves_path(query: "manifestation_id_i:#{checkout.item.manifestation.id}")) -%>)
33
+ <% end %>
27
34
  </td>
28
35
  <td>
29
36
  <%= l(checkout.due_date, format: :only_date) -%>
@@ -125,6 +125,18 @@ en:
125
125
  profile:
126
126
  checkout_icalendar_token: Checkout iCalendar token
127
127
  save_checkout_history: Save checkout history
128
+ errors:
129
+ models:
130
+ item:
131
+ attributes:
132
+ circulation_status_id:
133
+ is_rented: Circulation status is invalid. This item is rented.
134
+ is_reserved: Circulation status is invalid. This item is reserved.
135
+ withdraw:
136
+ attributes:
137
+ item_id:
138
+ is_rented: is rented.
139
+ is_reserved: is reserved.
128
140
 
129
141
  basket:
130
142
  this_account_is_suspended: "This account is suspended."
@@ -123,6 +123,18 @@ ja:
123
123
  profile:
124
124
  checkout_icalendar_token: 貸出iCalendarのトークン
125
125
  save_checkout_history: 貸出の履歴を保存する
126
+ errors:
127
+ models:
128
+ item:
129
+ attributes:
130
+ circulation_status_id:
131
+ is_rented: この貸出状態には変更できません。資料が貸し出されています。
132
+ is_reserved: この貸出状態には変更できません。資料が予約されています。
133
+ withdraw:
134
+ attributes:
135
+ item_id:
136
+ is_rented: は貸し出されています。
137
+ is_reserved: は予約されています。
126
138
 
127
139
  basket:
128
140
  this_account_is_suspended: "このアカウントは停止されています。"
@@ -1,8 +1,8 @@
1
1
  class AddNumberOfDayToNotifyOverdueToUserGroup < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
- add_column :user_groups, :number_of_day_to_notify_overdue, :integer, default: 7, null: false
4
- add_column :user_groups, :number_of_day_to_notify_due_date, :integer, default: 3, null: false
5
- add_column :user_groups, :number_of_time_to_notify_overdue, :integer, default: 3, null: false
3
+ add_column :user_groups, :number_of_day_to_notify_overdue, :integer, default: 0, null: false
4
+ add_column :user_groups, :number_of_day_to_notify_due_date, :integer, default: 0, null: false
5
+ add_column :user_groups, :number_of_time_to_notify_overdue, :integer, default: 0, null: false
6
6
  end
7
7
 
8
8
  def self.down
@@ -1,3 +1,3 @@
1
1
  module EnjuCirculation
2
- VERSION = "0.3.6"
2
+ VERSION = "0.3.7"
3
3
  end
@@ -32,5 +32,10 @@ ActiveSupport::Inflector.inflections do |inflect|
32
32
  inflect.irregular 'reserve', 'reserves'
33
33
  end
34
34
  EOS
35
+
36
+ UserGroup.order(created_at: :desc).first.update!(
37
+ number_of_day_to_notify_overdue: 7,
38
+ number_of_day_to_notify_due_date: 3
39
+ )
35
40
  end
36
41
  end
@@ -44,6 +44,26 @@ describe ItemsController do
44
44
  end
45
45
  end
46
46
 
47
+ describe 'PUT update' do
48
+ describe 'When logged in as Administrator' do
49
+ login_fixture_admin
50
+
51
+ it 'should remove an item' do
52
+ item = FactoryBot.create(:item)
53
+ put :update, params: { id: item.id, item: {circulation_status_id: CirculationStatus.find_by(name: 'Removed').id } }
54
+ expect(assigns(:item).valid?).to be_truthy
55
+ expect(response).to redirect_to item_url(assigns(:item))
56
+ end
57
+
58
+ it 'should not remove a reserved item' do
59
+ item = FactoryBot.create(:reserve).item
60
+ put :update, params: { id: item.id, item: {circulation_status_id: CirculationStatus.find_by(name: 'Removed').id } }
61
+ expect(assigns(:item).valid?).to be_falsy
62
+ expect(response).to be_successful
63
+ end
64
+ end
65
+ end
66
+
47
67
  describe 'DELETE destroy' do
48
68
  describe 'When logged in as Administrator' do
49
69
  login_fixture_admin
@@ -0,0 +1,5 @@
1
+ class AddMemoToManifestation < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :manifestations, :memo, :text
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddMemoToItem < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :items, :memo, :text
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ class CreateCustomProperties < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :custom_properties do |t|
4
+ t.integer :resource_id, null: false
5
+ t.string :resource_type, null: false
6
+ t.text :label, null: false
7
+ t.text :value
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 2018_01_07_162048) do
13
+ ActiveRecord::Schema.define(version: 2019_12_19_122214) do
14
14
 
15
15
  create_table "accepts", force: :cascade do |t|
16
16
  t.integer "basket_id"
@@ -361,6 +361,15 @@ ActiveRecord::Schema.define(version: 2018_01_07_162048) do
361
361
  t.index ["work_id"], name: "index_creates_on_work_id"
362
362
  end
363
363
 
364
+ create_table "custom_properties", force: :cascade do |t|
365
+ t.integer "resource_id", null: false
366
+ t.string "resource_type", null: false
367
+ t.text "label", null: false
368
+ t.text "value"
369
+ t.datetime "created_at", null: false
370
+ t.datetime "updated_at", null: false
371
+ end
372
+
364
373
  create_table "demands", force: :cascade do |t|
365
374
  t.integer "user_id"
366
375
  t.integer "item_id"
@@ -575,6 +584,7 @@ ActiveRecord::Schema.define(version: 2018_01_07_162048) do
575
584
  t.string "binding_call_number"
576
585
  t.datetime "binded_at"
577
586
  t.integer "manifestation_id", null: false
587
+ t.text "memo"
578
588
  t.index ["binding_item_identifier"], name: "index_items_on_binding_item_identifier"
579
589
  t.index ["bookstore_id"], name: "index_items_on_bookstore_id"
580
590
  t.index ["checkout_type_id"], name: "index_items_on_checkout_type_id"
@@ -823,6 +833,7 @@ ActiveRecord::Schema.define(version: 2018_01_07_162048) do
823
833
  t.text "publication_place"
824
834
  t.text "extent"
825
835
  t.text "dimensions"
836
+ t.text "memo"
826
837
  t.index ["access_address"], name: "index_manifestations_on_access_address"
827
838
  t.index ["date_of_publication"], name: "index_manifestations_on_date_of_publication"
828
839
  t.index ["manifestation_identifier"], name: "index_manifestations_on_manifestation_identifier"
@@ -1343,9 +1354,9 @@ ActiveRecord::Schema.define(version: 2018_01_07_162048) do
1343
1354
  t.datetime "deleted_at"
1344
1355
  t.integer "valid_period_for_new_user", default: 0, null: false
1345
1356
  t.datetime "expired_at"
1346
- t.integer "number_of_day_to_notify_overdue", default: 7, null: false
1347
- t.integer "number_of_day_to_notify_due_date", default: 3, null: false
1348
- t.integer "number_of_time_to_notify_overdue", default: 3, null: false
1357
+ t.integer "number_of_day_to_notify_overdue", default: 0, null: false
1358
+ t.integer "number_of_day_to_notify_due_date", default: 0, null: false
1359
+ t.integer "number_of_time_to_notify_overdue", default: 0, null: false
1349
1360
  end
1350
1361
 
1351
1362
  create_table "user_has_roles", force: :cascade do |t|
@@ -3,9 +3,9 @@ FactoryBot.define do
3
3
  sequence(:item_identifier){|n| "item_#{n}"}
4
4
  circulation_status_id{CirculationStatus.find(1).id}
5
5
  manifestation_id{FactoryBot.create(:manifestation).id}
6
- bookstore { Bookstore.first }
7
- budget_type { BudgetType.first }
8
- after(:create) do |item|
6
+ after(:build) do |item|
7
+ bookstore = Bookstore.find(1)
8
+ budget_type = BudgetType.find(1)
9
9
  item.use_restriction = UseRestriction.find_by(name: 'Limited Circulation, Normal Loan Period')
10
10
  end
11
11
  end
@@ -6,6 +6,10 @@ FactoryBot.define do
6
6
  user.profile = profile
7
7
  reserve.user = user
8
8
  end
9
- manifestation_id{FactoryBot.create(:manifestation).id}
9
+ after(:build) do |reserve|
10
+ item = FactoryBot.create(:item, use_restriction: UseRestriction.find_by(name: 'Available On Shelf'))
11
+ reserve.manifestation = item.manifestation
12
+ reserve.item = item
13
+ end
10
14
  end
11
15
  end
@@ -0,0 +1,99 @@
1
+ ---
2
+ bookstore_00001:
3
+ name: unknown
4
+ fax_number:
5
+ updated_at: 2008-02-10 11:14:57.605329 +09:00
6
+ telephone_number:
7
+ id: 1
8
+ note: ""
9
+ address: ""
10
+ created_at: 2008-02-10 11:14:57.605329 +09:00
11
+ position: 1
12
+ bookstore_00002:
13
+ name: !binary |
14
+ 5a+E6LSI
15
+
16
+ fax_number: ""
17
+ updated_at: 2008-02-10 12:15:14.840711 +09:00
18
+ telephone_number: ""
19
+ id: 2
20
+ note: ""
21
+ address: ""
22
+ created_at: 2008-02-10 11:16:02.598844 +09:00
23
+ position: 2
24
+ bookstore_00003:
25
+ name: !binary |
26
+ 5pyJ6Zqj5aCC
27
+
28
+ fax_number: ""
29
+ updated_at: 2008-02-10 12:15:33.555463 +09:00
30
+ telephone_number: ""
31
+ id: 3
32
+ note: ""
33
+ address: ""
34
+ created_at: 2008-02-10 11:16:11.585284 +09:00
35
+ position: 3
36
+ bookstore_00004:
37
+ name: !binary |
38
+ 57SA5LyK5ZyL5bGL5pu45bqX
39
+
40
+ fax_number: ""
41
+ updated_at: 2008-02-10 12:16:07.726445 +09:00
42
+ telephone_number: ""
43
+ id: 4
44
+ note: ""
45
+ address: ""
46
+ created_at: 2008-02-10 11:16:22.565660 +09:00
47
+ position: 4
48
+ bookstore_00005:
49
+ name: !binary |
50
+ 5Li45ZaE
51
+
52
+ fax_number: ""
53
+ updated_at: 2008-02-10 12:16:17.990285 +09:00
54
+ telephone_number: ""
55
+ id: 5
56
+ note: ""
57
+ address: ""
58
+ created_at: 2008-02-10 12:15:44.923758 +09:00
59
+ position: 5
60
+ bookstore_00006:
61
+ name: !binary |
62
+ 5Zuz5pu46aSo5rWB6YCa44K744Oz44K/44O8
63
+
64
+ fax_number: ""
65
+ updated_at: 2008-02-10 12:16:25.906073 +09:00
66
+ telephone_number: ""
67
+ id: 6
68
+ note: ""
69
+ address: ""
70
+ created_at: 2008-02-10 12:15:54.558517 +09:00
71
+ position: 6
72
+ bookstore_00007:
73
+ name: Example store
74
+ fax_number: ""
75
+ updated_at: 2008-02-10 12:16:25.906073 +09:00
76
+ telephone_number: ""
77
+ id: 7
78
+ note: ""
79
+ address: ""
80
+ created_at: 2008-02-10 12:15:54.558517 +09:00
81
+ position: 7
82
+
83
+ # == Schema Information
84
+ #
85
+ # Table name: bookstores
86
+ #
87
+ # id :bigint not null, primary key
88
+ # name :text not null
89
+ # zip_code :string
90
+ # address :text
91
+ # note :text
92
+ # telephone_number :string
93
+ # fax_number :string
94
+ # url :string
95
+ # position :integer
96
+ # created_at :datetime not null
97
+ # updated_at :datetime not null
98
+ #
99
+
@@ -0,0 +1,30 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+
3
+ public_fund:
4
+ name: Public fund
5
+ display_name: {"en": "Public fund"}
6
+ note:
7
+ position: 1
8
+ id: 1
9
+
10
+ donation:
11
+ name: Donation
12
+ display_name: {"en": "Donation"}
13
+ note:
14
+ position: 2
15
+ id: 2
16
+
17
+ # == Schema Information
18
+ #
19
+ # Table name: budget_types
20
+ #
21
+ # id :bigint not null, primary key
22
+ # name :string
23
+ # display_name :text
24
+ # note :text
25
+ # position :integer
26
+ # created_at :datetime not null
27
+ # updated_at :datetime not null
28
+ # display_name_translations :jsonb not null
29
+ #
30
+
@@ -21,11 +21,11 @@ describe Manifestation do
21
21
  manifestation = FactoryBot.create(:manifestation)
22
22
  use_restriction = UseRestriction.find(1)
23
23
  item = FactoryBot.create(:item, manifestation: manifestation, use_restriction: use_restriction)
24
- lines = Manifestation.export(format: :txt, role: "Guest")
24
+ lines = Manifestation.export(role: "Guest")
25
25
  csv = CSV.parse(lines, headers: true, col_sep: "\t")
26
26
  expect(csv["use_restriction"].compact).to be_empty
27
27
 
28
- lines = Manifestation.export(format: :txt, role: "Administrator")
28
+ lines = Manifestation.export(role: "Administrator")
29
29
  csv = CSV.parse(lines, headers: true, col_sep: "\t")
30
30
  expect(csv["use_restriction"].compact).not_to be_empty
31
31
  end
@@ -5,20 +5,22 @@ RSpec.describe Withdraw, type: :model do
5
5
 
6
6
  it "should change circulation_status" do
7
7
  withdraw = FactoryBot.create(:withdraw)
8
- withdraw.item.circulation_status.name.should eq 'Removed'
9
- withdraw.item.use_restriction.name.should eq 'Not For Loan'
8
+ expect(withdraw.item.circulation_status.name).to eq 'Removed'
9
+ expect(withdraw.item.use_restriction.name).to eq 'Not For Loan'
10
10
  end
11
11
 
12
12
  it "should not withdraw rented item" do
13
13
  withdraw = Withdraw.new(librarian: users(:librarian1))
14
14
  withdraw.item = items(:item_00013)
15
- withdraw.valid?.should be_falsy
15
+ expect(withdraw.valid?).to be_falsy
16
+ expect(withdraw.errors.messages[:item_id]).to include('is rented.')
16
17
  end
17
18
 
18
19
  it "should not withdraw reserved item" do
19
20
  reserve = FactoryBot.create(:reserve)
20
21
  withdraw = FactoryBot.build(:withdraw, item: reserve.manifestation.items.first)
21
- withdraw.valid?.should be_falsy
22
+ expect(withdraw.valid?).to be_falsy
23
+ expect(withdraw.errors.messages[:item_id]).to include('is reserved.')
22
24
  end
23
25
  end
24
26
 
@@ -8,8 +8,7 @@ describe ManifestationPolicy do
8
8
  end
9
9
 
10
10
  it "not grants destroy if it is reserved" do
11
- record = FactoryBot.create(:manifestation)
12
- reserve = FactoryBot.create(:reserve, manifestation_id: record.id)
11
+ record = FactoryBot.create(:reserve).manifestation
13
12
  expect(subject).not_to permit(@admin, record)
14
13
  end
15
14
  end
@@ -7,7 +7,7 @@ Coveralls.wear!
7
7
  ENV["RAILS_ENV"] ||= 'test'
8
8
  require File.expand_path("../dummy/config/environment", __FILE__)
9
9
  require 'rspec/rails'
10
- require 'factory_bot'
10
+ require 'factory_bot_rails'
11
11
  require 'rspec/active_model/mocks'
12
12
  require "capybara/rspec"
13
13
  require "pundit/rspec"
@@ -44,6 +44,3 @@ RSpec.configure do |config|
44
44
  end
45
45
  end
46
46
  end
47
-
48
- FactoryBot.definition_file_paths << "#{::Rails.root}/../../spec/factories"
49
- FactoryBot.find_definitions
@@ -0,0 +1,21 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe 'Checkouts', type: :system do
4
+ include Devise::Test::IntegrationHelpers
5
+ fixtures :all
6
+
7
+ before(:each) do
8
+ CarrierType.find_by(name: 'volume').update(attachment: File.open("#{Rails.root.to_s}/app/assets/images/icons/book.png"))
9
+ end
10
+
11
+ describe 'When logged in as Librarian' do
12
+ it 'should not set "Removed" as circulation status if the item is reserved' do
13
+ item = FactoryBot.create(:reserve).item
14
+ sign_in users(:librarian1)
15
+ visit edit_item_path(item)
16
+ select('除籍済み', from: 'item_circulation_status_id')
17
+ click_button('更新する')
18
+ expect(page).to have_content 'この貸出状態には変更できません。資料が予約されています。'
19
+ end
20
+ end
21
+ end
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.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kosuke Tanabe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-18 00:00:00.000000000 Z
11
+ date: 2019-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: enju_biblio
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.5
19
+ version: 0.3.7
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.3.5
26
+ version: 0.3.7
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: enju_manifestation_viewer
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -61,7 +61,7 @@ dependencies:
61
61
  version: '3.11'
62
62
  - - "<"
63
63
  - !ruby/object:Gem::Version
64
- version: '3.16'
64
+ version: '3.27'
65
65
  type: :development
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
@@ -71,7 +71,7 @@ dependencies:
71
71
  version: '3.11'
72
72
  - - "<"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.16'
74
+ version: '3.27'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: coveralls
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -282,6 +282,20 @@ dependencies:
282
282
  - - "~>"
283
283
  - !ruby/object:Gem::Version
284
284
  version: '5.2'
285
+ - !ruby/object:Gem::Dependency
286
+ name: sprockets
287
+ requirement: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - "~>"
290
+ - !ruby/object:Gem::Version
291
+ version: '3.7'
292
+ type: :development
293
+ prerelease: false
294
+ version_requirements: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - "~>"
297
+ - !ruby/object:Gem::Version
298
+ version: '3.7'
285
299
  description: Circulation management for Next-L Enju
286
300
  email:
287
301
  - nabeta@fastmail.fm
@@ -820,6 +834,9 @@ files:
820
834
  - spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb
821
835
  - spec/dummy/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb
822
836
  - spec/dummy/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb
837
+ - spec/dummy/db/migrate/20190818075603_add_memo_to_manifestation.rb
838
+ - spec/dummy/db/migrate/20190818075628_add_memo_to_item.rb
839
+ - spec/dummy/db/migrate/20191219122214_create_custom_properties.rb
823
840
  - spec/dummy/db/schema.rb
824
841
  - spec/dummy/public/404.html
825
842
  - spec/dummy/public/422.html
@@ -858,6 +875,8 @@ files:
858
875
  - spec/fixtures/agent_types.yml
859
876
  - spec/fixtures/agents.yml
860
877
  - spec/fixtures/baskets.yml
878
+ - spec/fixtures/bookstores.yml
879
+ - spec/fixtures/budget_types.yml
861
880
  - spec/fixtures/carrier_type_has_checkout_types.yml
862
881
  - spec/fixtures/carrier_types.yml
863
882
  - spec/fixtures/checked_items.yml
@@ -934,6 +953,7 @@ files:
934
953
  - spec/support/devise.rb
935
954
  - spec/support/tasks.rb
936
955
  - spec/system/checkouts_spec.rb
956
+ - spec/system/items_spec.rb
937
957
  - spec/system/manifestations_spec.rb
938
958
  - spec/system/reserves_spec.rb
939
959
  - spec/system/user_group_has_checkout_types.rb
@@ -1127,6 +1147,7 @@ test_files:
1127
1147
  - spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb
1128
1148
  - spec/dummy/db/migrate/20100129142347_create_import_requests.rb
1129
1149
  - spec/dummy/db/migrate/125_create_donates.rb
1150
+ - spec/dummy/db/migrate/20190818075628_add_memo_to_item.rb
1130
1151
  - spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb
1131
1152
  - spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb
1132
1153
  - spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb
@@ -1174,6 +1195,7 @@ test_files:
1174
1195
  - spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb
1175
1196
  - spec/dummy/db/migrate/20130421155019_add_creator_string_to_series_statement.rb
1176
1197
  - spec/dummy/db/migrate/20100814091104_add_position_to_agent_relationship.rb
1198
+ - spec/dummy/db/migrate/20191219122214_create_custom_properties.rb
1177
1199
  - spec/dummy/db/migrate/117_create_form_of_works.rb
1178
1200
  - spec/dummy/db/migrate/20080819181903_create_message_requests.rb
1179
1201
  - spec/dummy/db/migrate/20130506175834_create_identifiers.rb
@@ -1203,6 +1225,7 @@ test_files:
1203
1225
  - spec/dummy/db/migrate/20160811102604_add_picture_width_to_picture_file.rb
1204
1226
  - spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb
1205
1227
  - spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb
1228
+ - spec/dummy/db/migrate/20190818075603_add_memo_to_manifestation.rb
1206
1229
  - spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb
1207
1230
  - spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb
1208
1231
  - spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb
@@ -1249,6 +1272,7 @@ test_files:
1249
1272
  - spec/system/manifestations_spec.rb
1250
1273
  - spec/system/checkouts_spec.rb
1251
1274
  - spec/system/reserves_spec.rb
1275
+ - spec/system/items_spec.rb
1252
1276
  - spec/support/controller_macros.rb
1253
1277
  - spec/support/devise.rb
1254
1278
  - spec/support/tasks.rb
@@ -1295,9 +1319,11 @@ test_files:
1295
1319
  - spec/fixtures/users.yml
1296
1320
  - spec/fixtures/accepts.yml
1297
1321
  - spec/fixtures/circulation_statuses.yml
1322
+ - spec/fixtures/budget_types.yml
1298
1323
  - spec/fixtures/user_reserve_stats.yml
1299
1324
  - spec/fixtures/manifestations.yml
1300
1325
  - spec/fixtures/request_types.yml
1326
+ - spec/fixtures/bookstores.yml
1301
1327
  - spec/fixtures/checkins.yml
1302
1328
  - spec/fixtures/user_checkout_stats.yml
1303
1329
  - spec/fixtures/item_has_use_restrictions.yml