enju_library 0.1.0.pre38 → 0.1.0.pre39
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +8 -1
- data/app/controllers/shelves_controller.rb +1 -1
- data/app/models/accept.rb +2 -9
- data/app/models/basket.rb +2 -23
- data/lib/enju_library/version.rb +1 -1
- data/spec/controllers/shelves_controller_spec.rb +2 -2
- data/spec/dummy/config/database.yml +23 -18
- data/spec/dummy/db/migrate/035_create_reserves.rb +0 -1
- data/spec/dummy/db/migrate/113_create_events.rb +2 -2
- data/spec/dummy/db/migrate/133_create_agent_merges.rb +15 -0
- data/spec/dummy/db/migrate/134_create_agent_merge_lists.rb +13 -0
- data/spec/dummy/db/migrate/20100925074559_create_agent_import_results.rb +0 -1
- data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140523171309_create_event_import_file_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +5 -1
- data/spec/dummy/db/migrate/20140812152348_create_event_export_files.rb +11 -0
- data/spec/dummy/db/migrate/20140812153137_create_event_export_file_transitions.rb +18 -0
- data/spec/dummy/db/migrate/20140814070854_add_default_event_category_id_to_event_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +5 -0
- data/spec/dummy/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +5 -0
- data/spec/dummy/db/migrate/20141014065831_add_shelf_id_to_checkout.rb +6 -0
- data/spec/dummy/db/migrate/20141020120523_add_library_id_to_checkout.rb +6 -0
- data/spec/dummy/db/schema.rb +662 -621
- data/spec/fixtures/checked_items.yml +4 -4
- data/spec/fixtures/checkouts.yml +12 -12
- data/spec/fixtures/manifestations.yml +114 -114
- data/spec/fixtures/reserves.yml +17 -33
- data/spec/fixtures/users.yml +1 -1
- data/spec/spec_helper.rb +2 -0
- metadata +50 -6
- data/spec/dummy/db/migrate/20130303104849_add_state_index_to_reserve.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0eb95937df49250022c8fa869d621a055aee64ea
|
4
|
+
data.tar.gz: f79f75f76a9c942e58080e518ff17ff9d7c77793
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e57afb48c4d56db84dcafef4048723221436c416557e31ea6578add5b0c4b346d511e7ea6925f83d6166b3bbf8aef2653ed856e7101ee6fa6c652f0581faaac
|
7
|
+
data.tar.gz: f261b8c0a726b360341f520f6bfccf2817695870938eb703acf16f3092abdba96abbe433cd9d07d1b5c0bd106c49230bee4387c1759ecc6b9c79f5d6c2fc1850
|
data/README.rdoc
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
-
= EnjuLibrary
|
1
|
+
= EnjuLibrary
|
2
|
+
{<img src="https://travis-ci.org/next-l/enju_library.png?branch=1.1" alt="Build Status" />}[https://travis-ci.org/next-l/enju_library]
|
3
|
+
{<img src="https://coveralls.io/repos/next-l/enju_library/badge.png?branch=1.1" alt="Coverage Status" />}[https://coveralls.io/r/next-l/enju_library?branch=1.1]
|
4
|
+
{<img src="https://hakiri.io/github/next-l/enju_library/1.1.svg" alt="security" />}[https://hakiri.io/github/next-l/enju_library/1.1]
|
2
5
|
|
3
6
|
This project rocks and uses MIT-LICENSE.
|
7
|
+
|
8
|
+
== 製作者・貢献者 (Authors and contributors)
|
9
|
+
* {TANABE, Kosuke}[https://github.com/nabeta] ({@nabeta}[https://twitter.com/nabeta])
|
10
|
+
* {Project Next-L}[http://www.next-l.jp] ({@ProjectNextL}[https://twitter.com/ProjectNextL])
|
data/app/models/accept.rb
CHANGED
@@ -5,6 +5,8 @@ class Accept < ActiveRecord::Base
|
|
5
5
|
belongs_to :item, touch: true
|
6
6
|
belongs_to :librarian, class_name: 'User'
|
7
7
|
|
8
|
+
enju_circulation_accept_model if defined?(EnjuCirculation)
|
9
|
+
|
8
10
|
validates_uniqueness_of :item_id, message: I18n.t('accept.already_accepted')
|
9
11
|
validates_presence_of :item_id, message: I18n.t('accept.item_not_found')
|
10
12
|
validates_presence_of :basket_id
|
@@ -14,15 +16,6 @@ class Accept < ActiveRecord::Base
|
|
14
16
|
attr_accessor :item_identifier
|
15
17
|
|
16
18
|
paginates_per 10
|
17
|
-
|
18
|
-
def accept!
|
19
|
-
if defined?(EnjuCirculation)
|
20
|
-
circulation_status = CirculationStatus.where(name: 'Available On Shelf').first
|
21
|
-
item.update_column(:circulation_status_id, circulation_status.id) if circulation_status
|
22
|
-
use_restriction = UseRestriction.where(name: 'Limited Circulation, Normal Loan Period').first
|
23
|
-
item.use_restriction = use_restriction if use_restriction
|
24
|
-
end
|
25
|
-
end
|
26
19
|
end
|
27
20
|
|
28
21
|
# == Schema Information
|
data/app/models/basket.rb
CHANGED
@@ -5,6 +5,8 @@ class Basket < ActiveRecord::Base
|
|
5
5
|
belongs_to :user, validate: true
|
6
6
|
has_many :accepts
|
7
7
|
|
8
|
+
enju_circulation_basket_model if defined?(EnjuCirculation)
|
9
|
+
|
8
10
|
validates_associated :user, on: :create
|
9
11
|
# 貸出完了後にかごのユーザidは破棄する
|
10
12
|
validates_presence_of :user, on: :create
|
@@ -24,29 +26,6 @@ class Basket < ActiveRecord::Base
|
|
24
26
|
Basket.will_expire(Time.zone.now.beginning_of_day).destroy_all
|
25
27
|
logger.info "#{Time.zone.now} baskets expired!"
|
26
28
|
end
|
27
|
-
|
28
|
-
if defined?(EnjuCirculation)
|
29
|
-
has_many :checked_items, dependent: :destroy
|
30
|
-
has_many :items, through: :checked_items
|
31
|
-
has_many :checkouts
|
32
|
-
has_many :checkins
|
33
|
-
|
34
|
-
def basket_checkout(librarian)
|
35
|
-
return nil if checked_items.size == 0
|
36
|
-
Item.transaction do
|
37
|
-
checked_items.each do |checked_item|
|
38
|
-
checkout = user.checkouts.new
|
39
|
-
checkout.librarian = librarian
|
40
|
-
checkout.item = checked_item.item
|
41
|
-
checkout.basket = self
|
42
|
-
checkout.due_date = checked_item.due_date
|
43
|
-
checked_item.item.checkout!(user)
|
44
|
-
checkout.save!
|
45
|
-
end
|
46
|
-
CheckedItem.destroy_all(:basket_id => id)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
29
|
end
|
51
30
|
|
52
31
|
# == Schema Information
|
data/lib/enju_library/version.rb
CHANGED
@@ -48,13 +48,13 @@ describe ShelvesController do
|
|
48
48
|
|
49
49
|
it "assigns all shelves as @shelves with library_id" do
|
50
50
|
get :index, :library_id => 'kamata'
|
51
|
-
assigns(:shelves).should eq(Library.find('kamata').shelves.page(1))
|
51
|
+
assigns(:shelves).map(&:id).should eq(Library.find('kamata').shelves.order(:position).page(1).pluck(:id))
|
52
52
|
response.should be_success
|
53
53
|
end
|
54
54
|
|
55
55
|
it "assigns all shelves as @shelves with select mode" do
|
56
56
|
get :index, :mode => 'select'
|
57
|
-
assigns(:shelves).should eq(Shelf.real)
|
57
|
+
assigns(:shelves).should eq(Shelf.real.order(:position))
|
58
58
|
response.should be_success
|
59
59
|
end
|
60
60
|
end
|
@@ -1,25 +1,30 @@
|
|
1
|
-
|
2
|
-
# gem install sqlite3
|
3
|
-
#
|
4
|
-
# Ensure the SQLite 3 gem is defined in your Gemfile
|
5
|
-
# gem 'sqlite3'
|
6
|
-
development:
|
1
|
+
sqlite: &sqlite
|
7
2
|
adapter: sqlite3
|
8
|
-
database: db
|
3
|
+
database: db/<%= Rails.env %>.sqlite3
|
4
|
+
|
5
|
+
mysql: &mysql
|
6
|
+
adapter: mysql2
|
7
|
+
username: root
|
8
|
+
password:
|
9
|
+
database: enju_<%= Rails.env %>
|
10
|
+
|
11
|
+
postgresql: &postgresql
|
12
|
+
adapter: postgresql
|
13
|
+
username: postgres
|
14
|
+
password:
|
15
|
+
database: enju_<%= Rails.env %>
|
16
|
+
|
17
|
+
defaults: &defaults
|
9
18
|
pool: 5
|
10
19
|
timeout: 5000
|
20
|
+
host: localhost
|
21
|
+
<<: *<%= ENV['DB'] || "sqlite" %>
|
22
|
+
|
23
|
+
development:
|
24
|
+
<<: *defaults
|
11
25
|
|
12
|
-
# Warning: The database defined as "test" will be erased and
|
13
|
-
# re-generated from your development database when you run "rake".
|
14
|
-
# Do not set this db to the same as development or production.
|
15
26
|
test:
|
16
|
-
|
17
|
-
database: db/test.sqlite3
|
18
|
-
pool: 5
|
19
|
-
timeout: 5000
|
27
|
+
<<: *defaults
|
20
28
|
|
21
29
|
production:
|
22
|
-
|
23
|
-
database: db/production.sqlite3
|
24
|
-
pool: 5
|
25
|
-
timeout: 5000
|
30
|
+
<<: *defaults
|
@@ -10,7 +10,6 @@ class CreateReserves < ActiveRecord::Migration
|
|
10
10
|
t.datetime :canceled_at
|
11
11
|
t.datetime :expired_at
|
12
12
|
t.datetime :deleted_at
|
13
|
-
t.string :state
|
14
13
|
t.boolean :expiration_notice_to_patron, :default => false
|
15
14
|
t.boolean :expiration_notice_to_library, :default => false
|
16
15
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
class CreateEvents < ActiveRecord::Migration
|
2
2
|
def self.up
|
3
3
|
create_table :events do |t|
|
4
|
-
t.integer :library_id, :
|
5
|
-
t.integer :event_category_id, :
|
4
|
+
t.integer :library_id, :null => false
|
5
|
+
t.integer :event_category_id, :null => false
|
6
6
|
t.string :name
|
7
7
|
t.text :note
|
8
8
|
t.datetime :start_at
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateAgentMerges < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :agent_merges do |t|
|
4
|
+
t.integer :agent_id, :agent_merge_list_id, :null => false
|
5
|
+
|
6
|
+
t.timestamps
|
7
|
+
end
|
8
|
+
add_index :agent_merges, :agent_id
|
9
|
+
add_index :agent_merges, :agent_merge_list_id
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.down
|
13
|
+
drop_table :agent_merges
|
14
|
+
end
|
15
|
+
end
|
@@ -2,7 +2,11 @@ class CreateReserveTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :reserve_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :reserve_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateMessageTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :message_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :message_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateMessageRequestTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :message_request_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :message_request_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateResourceImportFileTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :resource_import_file_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :resource_import_file_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateImportRequestTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :import_request_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :import_request_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateEventImportFileTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :event_import_file_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :event_import_file_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateAgentImportFileTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :agent_import_file_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :agent_import_file_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateUserImportFileTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :user_import_file_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :user_import_file_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateUserCheckoutStatTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :user_checkout_stat_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :user_checkout_stat_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateUserReserveStatTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :user_reserve_stat_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :user_reserve_stat_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateManifestationCheckoutStatTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :manifestation_checkout_stat_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :manifestation_checkout_stat_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateManifestationReserveStatTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :manifestation_reserve_stat_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :manifestation_reserve_stat_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateResourceExportFileTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :resource_export_file_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :resource_export_file_id
|
8
12
|
t.timestamps
|
@@ -2,7 +2,11 @@ class CreateUserExportFileTransitions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :user_export_file_transitions do |t|
|
4
4
|
t.string :to_state
|
5
|
-
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
6
10
|
t.integer :sort_key
|
7
11
|
t.integer :user_export_file_id
|
8
12
|
t.timestamps
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateEventExportFileTransitions < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :event_export_file_transitions do |t|
|
4
|
+
t.string :to_state
|
5
|
+
if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
|
6
|
+
t.text :metadata
|
7
|
+
else
|
8
|
+
t.text :metadata, default: "{}"
|
9
|
+
end
|
10
|
+
t.integer :sort_key
|
11
|
+
t.integer :event_export_file_id
|
12
|
+
t.timestamps
|
13
|
+
end
|
14
|
+
|
15
|
+
add_index :event_export_file_transitions, :event_export_file_id, name: "index_event_export_file_transitions_on_file_id"
|
16
|
+
add_index :event_export_file_transitions, [:sort_key, :event_export_file_id], unique: true, name: "index_event_export_file_transitions_on_sort_key_and_file_id"
|
17
|
+
end
|
18
|
+
end
|