enju_circulation 0.4.0.beta.2 → 0.4.0.beta.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
![](https://github.com/next-l/enju_circulation/workflows/Ruby/badge.svg?branch=2.x)
|
3
3
|
[![Coverage Status](https://coveralls.io/repos/github/next-l/enju_circulation/badge.svg?branch=2.x)](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
|