enju_search_log 0.2.0.beta.1 → 0.2.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/app/models/search_history.rb +9 -10
- data/lib/enju_search_log/version.rb +1 -1
- data/spec/controllers/search_histories_controller_spec.rb +1 -1
- data/spec/dummy/app/controllers/application_controller.rb +2 -2
- data/spec/dummy/app/models/user.rb +1 -1
- data/spec/dummy/config/application.rb +2 -0
- data/spec/dummy/db/migrate/149_create_message_templates.rb +18 -0
- data/spec/dummy/db/migrate/154_create_messages.rb +23 -0
- data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +18 -0
- data/spec/dummy/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +11 -0
- data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +6 -0
- data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +1 -1
- data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +18 -0
- data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +18 -0
- data/spec/dummy/db/migrate/20150506105356_add_error_message_to_user_import_result.rb +5 -0
- data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +13 -0
- data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +13 -0
- data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +9 -0
- data/spec/dummy/db/migrate/20160610093229_add_html_snippet_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20160627232219_add_most_recent_to_user_import_file_transitions.rb +9 -0
- data/spec/dummy/db/migrate/20160627232316_add_most_recent_to_user_export_file_transitions.rb +9 -0
- data/spec/dummy/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +9 -0
- data/spec/dummy/db/migrate/20160813191647_add_max_number_of_results_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20160813191733_add_family_name_first_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20160813192542_add_pub_year_facet_range_interval_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20160813203039_add_user_id_to_library_group.rb +5 -0
- data/spec/dummy/db/migrate/20160814165332_add_most_recent_to_message_request_transitions.rb +9 -0
- data/spec/dummy/db/schema.rb +106 -5
- data/spec/factories/profile.rb +17 -0
- data/spec/factories/user.rb +43 -0
- data/spec/fixtures/libraries.yml +103 -0
- data/spec/fixtures/library_groups.yml +21 -18
- data/spec/fixtures/search_histories.yml +9 -10
- data/spec/fixtures/user_groups.yml +44 -0
- data/spec/models/search_history_spec.rb +10 -12
- data/spec/models/user_spec.rb +74 -0
- data/spec/rails_helper.rb +80 -0
- data/spec/spec_helper.rb +88 -36
- data/spec/support/devise.rb +2 -2
- metadata +178 -86
- data/spec/dummy/app/models/ability.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbd92d1277968c7a17bf4ca1c65d5d5656464b14
|
4
|
+
data.tar.gz: 6f1a6e8b50a69647fb481cfbc398fe801de10bd6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce5c2ed6202d682af28f049d8fa48419f7c6e38854d4fadb0d44f0c3d5d61d45564bf3ef1e4aa7a8eb7084899f3ea8f629db8b37d0de83430c82770f7fb93cc0
|
7
|
+
data.tar.gz: 82efc68998d4497b66eb457f159f3a9759d0e192db227702e2001e6e4668ca063e51866f822c9d77d66d0fc98100cc9a1140a568f1dfcc9f5560ae027e50148f
|
@@ -20,25 +20,24 @@ end
|
|
20
20
|
#
|
21
21
|
# id :integer not null, primary key
|
22
22
|
# user_id :integer
|
23
|
-
# operation :string
|
23
|
+
# operation :string default("searchRetrieve")
|
24
24
|
# sru_version :float default(1.2)
|
25
|
-
# query :string
|
25
|
+
# query :string
|
26
26
|
# start_record :integer
|
27
27
|
# maximum_records :integer
|
28
|
-
# record_packing :string
|
29
|
-
# record_schema :string
|
28
|
+
# record_packing :string
|
29
|
+
# record_schema :string
|
30
30
|
# result_set_ttl :integer
|
31
|
-
# stylesheet :string
|
32
|
-
# extra_request_data :string
|
31
|
+
# stylesheet :string
|
32
|
+
# extra_request_data :string
|
33
33
|
# number_of_records :integer default(0)
|
34
|
-
# result_set_id :string
|
34
|
+
# result_set_id :string
|
35
35
|
# result_set_idle_time :integer
|
36
36
|
# records :text
|
37
37
|
# next_record_position :integer
|
38
38
|
# diagnostics :text
|
39
39
|
# extra_response_data :text
|
40
40
|
# echoed_search_retrieve_request :text
|
41
|
-
# created_at :datetime
|
42
|
-
# updated_at :datetime
|
41
|
+
# created_at :datetime
|
42
|
+
# updated_at :datetime
|
43
43
|
#
|
44
|
-
|
@@ -1,8 +1,8 @@
|
|
1
1
|
class ApplicationController < ActionController::Base
|
2
2
|
protect_from_forgery
|
3
|
-
include EnjuLeaf::Controller
|
4
|
-
include EnjuBiblio::Controller
|
5
3
|
include EnjuLibrary::Controller
|
4
|
+
include EnjuBiblio::Controller
|
5
|
+
before_action :set_paper_trail_whodunnit
|
6
6
|
after_action :verify_authorized
|
7
7
|
|
8
8
|
include Pundit
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateMessageTemplates < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :message_templates do |t|
|
4
|
+
t.string :status, :null => false
|
5
|
+
t.text :title, :null => false
|
6
|
+
t.text :body, :null => false
|
7
|
+
t.integer :position
|
8
|
+
t.string :locale, :default => I18n.default_locale.to_s
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
add_index :message_templates, :status, :unique => true
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.down
|
16
|
+
drop_table :message_templates
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class CreateMessages < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :messages, :force => true do |t|
|
4
|
+
t.datetime :read_at
|
5
|
+
t.integer :receiver_id, :sender_id
|
6
|
+
t.string :subject, :null => false
|
7
|
+
t.text :body
|
8
|
+
t.integer :message_request_id
|
9
|
+
t.integer :parent_id
|
10
|
+
|
11
|
+
t.timestamps
|
12
|
+
end
|
13
|
+
|
14
|
+
add_index :messages, :sender_id
|
15
|
+
add_index :messages, :receiver_id
|
16
|
+
add_index :messages, :message_request_id
|
17
|
+
add_index :messages, :parent_id
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.down
|
21
|
+
drop_table :messages
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateMessageRequests < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :message_requests do |t|
|
4
|
+
t.integer :sender_id
|
5
|
+
t.integer :receiver_id
|
6
|
+
t.integer :message_template_id
|
7
|
+
t.datetime :sent_at
|
8
|
+
t.datetime :deleted_at
|
9
|
+
t.text :body
|
10
|
+
|
11
|
+
t.timestamps
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.down
|
16
|
+
drop_table :message_requests
|
17
|
+
end
|
18
|
+
end
|
@@ -6,7 +6,7 @@ class CreateUserImportFiles < ActiveRecord::Migration
|
|
6
6
|
t.datetime :executed_at
|
7
7
|
t.string :user_import_file_name
|
8
8
|
t.string :user_import_content_type
|
9
|
-
t.
|
9
|
+
t.integer :user_import_file_size
|
10
10
|
t.datetime :user_import_updated_at
|
11
11
|
t.string :user_import_fingerprint
|
12
12
|
t.string :edit_mode
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateMessageTransitions < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :message_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 :message_id
|
12
|
+
t.timestamps
|
13
|
+
end
|
14
|
+
|
15
|
+
add_index :message_transitions, :message_id
|
16
|
+
add_index :message_transitions, [:sort_key, :message_id], unique: true
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateMessageRequestTransitions < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :message_request_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 :message_request_id
|
12
|
+
t.timestamps
|
13
|
+
end
|
14
|
+
|
15
|
+
add_index :message_request_transitions, :message_request_id
|
16
|
+
add_index :message_request_transitions, [:sort_key, :message_request_id], unique: true, name: "index_message_request_transitions_on_sort_key_and_request_id"
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateWithdraws < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :withdraws do |t|
|
4
|
+
t.integer :basket_id
|
5
|
+
t.integer :item_id
|
6
|
+
t.integer :librarian_id
|
7
|
+
|
8
|
+
t.timestamps null: false
|
9
|
+
end
|
10
|
+
add_index :withdraws, :basket_id
|
11
|
+
add_index :withdraws, :item_id
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class AddTranslationTableToLibraryGroup < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
LibraryGroup.create_translation_table!({
|
4
|
+
login_banner: :text
|
5
|
+
}, {
|
6
|
+
migrate_data: true
|
7
|
+
})
|
8
|
+
end
|
9
|
+
|
10
|
+
def down
|
11
|
+
LibraryGroup.drop_translation_table! migrate_data: true
|
12
|
+
end
|
13
|
+
end
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended that you check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(version:
|
14
|
+
ActiveRecord::Schema.define(version: 20160814165332) do
|
15
15
|
|
16
16
|
create_table "accepts", force: :cascade do |t|
|
17
17
|
t.integer "basket_id"
|
@@ -98,10 +98,22 @@ ActiveRecord::Schema.define(version: 20150221063719) do
|
|
98
98
|
add_index "libraries", ["library_group_id"], name: "index_libraries_on_library_group_id"
|
99
99
|
add_index "libraries", ["name"], name: "index_libraries_on_name", unique: true
|
100
100
|
|
101
|
+
create_table "library_group_translations", force: :cascade do |t|
|
102
|
+
t.integer "library_group_id", null: false
|
103
|
+
t.string "locale", null: false
|
104
|
+
t.datetime "created_at", null: false
|
105
|
+
t.datetime "updated_at", null: false
|
106
|
+
t.text "login_banner"
|
107
|
+
t.text "footer_banner"
|
108
|
+
end
|
109
|
+
|
110
|
+
add_index "library_group_translations", ["library_group_id"], name: "index_library_group_translations_on_library_group_id"
|
111
|
+
add_index "library_group_translations", ["locale"], name: "index_library_group_translations_on_locale"
|
112
|
+
|
101
113
|
create_table "library_groups", force: :cascade do |t|
|
102
|
-
t.string "name",
|
114
|
+
t.string "name", null: false
|
103
115
|
t.text "display_name"
|
104
|
-
t.string "short_name",
|
116
|
+
t.string "short_name", null: false
|
105
117
|
t.text "my_networks"
|
106
118
|
t.text "login_banner"
|
107
119
|
t.text "note"
|
@@ -110,11 +122,86 @@ ActiveRecord::Schema.define(version: 20150221063719) do
|
|
110
122
|
t.datetime "created_at"
|
111
123
|
t.datetime "updated_at"
|
112
124
|
t.text "admin_networks"
|
113
|
-
t.string "url",
|
125
|
+
t.string "url", default: "http://localhost:3000/"
|
114
126
|
t.text "settings"
|
127
|
+
t.text "html_snippet"
|
128
|
+
t.integer "max_number_of_results", default: 500
|
129
|
+
t.boolean "family_name_first", default: true
|
130
|
+
t.integer "pub_year_facet_range_interval", default: 10
|
131
|
+
t.integer "user_id"
|
115
132
|
end
|
116
133
|
|
117
134
|
add_index "library_groups", ["short_name"], name: "index_library_groups_on_short_name"
|
135
|
+
add_index "library_groups", ["user_id"], name: "index_library_groups_on_user_id"
|
136
|
+
|
137
|
+
create_table "message_request_transitions", force: :cascade do |t|
|
138
|
+
t.string "to_state"
|
139
|
+
t.text "metadata", default: "{}"
|
140
|
+
t.integer "sort_key"
|
141
|
+
t.integer "message_request_id"
|
142
|
+
t.datetime "created_at"
|
143
|
+
t.datetime "updated_at"
|
144
|
+
t.boolean "most_recent"
|
145
|
+
end
|
146
|
+
|
147
|
+
add_index "message_request_transitions", ["message_request_id"], name: "index_message_request_transitions_on_message_request_id"
|
148
|
+
add_index "message_request_transitions", ["sort_key", "message_request_id"], name: "index_message_request_transitions_on_sort_key_and_request_id", unique: true
|
149
|
+
|
150
|
+
create_table "message_requests", force: :cascade do |t|
|
151
|
+
t.integer "sender_id"
|
152
|
+
t.integer "receiver_id"
|
153
|
+
t.integer "message_template_id"
|
154
|
+
t.datetime "sent_at"
|
155
|
+
t.datetime "deleted_at"
|
156
|
+
t.text "body"
|
157
|
+
t.datetime "created_at"
|
158
|
+
t.datetime "updated_at"
|
159
|
+
end
|
160
|
+
|
161
|
+
create_table "message_templates", force: :cascade do |t|
|
162
|
+
t.string "status", null: false
|
163
|
+
t.text "title", null: false
|
164
|
+
t.text "body", null: false
|
165
|
+
t.integer "position"
|
166
|
+
t.string "locale", default: "en"
|
167
|
+
t.datetime "created_at"
|
168
|
+
t.datetime "updated_at"
|
169
|
+
end
|
170
|
+
|
171
|
+
add_index "message_templates", ["status"], name: "index_message_templates_on_status", unique: true
|
172
|
+
|
173
|
+
create_table "message_transitions", force: :cascade do |t|
|
174
|
+
t.string "to_state"
|
175
|
+
t.text "metadata", default: "{}"
|
176
|
+
t.integer "sort_key"
|
177
|
+
t.integer "message_id"
|
178
|
+
t.datetime "created_at"
|
179
|
+
t.datetime "updated_at"
|
180
|
+
t.boolean "most_recent"
|
181
|
+
end
|
182
|
+
|
183
|
+
add_index "message_transitions", ["message_id"], name: "index_message_transitions_on_message_id"
|
184
|
+
add_index "message_transitions", ["sort_key", "message_id"], name: "index_message_transitions_on_sort_key_and_message_id", unique: true
|
185
|
+
|
186
|
+
create_table "messages", force: :cascade do |t|
|
187
|
+
t.datetime "read_at"
|
188
|
+
t.integer "receiver_id"
|
189
|
+
t.integer "sender_id"
|
190
|
+
t.string "subject", null: false
|
191
|
+
t.text "body"
|
192
|
+
t.integer "message_request_id"
|
193
|
+
t.integer "parent_id"
|
194
|
+
t.datetime "created_at"
|
195
|
+
t.datetime "updated_at"
|
196
|
+
t.integer "lft"
|
197
|
+
t.integer "rgt"
|
198
|
+
t.integer "depth"
|
199
|
+
end
|
200
|
+
|
201
|
+
add_index "messages", ["message_request_id"], name: "index_messages_on_message_request_id"
|
202
|
+
add_index "messages", ["parent_id"], name: "index_messages_on_parent_id"
|
203
|
+
add_index "messages", ["receiver_id"], name: "index_messages_on_receiver_id"
|
204
|
+
add_index "messages", ["sender_id"], name: "index_messages_on_sender_id"
|
118
205
|
|
119
206
|
create_table "profiles", force: :cascade do |t|
|
120
207
|
t.integer "user_id"
|
@@ -253,6 +340,7 @@ ActiveRecord::Schema.define(version: 20150221063719) do
|
|
253
340
|
t.integer "user_export_file_id"
|
254
341
|
t.datetime "created_at"
|
255
342
|
t.datetime "updated_at"
|
343
|
+
t.boolean "most_recent"
|
256
344
|
end
|
257
345
|
|
258
346
|
add_index "user_export_file_transitions", ["sort_key", "user_export_file_id"], name: "index_user_export_file_transitions_on_sort_key_and_file_id", unique: true
|
@@ -298,6 +386,7 @@ ActiveRecord::Schema.define(version: 20150221063719) do
|
|
298
386
|
t.integer "user_import_file_id"
|
299
387
|
t.datetime "created_at"
|
300
388
|
t.datetime "updated_at"
|
389
|
+
t.boolean "most_recent"
|
301
390
|
end
|
302
391
|
|
303
392
|
add_index "user_import_file_transitions", ["sort_key", "user_import_file_id"], name: "index_user_import_file_transitions_on_sort_key_and_file_id", unique: true
|
@@ -309,7 +398,7 @@ ActiveRecord::Schema.define(version: 20150221063719) do
|
|
309
398
|
t.datetime "executed_at"
|
310
399
|
t.string "user_import_file_name"
|
311
400
|
t.string "user_import_content_type"
|
312
|
-
t.
|
401
|
+
t.integer "user_import_file_size"
|
313
402
|
t.datetime "user_import_updated_at"
|
314
403
|
t.string "user_import_fingerprint"
|
315
404
|
t.string "edit_mode"
|
@@ -327,6 +416,7 @@ ActiveRecord::Schema.define(version: 20150221063719) do
|
|
327
416
|
t.text "body"
|
328
417
|
t.datetime "created_at"
|
329
418
|
t.datetime "updated_at"
|
419
|
+
t.text "error_message"
|
330
420
|
end
|
331
421
|
|
332
422
|
create_table "users", force: :cascade do |t|
|
@@ -368,4 +458,15 @@ ActiveRecord::Schema.define(version: 20150221063719) do
|
|
368
458
|
|
369
459
|
add_index "versions", ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
|
370
460
|
|
461
|
+
create_table "withdraws", force: :cascade do |t|
|
462
|
+
t.integer "basket_id"
|
463
|
+
t.integer "item_id"
|
464
|
+
t.integer "librarian_id"
|
465
|
+
t.datetime "created_at", null: false
|
466
|
+
t.datetime "updated_at", null: false
|
467
|
+
end
|
468
|
+
|
469
|
+
add_index "withdraws", ["basket_id"], name: "index_withdraws_on_basket_id"
|
470
|
+
add_index "withdraws", ["item_id"], name: "index_withdraws_on_item_id"
|
471
|
+
|
371
472
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :profile, :class => Profile do |f|
|
3
|
+
f.user_group_id {UserGroup.first.id}
|
4
|
+
f.required_role_id {Role.where(name: 'User').first.id}
|
5
|
+
f.sequence(:user_number){|n| "user_number_#{n}"}
|
6
|
+
f.library_id 2
|
7
|
+
f.locale "ja"
|
8
|
+
factory :librarian_profile, :class => Profile do |profile|
|
9
|
+
profile.required_role_id {Role.where(name: 'Librarian').first.id}
|
10
|
+
profile.association :user, factory: :librarian
|
11
|
+
end
|
12
|
+
factory :admin_profile, :class => Profile do |profile|
|
13
|
+
profile.required_role_id {Role.where(name: 'Administrator').first.id}
|
14
|
+
profile.association :user, factory: :admin
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :admin, class: User do |f|
|
3
|
+
f.sequence(:username){|n| "admin_#{n}"}
|
4
|
+
f.sequence(:email){|n| "admin_#{n}@example.jp"}
|
5
|
+
f.password 'adminpassword'
|
6
|
+
f.password_confirmation 'adminpassword'
|
7
|
+
f.after(:create) do |user|
|
8
|
+
user_has_role = UserHasRole.new
|
9
|
+
user_has_role.assign_attributes({user_id: user.id, role_id: Role.find_by_name('Administrator').id})
|
10
|
+
user_has_role.save
|
11
|
+
user.reload
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
factory :librarian, class: User do |f|
|
16
|
+
f.sequence(:username){|n| "librarian_#{n}"}
|
17
|
+
f.sequence(:email){|n| "librarian_#{n}@example.jp"}
|
18
|
+
f.password 'librarianpassword'
|
19
|
+
f.password_confirmation 'librarianpassword'
|
20
|
+
f.after(:create) do |user|
|
21
|
+
user_has_role = UserHasRole.new
|
22
|
+
user_has_role.assign_attributes({user_id: user.id, role_id: Role.find_by_name('Librarian').id})
|
23
|
+
user_has_role.save
|
24
|
+
user.reload
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
factory :user, class: User do |f|
|
29
|
+
f.sequence(:username){|n| "user_#{n}"}
|
30
|
+
f.sequence(:email){|n| "user_#{n}@example.jp"}
|
31
|
+
f.password 'userpassword'
|
32
|
+
f.password_confirmation 'userpassword'
|
33
|
+
f.after(:create) do |user|
|
34
|
+
user_has_role = UserHasRole.new
|
35
|
+
user_has_role.assign_attributes({user_id: user.id, role_id: Role.find_by_name('User').id})
|
36
|
+
user_has_role.save
|
37
|
+
user.reload
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
factory :invalid_user, class: User do |f|
|
42
|
+
end
|
43
|
+
end
|