enju_circulation 0.4.0.beta.2 → 0.4.0.beta.3
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/README.md +1 -1
- data/app/models/manifestation_checkout_stat.rb +4 -1
- data/app/models/manifestation_reserve_stat.rb +4 -1
- data/app/models/reserve.rb +4 -1
- data/app/models/user_checkout_stat.rb +4 -1
- data/app/models/user_reserve_stat.rb +4 -1
- data/app/views/manifestations/_circulation_status.html.erb +1 -1
- data/lib/enju_circulation/version.rb +1 -1
- data/lib/tasks/auto_annotate_models.rake +57 -0
- data/lib/tasks/enju_circulation_tasks.rake +21 -2
- data/spec/dummy/db/migrate/20190818075603_add_memo_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20190818075628_add_memo_to_item.rb +5 -0
- data/spec/dummy/db/schema.rb +7 -3
- data/spec/system/user_group_has_checkout_types.rb +14 -0
- metadata +13 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8001e1100fd98ad9e9add777f6d37d4cb1a666e6ffd39c49f807f91137d4925
|
4
|
+
data.tar.gz: 8999dd13fc093409a448c997a0781f9ba49e715e569e6b33f2f46c33e3f82da8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d03d25ba16f1705333eb1043f1a143d65584efef4876c0327baaba17926f8dbb6a01215704b2ddb828d7859f620c439dc4a4901eb9152e5ea426d98ed270298
|
7
|
+
data.tar.gz: 692f9d4df457829e3d0298a59cde582030449a9a6b8ca676bcbc27135ac0e251d16f93fefdd0d5bf26f411afaef77979f2c90f7a254e9d5fb01d4cba5785c09b
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# EnjuCirculation
|
2
|
-
|
2
|
+

|
3
3
|
[](https://coveralls.io/github/next-l/enju_circulation?branch=2.x)
|
4
4
|
|
5
5
|
This project rocks and uses MIT-LICENSE.
|
@@ -1,5 +1,8 @@
|
|
1
1
|
class ManifestationCheckoutStat < ApplicationRecord
|
2
|
-
include Statesman::Adapters::ActiveRecordQueries
|
2
|
+
include Statesman::Adapters::ActiveRecordQueries[
|
3
|
+
transition_class: ManifestationCheckoutStatTransition,
|
4
|
+
initial_state: :pending
|
5
|
+
]
|
3
6
|
include CalculateStat
|
4
7
|
default_scope {order('manifestation_checkout_stats.id DESC')}
|
5
8
|
scope :not_calculated, -> {in_state(:pending)}
|
@@ -1,5 +1,8 @@
|
|
1
1
|
class ManifestationReserveStat < ApplicationRecord
|
2
|
-
include Statesman::Adapters::ActiveRecordQueries
|
2
|
+
include Statesman::Adapters::ActiveRecordQueries[
|
3
|
+
transition_class: ManifestationReserveStatTransition,
|
4
|
+
initial_state: :pending
|
5
|
+
]
|
3
6
|
include CalculateStat
|
4
7
|
default_scope {order('manifestation_reserve_stats.id DESC')}
|
5
8
|
scope :not_calculated, -> {in_state(:pending)}
|
data/app/models/reserve.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
class Reserve < ApplicationRecord
|
2
|
-
include Statesman::Adapters::ActiveRecordQueries
|
2
|
+
include Statesman::Adapters::ActiveRecordQueries[
|
3
|
+
transition_class: ReserveTransition,
|
4
|
+
initial_state: :pending
|
5
|
+
]
|
3
6
|
scope :hold, -> { where('item_id IS NOT NULL') }
|
4
7
|
scope :not_hold, -> { where(item_id: nil) }
|
5
8
|
scope :waiting, -> {not_in_state(:completed, :expired, :retained).where('canceled_at IS NULL AND (expired_at > ? OR expired_at IS NULL)', Time.zone.now).order('reserves.id DESC')}
|
@@ -1,5 +1,8 @@
|
|
1
1
|
class UserCheckoutStat < ApplicationRecord
|
2
|
-
include Statesman::Adapters::ActiveRecordQueries
|
2
|
+
include Statesman::Adapters::ActiveRecordQueries[
|
3
|
+
transition_class: UserCheckoutStatTransition,
|
4
|
+
initial_state: :pending
|
5
|
+
]
|
3
6
|
include CalculateStat
|
4
7
|
default_scope {order('user_checkout_stats.id DESC')}
|
5
8
|
scope :not_calculated, -> {in_state(:pending)}
|
@@ -1,5 +1,8 @@
|
|
1
1
|
class UserReserveStat < ApplicationRecord
|
2
|
-
include Statesman::Adapters::ActiveRecordQueries
|
2
|
+
include Statesman::Adapters::ActiveRecordQueries[
|
3
|
+
transition_class: UserReserveStatTransition,
|
4
|
+
initial_state: :pending
|
5
|
+
]
|
3
6
|
include CalculateStat
|
4
7
|
default_scope {order('user_reserve_stats.id DESC')}
|
5
8
|
scope :not_calculated, -> {in_state(:pending)}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# NOTE: only doing this in development as some production environments (Heroku)
|
2
|
+
# NOTE: are sensitive to local FS writes, and besides -- it's just not proper
|
3
|
+
# NOTE: to have a dev-mode tool do its thing in production.
|
4
|
+
if Rails.env.development?
|
5
|
+
require 'annotate'
|
6
|
+
task :set_annotation_options do
|
7
|
+
# You can override any of these by setting an environment variable of the
|
8
|
+
# same name.
|
9
|
+
Annotate.set_defaults(
|
10
|
+
'additional_file_patterns' => [],
|
11
|
+
'routes' => 'false',
|
12
|
+
'models' => 'true',
|
13
|
+
'position_in_routes' => 'after',
|
14
|
+
'position_in_class' => 'after',
|
15
|
+
'position_in_test' => 'after',
|
16
|
+
'position_in_fixture' => 'after',
|
17
|
+
'position_in_factory' => 'after',
|
18
|
+
'position_in_serializer' => 'after',
|
19
|
+
'show_foreign_keys' => 'true',
|
20
|
+
'show_complete_foreign_keys' => 'false',
|
21
|
+
'show_indexes' => 'true',
|
22
|
+
'simple_indexes' => 'false',
|
23
|
+
'model_dir' => 'app/models',
|
24
|
+
'root_dir' => '',
|
25
|
+
'include_version' => 'false',
|
26
|
+
'require' => '',
|
27
|
+
'exclude_tests' => 'false',
|
28
|
+
'exclude_fixtures' => 'false',
|
29
|
+
'exclude_factories' => 'false',
|
30
|
+
'exclude_serializers' => 'false',
|
31
|
+
'exclude_scaffolds' => 'true',
|
32
|
+
'exclude_controllers' => 'true',
|
33
|
+
'exclude_helpers' => 'true',
|
34
|
+
'exclude_sti_subclasses' => 'false',
|
35
|
+
'ignore_model_sub_dir' => 'false',
|
36
|
+
'ignore_columns' => nil,
|
37
|
+
'ignore_routes' => nil,
|
38
|
+
'ignore_unknown_models' => 'false',
|
39
|
+
'hide_limit_column_types' => 'integer,bigint,boolean',
|
40
|
+
'hide_default_column_types' => 'json,jsonb,hstore',
|
41
|
+
'skip_on_db_migrate' => 'false',
|
42
|
+
'format_bare' => 'true',
|
43
|
+
'format_rdoc' => 'false',
|
44
|
+
'format_markdown' => 'false',
|
45
|
+
'sort' => 'false',
|
46
|
+
'force' => 'false',
|
47
|
+
'frozen' => 'false',
|
48
|
+
'classified_sort' => 'true',
|
49
|
+
'trace' => 'false',
|
50
|
+
'wrapper_open' => nil,
|
51
|
+
'wrapper_close' => nil,
|
52
|
+
'with_comment' => 'true'
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
Annotate.load_tasks
|
57
|
+
end
|
@@ -38,8 +38,8 @@ namespace :enju_circulation do
|
|
38
38
|
Checkout.send_overdue_notification
|
39
39
|
end
|
40
40
|
|
41
|
-
desc "upgrade enju_circulation"
|
42
|
-
task
|
41
|
+
desc "upgrade enju_circulation to 1.3"
|
42
|
+
task upgrade_to_13: :environment do
|
43
43
|
Rake::Task['statesman:backfill_most_recent'].invoke('ManifestationCheckoutStat')
|
44
44
|
Rake::Task['statesman:backfill_most_recent'].invoke('ManifestationReserveStat')
|
45
45
|
Rake::Task['statesman:backfill_most_recent'].invoke('UserCheckoutStat')
|
@@ -78,4 +78,23 @@ namespace :enju_circulation do
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
81
|
+
|
82
|
+
desc "upgrade enju_circulation to 2.0"
|
83
|
+
task upgrade: :environment do
|
84
|
+
sql = 'UPDATE checkins SET checkout_id = checkouts.id FROM checkouts WHERE checkouts.checkin_id = checkins.id;'
|
85
|
+
ActiveRecord::Base.connection.execute(sql)
|
86
|
+
|
87
|
+
class_names = [
|
88
|
+
CheckoutType, CirculationStatus, UseRestriction
|
89
|
+
]
|
90
|
+
class_names.each do |klass|
|
91
|
+
klass.find_each do |record|
|
92
|
+
I18n.available_locales.each do |locale|
|
93
|
+
next unless record.respond_to?("display_name_#{locale}")
|
94
|
+
record.update("display_name_#{locale}": YAML.safe_load(record[:display_name])[locale.to_s])
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
puts 'enju_circulation: The upgrade completed successfully.'
|
99
|
+
end
|
81
100
|
end
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -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:
|
13
|
+
ActiveRecord::Schema.define(version: 2019_08_18_075628) do
|
14
14
|
|
15
15
|
# These are extensions that must be enabled in order to support this database
|
16
16
|
enable_extension "plpgsql"
|
@@ -599,6 +599,7 @@ ActiveRecord::Schema.define(version: 2019_08_16_102803) do
|
|
599
599
|
t.string "binding_call_number"
|
600
600
|
t.datetime "binded_at"
|
601
601
|
t.integer "manifestation_id", null: false
|
602
|
+
t.text "memo"
|
602
603
|
t.index ["binding_item_identifier"], name: "index_items_on_binding_item_identifier"
|
603
604
|
t.index ["bookstore_id"], name: "index_items_on_bookstore_id"
|
604
605
|
t.index ["checkout_type_id"], name: "index_items_on_checkout_type_id"
|
@@ -829,6 +830,7 @@ ActiveRecord::Schema.define(version: 2019_08_16_102803) do
|
|
829
830
|
t.text "publication_place"
|
830
831
|
t.text "extent"
|
831
832
|
t.text "dimensions"
|
833
|
+
t.text "memo"
|
832
834
|
t.index ["access_address"], name: "index_manifestations_on_access_address"
|
833
835
|
t.index ["date_of_publication"], name: "index_manifestations_on_date_of_publication"
|
834
836
|
t.index ["manifestation_identifier"], name: "index_manifestations_on_manifestation_identifier"
|
@@ -852,7 +854,8 @@ ActiveRecord::Schema.define(version: 2019_08_16_102803) do
|
|
852
854
|
t.integer "message_request_id"
|
853
855
|
t.datetime "created_at"
|
854
856
|
t.datetime "updated_at"
|
855
|
-
t.boolean "most_recent"
|
857
|
+
t.boolean "most_recent", null: false
|
858
|
+
t.index ["message_request_id", "most_recent"], name: "index_message_request_transitions_parent_most_recent", unique: true, where: "most_recent"
|
856
859
|
t.index ["message_request_id"], name: "index_message_request_transitions_on_message_request_id"
|
857
860
|
t.index ["sort_key", "message_request_id"], name: "index_message_request_transitions_on_sort_key_and_request_id", unique: true
|
858
861
|
end
|
@@ -886,7 +889,8 @@ ActiveRecord::Schema.define(version: 2019_08_16_102803) do
|
|
886
889
|
t.integer "message_id"
|
887
890
|
t.datetime "created_at"
|
888
891
|
t.datetime "updated_at"
|
889
|
-
t.boolean "most_recent"
|
892
|
+
t.boolean "most_recent", null: false
|
893
|
+
t.index ["message_id", "most_recent"], name: "index_message_transitions_parent_most_recent", unique: true, where: "most_recent"
|
890
894
|
t.index ["message_id"], name: "index_message_transitions_on_message_id"
|
891
895
|
t.index ["sort_key", "message_id"], name: "index_message_transitions_on_sort_key_and_message_id", unique: true
|
892
896
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'UserGroupHasCheckoutType', type: :system do
|
4
|
+
include Devise::Test::IntegrationHelpers
|
5
|
+
fixtures :all
|
6
|
+
|
7
|
+
describe 'When logged in as Librarian' do
|
8
|
+
it 'should render' do
|
9
|
+
sign_in users(:librarian1)
|
10
|
+
visit edit_user_group_has_checkout_path(user_group_has_checkout_types(:user_group_has_checkout_type_00001))
|
11
|
+
expect(page).to have_field :user_group_id
|
12
|
+
end
|
13
|
+
end
|
14
|
+
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.4.0.beta.
|
4
|
+
version: 0.4.0.beta.3
|
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-
|
11
|
+
date: 2019-11-10 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.4.0.beta.
|
19
|
+
version: 0.4.0.beta.2
|
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.4.0.beta.
|
26
|
+
version: 0.4.0.beta.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: enju_manifestation_viewer
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.4.0.beta.
|
47
|
+
version: 0.4.0.beta.2
|
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.4.0.beta.
|
54
|
+
version: 0.4.0.beta.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: enju_leaf
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -528,6 +528,7 @@ files:
|
|
528
528
|
- lib/generators/enju_circulation/setup/templates/db/fixtures/checkout_types.yml
|
529
529
|
- lib/generators/enju_circulation/setup/templates/db/fixtures/circulation_statuses.yml
|
530
530
|
- lib/generators/enju_circulation/setup/templates/db/fixtures/use_restrictions.yml
|
531
|
+
- lib/tasks/auto_annotate_models.rake
|
531
532
|
- lib/tasks/checkout.rb
|
532
533
|
- lib/tasks/circulation_status.rb
|
533
534
|
- lib/tasks/enju_circulation_tasks.rake
|
@@ -800,6 +801,8 @@ files:
|
|
800
801
|
- spec/dummy/db/migrate/20190712163038_add_display_name_translations_to_carrier_type.rb
|
801
802
|
- spec/dummy/db/migrate/20190713114940_add_profile_id_to_user.rb
|
802
803
|
- spec/dummy/db/migrate/20190713115451_add_full_name_translations_to_profile.rb
|
804
|
+
- spec/dummy/db/migrate/20190818075603_add_memo_to_manifestation.rb
|
805
|
+
- spec/dummy/db/migrate/20190818075628_add_memo_to_item.rb
|
803
806
|
- spec/dummy/db/schema.rb
|
804
807
|
- spec/dummy/db/test.sqlite3
|
805
808
|
- spec/dummy/public/404.html
|
@@ -916,6 +919,7 @@ files:
|
|
916
919
|
- spec/system/checkouts_spec.rb
|
917
920
|
- spec/system/manifestations_spec.rb
|
918
921
|
- spec/system/reserves_spec.rb
|
922
|
+
- spec/system/user_group_has_checkout_types.rb
|
919
923
|
- spec/tasks/export_checkout_spec.rb
|
920
924
|
- spec/views/checked_items/new.html.erb_spec.rb
|
921
925
|
- spec/views/checkout_types/edit.html.erb_spec.rb
|
@@ -1111,6 +1115,7 @@ test_files:
|
|
1111
1115
|
- spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb
|
1112
1116
|
- spec/dummy/db/migrate/20100129142347_create_import_requests.rb
|
1113
1117
|
- spec/dummy/db/migrate/125_create_donates.rb
|
1118
|
+
- spec/dummy/db/migrate/20190818075628_add_memo_to_item.rb
|
1114
1119
|
- spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb
|
1115
1120
|
- spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb
|
1116
1121
|
- spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb
|
@@ -1195,6 +1200,7 @@ test_files:
|
|
1195
1200
|
- spec/dummy/db/migrate/20160811102604_add_picture_width_to_picture_file.rb
|
1196
1201
|
- spec/dummy/db/migrate/20130429020822_add_root_manifestation_id_to_series_statement.rb
|
1197
1202
|
- spec/dummy/db/migrate/20090705133942_add_attachments_picture_to_picture_file.rb
|
1203
|
+
- spec/dummy/db/migrate/20190818075603_add_memo_to_manifestation.rb
|
1198
1204
|
- spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb
|
1199
1205
|
- spec/dummy/db/migrate/20120511072422_add_agent_identifier_to_agent.rb
|
1200
1206
|
- spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_agent.rb
|
@@ -1241,6 +1247,7 @@ test_files:
|
|
1241
1247
|
- spec/models/accept_spec.rb
|
1242
1248
|
- spec/models/basket_spec.rb
|
1243
1249
|
- spec/policies/manifestation_policy_spec.rb
|
1250
|
+
- spec/system/user_group_has_checkout_types.rb
|
1244
1251
|
- spec/system/manifestations_spec.rb
|
1245
1252
|
- spec/system/checkouts_spec.rb
|
1246
1253
|
- spec/system/reserves_spec.rb
|