enju_seed 0.2.3 → 0.3.0.beta.1

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.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +17 -8
  3. data/app/assets/config/enju_seed_manifest.js +0 -0
  4. data/app/controllers/my_accounts_controller.rb +14 -13
  5. data/app/controllers/profiles_controller.rb +30 -29
  6. data/app/controllers/roles_controller.rb +2 -1
  7. data/app/models/concerns/enju_seed/enju_user.rb +22 -26
  8. data/app/models/concerns/master_model.rb +5 -6
  9. data/app/models/identity.rb +1 -1
  10. data/app/models/profile.rb +3 -3
  11. data/app/models/role.rb +2 -1
  12. data/app/models/user_has_role.rb +2 -2
  13. data/app/views/my_accounts/_edit_credential.html.slim +63 -0
  14. data/app/views/my_accounts/_form.html.slim +20 -0
  15. data/app/views/my_accounts/_show.html.slim +1 -0
  16. data/app/views/my_accounts/edit.html.slim +30 -0
  17. data/app/views/my_accounts/show.html+phone.slim +1 -0
  18. data/app/views/my_accounts/show.html.slim +57 -0
  19. data/app/views/profiles/_edit_credential.html.slim +67 -0
  20. data/app/views/profiles/_edit_profile.html.slim +40 -0
  21. data/app/views/profiles/_form.html.slim +12 -0
  22. data/app/views/profiles/_show.html.slim +1 -0
  23. data/app/views/profiles/edit.html.slim +30 -0
  24. data/app/views/profiles/index.html.slim +61 -0
  25. data/app/views/profiles/new.html.slim +65 -0
  26. data/app/views/profiles/show.html+phone.slim +1 -0
  27. data/app/views/profiles/show.html.slim +67 -0
  28. data/app/views/roles/_form.html.slim +16 -0
  29. data/app/views/roles/edit.html.slim +15 -0
  30. data/app/views/roles/index.html.slim +27 -0
  31. data/app/views/roles/new.html.slim +13 -0
  32. data/app/views/roles/show.html.slim +46 -0
  33. data/db/migrate/041_create_roles.rb +3 -3
  34. data/db/migrate/20130221154434_add_additional_attributes_to_user.rb +3 -3
  35. data/lib/enju_seed.rb +2 -3
  36. data/lib/enju_seed/engine.rb +1 -2
  37. data/lib/enju_seed/localized_name.rb +1 -3
  38. data/lib/enju_seed/version.rb +1 -1
  39. data/spec/controllers/my_accounts_controller_spec.rb +79 -79
  40. data/spec/controllers/profiles_controller_spec.rb +210 -210
  41. data/spec/controllers/roles_controller_spec.rb +47 -47
  42. data/spec/dummy/app/helpers/application_helper.rb +1 -1
  43. data/spec/dummy/app/models/user.rb +2 -2
  44. data/spec/dummy/bin/setup +8 -8
  45. data/spec/dummy/config/application.rb +2 -18
  46. data/spec/dummy/config/database.yml +70 -10
  47. data/spec/dummy/config/environment.rb +1 -1
  48. data/spec/dummy/config/environments/development.rb +24 -11
  49. data/spec/dummy/config/environments/production.rb +24 -17
  50. data/spec/dummy/config/environments/test.rb +6 -6
  51. data/spec/dummy/config/initializers/assets.rb +1 -1
  52. data/spec/dummy/config/initializers/friendly_id.rb +75 -75
  53. data/spec/dummy/db/migrate/001_create_agents.rb +6 -6
  54. data/spec/dummy/db/migrate/002_devise_create_users.rb +5 -6
  55. data/spec/dummy/db/migrate/005_create_manifestations.rb +12 -12
  56. data/spec/dummy/db/migrate/006_create_items.rb +5 -5
  57. data/spec/dummy/db/migrate/012_create_owns.rb +2 -2
  58. data/spec/dummy/db/migrate/015_create_creates.rb +2 -2
  59. data/spec/dummy/db/migrate/032_create_checkins.rb +1 -1
  60. data/spec/dummy/db/migrate/033_create_checkouts.rb +4 -4
  61. data/spec/dummy/db/migrate/035_create_reserves.rb +5 -5
  62. data/spec/dummy/db/migrate/047_create_produces.rb +2 -2
  63. data/spec/dummy/db/migrate/059_create_libraries.rb +6 -4
  64. data/spec/dummy/db/migrate/069_create_shelves.rb +2 -1
  65. data/spec/dummy/db/migrate/073_create_carrier_types.rb +1 -1
  66. data/spec/dummy/db/migrate/077_create_user_groups.rb +1 -1
  67. data/spec/dummy/db/migrate/080_create_library_groups.rb +2 -1
  68. data/spec/dummy/db/migrate/112_create_frequencies.rb +1 -1
  69. data/spec/dummy/db/migrate/117_create_form_of_works.rb +1 -1
  70. data/spec/dummy/db/migrate/120_create_baskets.rb +2 -1
  71. data/spec/dummy/db/migrate/121_create_checked_items.rb +3 -3
  72. data/spec/dummy/db/migrate/124_create_bookstores.rb +1 -1
  73. data/spec/dummy/db/migrate/125_create_donates.rb +2 -2
  74. data/spec/dummy/db/migrate/127_create_use_restrictions.rb +1 -1
  75. data/spec/dummy/db/migrate/129_create_item_has_use_restrictions.rb +2 -2
  76. data/spec/dummy/db/migrate/130_create_request_status_types.rb +1 -1
  77. data/spec/dummy/db/migrate/131_create_request_types.rb +1 -1
  78. data/spec/dummy/db/migrate/132_create_circulation_statuses.rb +1 -1
  79. data/spec/dummy/db/migrate/133_create_agent_merges.rb +1 -1
  80. data/spec/dummy/db/migrate/149_create_message_templates.rb +5 -5
  81. data/spec/dummy/db/migrate/154_create_messages.rb +2 -2
  82. data/spec/dummy/db/migrate/20080830154109_create_realizes.rb +2 -2
  83. data/spec/dummy/db/migrate/20080830172106_create_exemplifies.rb +13 -0
  84. data/spec/dummy/db/migrate/20080905191442_create_agent_types.rb +1 -1
  85. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +5 -2
  86. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +2 -1
  87. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +5 -5
  88. data/spec/dummy/db/migrate/20081025083323_create_countries.rb +8 -9
  89. data/spec/dummy/db/migrate/20081025083905_create_languages.rb +5 -6
  90. data/spec/dummy/db/migrate/20081027150907_create_picture_files.rb +1 -1
  91. data/spec/dummy/db/migrate/20081030023412_create_checkout_types.rb +1 -1
  92. data/spec/dummy/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +8 -8
  93. data/spec/dummy/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +3 -3
  94. data/spec/dummy/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +4 -4
  95. data/spec/dummy/db/migrate/20081215094955_create_checkout_stat_has_users.rb +3 -3
  96. data/spec/dummy/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +3 -3
  97. data/spec/dummy/db/migrate/20081220034117_create_reserve_stat_has_users.rb +2 -2
  98. data/spec/dummy/db/migrate/20090720091106_create_medium_of_performances.rb +1 -1
  99. data/spec/dummy/db/migrate/20090720091429_create_content_types.rb +1 -1
  100. data/spec/dummy/db/migrate/20090812151902_create_agent_relationship_types.rb +1 -1
  101. data/spec/dummy/db/migrate/20090831220301_create_lending_policies.rb +6 -6
  102. data/spec/dummy/db/migrate/20091025080447_create_licenses.rb +1 -1
  103. data/spec/dummy/db/migrate/20100607044753_create_manifestation_relationship_types.rb +1 -1
  104. data/spec/dummy/db/migrate/20110222073537_add_url_to_library_group.rb +1 -1
  105. data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +1 -1
  106. data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +3 -3
  107. data/spec/dummy/db/migrate/20110627122938_add_number_of_day_to_notify_overdue_to_user_group.rb +3 -3
  108. data/spec/dummy/db/migrate/20120125050502_add_depth_to_message.rb +0 -1
  109. data/spec/dummy/db/migrate/20120125152919_add_title_subseries_transcription_to_series_statement.rb +0 -1
  110. data/spec/dummy/db/migrate/20120129020544_add_budget_type_id_to_item.rb +0 -1
  111. data/spec/dummy/db/migrate/20120319120638_add_content_type_id_to_manifestation.rb +1 -2
  112. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +6 -3
  113. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +1 -1
  114. data/spec/dummy/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +2 -2
  115. data/spec/dummy/db/migrate/20130506175834_create_identifiers.rb +2 -2
  116. data/spec/dummy/db/migrate/20130519065638_add_lock_version_to_reserve.rb +1 -1
  117. data/spec/dummy/db/migrate/20130519065837_add_lock_version_to_checkin.rb +1 -1
  118. data/spec/dummy/db/migrate/20140518050147_create_reserve_transitions.rb +2 -2
  119. data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +2 -2
  120. data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +3 -3
  121. data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +4 -4
  122. data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +3 -3
  123. data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +3 -3
  124. data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +3 -3
  125. data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +3 -3
  126. data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +3 -3
  127. data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +4 -4
  128. data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +4 -4
  129. data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +0 -1
  130. data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +4 -4
  131. data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +0 -1
  132. data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +4 -4
  133. data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +1 -1
  134. data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +1 -1
  135. data/spec/dummy/db/migrate/20140821151023_create_colors.rb +3 -1
  136. data/spec/dummy/db/migrate/20141029131633_create_periodicals.rb +11 -0
  137. data/spec/dummy/db/migrate/20150124152756_add_foreign_key_to_shelves_referencing_libraries.rb +6 -0
  138. data/spec/dummy/db/migrate/20150221063719_add_settings_to_library_group.rb +1 -1
  139. data/spec/dummy/db/migrate/20150302110310_add_attachment_id_to_manifestation.rb +7 -0
  140. data/spec/dummy/db/migrate/20150304183215_add_picture_id_to_picture_file.rb +7 -0
  141. data/spec/dummy/db/migrate/20150305025906_add_resource_import_id_to_resource_import_file.rb +7 -0
  142. data/spec/dummy/db/migrate/20150305030046_add_resource_export_id_to_resource_export_file.rb +8 -0
  143. data/spec/dummy/db/migrate/20150305031709_add_agent_import_id_to_agent_import_file.rb +7 -0
  144. data/spec/dummy/db/migrate/20150305105231_add_attachment_fingerprint_to_manifestation.rb +5 -0
  145. data/spec/dummy/db/migrate/20150420145354_add_attachment_to_carrier_type.rb +8 -0
  146. data/spec/dummy/db/migrate/20150420145420_add_attachment_to_content_type.rb +8 -0
  147. data/spec/dummy/db/migrate/20150924115059_create_withdraws.rb +5 -3
  148. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +2 -4
  149. data/spec/dummy/db/migrate/20151213072705_add_footer_banner_to_library_group.rb +2 -19
  150. data/spec/dummy/db/migrate/20151216123621_create_doi_records.rb +12 -0
  151. data/spec/dummy/db/migrate/20160319144230_create_issn_records.rb +12 -0
  152. data/spec/dummy/db/migrate/20160506144040_create_isbn_records.rb +12 -0
  153. data/spec/dummy/db/migrate/20160513000929_create_agent_names.rb +18 -0
  154. data/spec/dummy/db/migrate/20160801080612_add_most_recent_to_import_request_transitions.rb +9 -0
  155. data/spec/dummy/db/migrate/20160801080619_add_most_recent_to_resource_import_file_transitions.rb +9 -0
  156. data/spec/dummy/db/migrate/20160801080637_add_most_recent_to_resource_export_file_transitions.rb +9 -0
  157. data/spec/dummy/db/migrate/20160801080643_add_most_recent_to_agent_import_file_transitions.rb +9 -0
  158. data/spec/dummy/db/migrate/20161111175127_add_attachment_data_to_manifestation.rb +5 -0
  159. data/spec/dummy/db/migrate/20161111193255_add_attachment_data_to_carrier_type.rb +5 -0
  160. data/spec/dummy/db/migrate/20161111193346_add_attachment_data_to_content_type.rb +5 -0
  161. data/spec/dummy/db/migrate/20161112122706_add_attachment_data_to_resource_import_file.rb +5 -0
  162. data/spec/dummy/db/migrate/20161112122750_add_attachment_data_to_resource_export_file.rb +5 -0
  163. data/spec/dummy/db/migrate/20161112122814_add_attachment_data_to_agent_import_file.rb +5 -0
  164. data/spec/dummy/db/schema.rb +1418 -1402
  165. data/spec/factories/profile.rb +10 -10
  166. data/spec/factories/user.rb +10 -10
  167. data/spec/factories/user_group.rb +2 -2
  168. data/spec/fixtures/library_groups.yml +1 -0
  169. data/spec/models/profile_spec.rb +20 -19
  170. data/spec/models/role_spec.rb +7 -7
  171. data/spec/models/user_has_role_spec.rb +1 -2
  172. data/spec/models/user_spec.rb +25 -26
  173. data/spec/rails_helper.rb +7 -6
  174. data/spec/requests/profiles_spec.rb +3 -3
  175. data/spec/routing/profiles_routing_spec.rb +16 -18
  176. data/spec/routing/roles_routing_spec.rb +16 -18
  177. data/spec/routing/users_spec.rb +6 -7
  178. data/spec/spec_helper.rb +47 -49
  179. data/spec/support/controller_macros.rb +9 -9
  180. data/spec/views/my_accounts/show.html.erb_spec.rb +6 -6
  181. data/spec/views/profiles/edit.html.erb_spec.rb +7 -7
  182. data/spec/views/profiles/index.html.erb_spec.rb +3 -3
  183. data/spec/views/profiles/new.html.erb_spec.rb +5 -6
  184. data/spec/views/profiles/show.html.erb_spec.rb +3 -3
  185. metadata +323 -323
  186. data/app/views/my_accounts/_edit_credential.html.erb +0 -99
  187. data/app/views/my_accounts/_form.html.erb +0 -24
  188. data/app/views/my_accounts/_show.html.erb +0 -1
  189. data/app/views/my_accounts/edit.html.erb +0 -32
  190. data/app/views/my_accounts/show.html.erb +0 -49
  191. data/app/views/profiles/_edit_profile.html.erb +0 -42
  192. data/app/views/profiles/_form.html.erb +0 -15
  193. data/app/views/profiles/_show.html.erb +0 -1
  194. data/app/views/profiles/edit.html.erb +0 -33
  195. data/app/views/profiles/index.html.erb +0 -70
  196. data/app/views/profiles/new.html.erb +0 -88
  197. data/app/views/profiles/show.html+phone.erb +0 -1
  198. data/app/views/profiles/show.html.erb +0 -67
  199. data/app/views/roles/_form.html.erb +0 -19
  200. data/app/views/roles/edit.html.erb +0 -13
  201. data/app/views/roles/index.html.erb +0 -32
  202. data/app/views/roles/new.html.erb +0 -12
  203. data/app/views/roles/show.html.erb +0 -46
  204. data/lib/generators/enju_seed/update/update_generator.rb +0 -9
  205. data/spec/dummy/db/migrate/20170305064014_add_csv_charset_conversion_to_library_group.rb +0 -5
  206. data/spec/dummy/db/migrate/20171014084528_add_header_logo_to_library_group.rb +0 -5
  207. data/spec/dummy/db/migrate/20171126133835_rename_login_banner_to_old_login_banner.rb +0 -5
  208. data/spec/dummy/db/migrate/20171126135238_add_foreign_key_to_library_group_id_on_library.rb +0 -5
  209. data/spec/dummy/db/migrate/20180102162311_add_header_logo_meta_to_library_group.rb +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f82f28685be0ce77bbae3b1a5669dd3f8e4efd7a
4
- data.tar.gz: 6e850f5e9c2962054d294a256eada15067afa5a5
3
+ metadata.gz: 12d5406b47c01ad5eff1fddf96780ac07cb9811f
4
+ data.tar.gz: 58e3757e3a87b1f4007c1a64b3d7d8a2fa688826
5
5
  SHA512:
6
- metadata.gz: 12a0dad577c19e0f6a5d82101381ddd630bb06d24a3fdd8fc57641f8f661c0c854105d66f75a00b758a39c2e19abb7ba8b200ed5cc1dcc7c10a3918c37d70477
7
- data.tar.gz: ffcaaf6327814aff63e4a3bc3f40576b61aebf712287659e35fbfd6b9e90e014e466ad9f4a23283d3741588e0ee41733dc408c677708c3270b07594e9335a0ba
6
+ metadata.gz: dcf4b2c8b790217b06a9331578e168232571dc7335e4d3f0b411f81629dcf1a3f9efacc26eb0ac36748dfcdf605c2b945473a4994c9e2f2ffe37d535388af5bf
7
+ data.tar.gz: a30958543f26617543bfacf25d7f04b40cca36b093fbc8cc6426ee21b5c901a6630c1114b52ccf4b9ee5535b3c215d70af4f6071b78dd614f1ccd33293ee3f6f
data/Rakefile CHANGED
@@ -10,23 +10,32 @@ RDoc::Task.new(:rdoc) do |rdoc|
10
10
  rdoc.rdoc_dir = 'rdoc'
11
11
  rdoc.title = 'EnjuSeed'
12
12
  rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.rdoc')
13
+ rdoc.rdoc_files.include('README.md')
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
17
- APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
17
+ APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
18
18
  load 'rails/tasks/engine.rake'
19
19
 
20
+ load 'rails/tasks/statistics.rake'
20
21
 
22
+ require 'bundler/gem_tasks'
21
23
 
22
- Bundler::GemHelper.install_tasks
24
+ require 'rake/testtask'
23
25
 
24
- require 'rspec/core'
25
- require 'rspec/core/rake_task'
26
-
27
- RSpec::Core::RakeTask.new(:spec) do |spec|
28
- spec.pattern = FileList['spec/**/*_spec.rb']
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'lib'
28
+ t.libs << 'test'
29
+ t.pattern = 'test/**/*_test.rb'
30
+ t.verbose = false
29
31
  end
30
32
 
33
+ begin
34
+ require 'rspec/core/rake_task'
35
+
36
+ RSpec::Core::RakeTask.new(:spec)
37
+ rescue LoadError
38
+ # no rspec available
39
+ end
31
40
 
32
41
  task default: :spec
@@ -18,9 +18,11 @@ class MyAccountsController < ApplicationController
18
18
  user_attrs = [
19
19
  :id, :email, :current_password, :password, :password_confirmation
20
20
  ]
21
- user_attrs += [
22
- {:user_has_role_attributes => [:id, :role_id]}
23
- ] if current_user.has_role?('Administrator')
21
+ if current_user.has_role?('Administrator')
22
+ user_attrs += [
23
+ { user_has_role_attributes: [:id, :role_id] }
24
+ ]
25
+ end
24
26
 
25
27
  user_params = ActionController::Parameters.new(params[:profile][:user_attributes]).permit(*user_attrs)
26
28
 
@@ -35,7 +37,7 @@ class MyAccountsController < ApplicationController
35
37
  format.json { head :no_content }
36
38
  else
37
39
  prepare_options
38
- format.html { render action: "edit" }
40
+ format.html { render action: 'edit' }
39
41
  format.json { render json: current_user.errors, status: :unprocessable_entity }
40
42
  end
41
43
  else
@@ -43,7 +45,7 @@ class MyAccountsController < ApplicationController
43
45
  @profile.errors[:base] << msg
44
46
  end
45
47
  prepare_options
46
- format.html { render action: "edit" }
48
+ format.html { render action: 'edit' }
47
49
  format.json { render json: current_user.errors, status: :unprocessable_entity }
48
50
  end
49
51
  end
@@ -59,6 +61,7 @@ class MyAccountsController < ApplicationController
59
61
  end
60
62
 
61
63
  private
64
+
62
65
  def set_profile
63
66
  @profile = current_user.profile
64
67
  authorize @profile
@@ -73,9 +76,7 @@ class MyAccountsController < ApplicationController
73
76
  :save_checkout_history, :checkout_icalendar_token, # EnjuCirculation
74
77
  :save_search_history # EnjuSearchLog
75
78
  ]
76
- if current_user.has_role?('Librarian')
77
- attrs << :user_group_id
78
- end
79
+ attrs << :user_group_id if current_user.has_role?('Librarian')
79
80
  params.require(:profile).permit(*attrs)
80
81
  end
81
82
 
@@ -84,10 +85,10 @@ class MyAccountsController < ApplicationController
84
85
  @roles = Role.order(:position)
85
86
  @libraries = Library.order(:position)
86
87
  @languages = Language.order(:position)
87
- if current_user.active_for_authentication?
88
- current_user.locked = '0'
89
- else
90
- current_user.locked = '1'
91
- end
88
+ current_user.locked = if current_user.active_for_authentication?
89
+ '0'
90
+ else
91
+ '1'
92
+ end
92
93
  end
93
94
  end
@@ -17,7 +17,7 @@ class ProfilesController < ApplicationController
17
17
  @query = query.dup
18
18
  @count = {}
19
19
 
20
- sort = {sort_by: 'created_at', order: 'desc'}
20
+ sort = { sort_by: 'created_at', order: 'desc' }
21
21
  case params[:sort_by]
22
22
  when 'username'
23
23
  sort[:sort_by] = 'username'
@@ -87,7 +87,7 @@ class ProfilesController < ApplicationController
87
87
  else
88
88
  @profile.reset_checkout_icalendar_token
89
89
  end
90
- render partial: 'feed_token', locals: {profile: @profile}
90
+ render partial: 'feed_token', locals: { profile: @profile }
91
91
  return
92
92
  end
93
93
  end
@@ -95,9 +95,7 @@ class ProfilesController < ApplicationController
95
95
  redirect_to edit_my_account_url
96
96
  return
97
97
  end
98
- if @profile.user.try(:locked_at?)
99
- @profile.user.locked = true
100
- end
98
+ @profile.user.locked = true if @profile.user.try(:locked_at?)
101
99
  end
102
100
 
103
101
  # POST /profiles
@@ -105,9 +103,7 @@ class ProfilesController < ApplicationController
105
103
  def create
106
104
  if current_user.has_role?('Librarian')
107
105
  @profile = Profile.new(profile_params)
108
- if @profile.user
109
- password = @profile.user.set_auto_generated_password
110
- end
106
+ password = @profile.user.set_auto_generated_password if @profile.user
111
107
  else
112
108
  @profile = Profile.new(profile_params)
113
109
  end
@@ -122,7 +118,7 @@ class ProfilesController < ApplicationController
122
118
  format.json { render json: @profile, status: :created, location: @profile }
123
119
  else
124
120
  prepare_options
125
- format.html { render action: "new" }
121
+ format.html { render action: 'new' }
126
122
  format.json { render json: @profile.errors, status: :unprocessable_entity }
127
123
  end
128
124
  end
@@ -133,7 +129,7 @@ class ProfilesController < ApplicationController
133
129
  def update
134
130
  @profile.update_attributes(profile_update_params)
135
131
  if @profile.user
136
- if @profile.user.auto_generated_password == "1"
132
+ if @profile.user.auto_generated_password == '1'
137
133
  password = @profile.user.set_auto_generated_password
138
134
  end
139
135
  end
@@ -145,7 +141,7 @@ class ProfilesController < ApplicationController
145
141
  format.json { head :no_content }
146
142
  else
147
143
  prepare_options
148
- format.html { render action: "edit" }
144
+ format.html { render action: 'edit' }
149
145
  format.json { render json: @profile.errors, status: :unprocessable_entity }
150
146
  end
151
147
  end
@@ -163,6 +159,7 @@ class ProfilesController < ApplicationController
163
159
  end
164
160
 
165
161
  private
162
+
166
163
  def set_profile
167
164
  @profile = Profile.find(params[:id])
168
165
  authorize @profile
@@ -179,15 +176,17 @@ class ProfilesController < ApplicationController
179
176
  :save_checkout_history, :checkout_icalendar_token, # EnjuCirculation
180
177
  :save_search_history, # EnjuSearchLog
181
178
  ]
182
- attrs += [
183
- :library_id, :expired_at, :birth_date,
184
- :user_group_id, :required_role_id, :note, :user_number, {
185
- :user_attributes => [
186
- :id, :username, :email, :current_password, :locked,
187
- {:user_has_role_attributes => [:id, :role_id]}
188
- ]
189
- }
190
- ] if current_user.has_role?('Librarian')
179
+ if current_user.has_role?('Librarian')
180
+ attrs += [
181
+ :library_id, :expired_at, :birth_date,
182
+ :user_group_id, :required_role_id, :note, :user_number, {
183
+ user_attributes: [
184
+ :id, :username, :email, :current_password, :locked,
185
+ { user_has_role_attributes: [:id, :role_id] }
186
+ ]
187
+ }
188
+ ]
189
+ end
191
190
  params.require(:profile).permit(*attrs)
192
191
  end
193
192
 
@@ -198,15 +197,17 @@ class ProfilesController < ApplicationController
198
197
  :save_checkout_history, :checkout_icalendar_token, # EnjuCirculation
199
198
  :save_search_history, # EnjuSearchLog
200
199
  ]
201
- attrs += [
202
- :library_id, :expired_at, :birth_date,
203
- :user_group_id, :required_role_id, :note, :user_number, {
204
- :user_attributes => [
205
- :id, :email, :current_password, :auto_generated_password, :locked,
206
- {:user_has_role_attributes => [:id, :role_id]}
207
- ]
208
- }
209
- ] if current_user.has_role?('Librarian')
200
+ if current_user.has_role?('Librarian')
201
+ attrs += [
202
+ :library_id, :expired_at, :birth_date,
203
+ :user_group_id, :required_role_id, :note, :user_number, {
204
+ user_attributes: [
205
+ :id, :email, :current_password, :auto_generated_password, :locked,
206
+ { user_has_role_attributes: [:id, :role_id] }
207
+ ]
208
+ }
209
+ ]
210
+ end
210
211
  params.require(:profile).permit(*attrs)
211
212
  end
212
213
 
@@ -39,13 +39,14 @@ class RolesController < ApplicationController
39
39
  format.html { redirect_to @role, notice: t('controller.successfully_updated', model: t('activerecord.models.role')) }
40
40
  format.json { head :no_content }
41
41
  else
42
- format.html { render action: "edit" }
42
+ format.html { render action: 'edit' }
43
43
  format.json { render json: @role.errors, status: :unprocessable_entity }
44
44
  end
45
45
  end
46
46
  end
47
47
 
48
48
  private
49
+
49
50
  def set_role
50
51
  @role = Role.find(params[:id])
51
52
  authorize @role
@@ -21,14 +21,14 @@ module EnjuSeed
21
21
  validates :username, presence: true, uniqueness: true, format: {
22
22
  with: /\A[0-9A-Za-z][0-9A-Za-z_\-]*[0-9A-Za-z]\z/
23
23
  }
24
- validates :email, format: Devise::email_regexp, allow_blank: true, uniqueness: true
24
+ validates :email, format: Devise.email_regexp, allow_blank: true, uniqueness: true
25
25
  validates_date :expired_at, allow_blank: true
26
26
 
27
27
  with_options if: :password_required? do |v|
28
28
  v.validates_presence_of :password
29
29
  v.validates_confirmation_of :password
30
30
  v.validates_length_of :password, allow_blank: true,
31
- within: Devise::password_length
31
+ within: Devise.password_length
32
32
  end
33
33
 
34
34
  before_validation :set_lock_information
@@ -42,8 +42,8 @@ module EnjuSeed
42
42
  strip_attributes only: :email, allow_empty: true
43
43
 
44
44
  attr_accessor :password_not_verified,
45
- :update_own_account, :auto_generated_password,
46
- :locked, :current_password #, :agent_id
45
+ :update_own_account, :auto_generated_password,
46
+ :locked, :current_password # , :agent_id
47
47
 
48
48
  paginates_per 10
49
49
 
@@ -54,13 +54,13 @@ module EnjuSeed
54
54
  # 有効期限切れのユーザを一括で使用不可にします。
55
55
  def self.lock_expired_users
56
56
  User.find_each do |user|
57
- user.lock_access! if user.expired? and user.active_for_authentication?
57
+ user.lock_access! if user.expired? && user.active_for_authentication?
58
58
  end
59
59
  end
60
60
 
61
61
  # ユーザの情報をエクスポートします。
62
62
  # @param [Hash] options
63
- def self.export(options = {format: :txt})
63
+ def self.export(options = { format: :txt })
64
64
  header = %w(
65
65
  username
66
66
  full_name
@@ -79,14 +79,16 @@ module EnjuSeed
79
79
  keyword_list
80
80
  note
81
81
  )
82
- header += %w(
83
- checkout_icalendar_token
84
- save_checkout_history
85
- ) if defined? EnjuCirculation
86
- header << "save_search_history" if defined? EnjuSearchLog
87
- header << "share_bookmarks" if defined? EnjuBookmark
82
+ if defined? EnjuCirculation
83
+ header += %w(
84
+ checkout_icalendar_token
85
+ save_checkout_history
86
+ )
87
+ end
88
+ header << 'save_search_history' if defined? EnjuSearchLog
89
+ header << 'share_bookmarks' if defined? EnjuBookmark
88
90
  lines = []
89
- User.find_each.map{|u|
91
+ User.find_each.map do |u|
90
92
  line = []
91
93
  line << u.username
92
94
  line << u.try(:profile).try(:full_name)
@@ -102,7 +104,7 @@ module EnjuSeed
102
104
  line << u.created_at
103
105
  line << u.updated_at
104
106
  line << u.try(:profile).try(:expired_at)
105
- line << u.try(:profile).try(:keyword_list).try(:split).try(:join, "//")
107
+ line << u.try(:profile).try(:keyword_list).try(:split).try(:join, '//')
106
108
  line << u.try(:profile).try(:note)
107
109
  if defined? EnjuCirculation
108
110
  line << u.try(:profile).try(:checkout_icalendar_token)
@@ -111,13 +113,11 @@ module EnjuSeed
111
113
  if defined? EnjuSearchLog
112
114
  line << u.try(:profile).try(:save_search_history)
113
115
  end
114
- if defined? EnjuBookmark
115
- line << u.try(:profile).try(:share_bookmarks)
116
- end
116
+ line << u.try(:profile).try(:share_bookmarks) if defined? EnjuBookmark
117
117
  lines << line
118
- }
118
+ end
119
119
  if options[:format] == :txt
120
- lines.map{|line| line.to_csv(col_sep: "\t")}.unshift(header.to_csv(col_sep: "\t")).join
120
+ lines.map { |line| line.to_csv(col_sep: "\t") }.unshift(header.to_csv(col_sep: "\t")).join
121
121
  else
122
122
  lines
123
123
  end
@@ -150,9 +150,9 @@ module EnjuSeed
150
150
 
151
151
  # ユーザに使用不可の設定を反映させます。
152
152
  def set_lock_information
153
- if locked == '1' and self.active_for_authentication?
153
+ if (locked == '1') && active_for_authentication?
154
154
  lock_access!
155
- elsif locked == '0' and !self.active_for_authentication?
155
+ elsif (locked == '0') && !active_for_authentication?
156
156
  unlock_access!
157
157
  end
158
158
  end
@@ -240,9 +240,7 @@ module EnjuSeed
240
240
  errors[:base] << I18n.t('user.only_administrator_can_destroy')
241
241
  end
242
242
  # 最後の図書館員を削除しようとした
243
- if last_librarian?
244
- errors[:base] << I18n.t('user.last_librarian')
245
- end
243
+ errors[:base] << I18n.t('user.last_librarian') if last_librarian?
246
244
  end
247
245
 
248
246
  # 最後の管理者を削除しようとした
@@ -261,7 +259,6 @@ module EnjuSeed
261
259
  end
262
260
  end
263
261
 
264
-
265
262
  # == Schema Information
266
263
  #
267
264
  # Table name: users
@@ -306,4 +303,3 @@ end
306
303
  # save_search_history :boolean
307
304
  # answer_feed_token :string(255)
308
305
  #
309
-
@@ -3,7 +3,7 @@ module MasterModel
3
3
 
4
4
  included do
5
5
  acts_as_list
6
- validates_uniqueness_of :name, case_sensitive: false
6
+ validates :name, uniqueness: { case_sensitive: false }
7
7
  validates :name, presence: true
8
8
  validate :name do
9
9
  valid_name?
@@ -22,6 +22,7 @@ module MasterModel
22
22
  end
23
23
 
24
24
  private
25
+
25
26
  def valid_name?
26
27
  unless name =~ /\A[a-z][0-9a-z_]*[0-9a-z]\z/
27
28
  errors.add(:name, I18n.t('page.only_lowercase_letters_and_numbers_are_allowed'))
@@ -29,10 +30,8 @@ module MasterModel
29
30
  end
30
31
 
31
32
  def valid_yaml?
32
- begin
33
- YAML.load(display_name)
34
- rescue Psych::SyntaxError
35
- errors.add(:display_name, I18n.t('page.cannot_parse_yaml_header'))
36
- end
33
+ YAML.load(display_name)
34
+ rescue Psych::SyntaxError
35
+ errors.add(:display_name, I18n.t('page.cannot_parse_yaml_header'))
37
36
  end
38
37
  end
@@ -1,6 +1,6 @@
1
1
  class Identity < ActiveRecord::Base
2
2
  belongs_to :profile
3
- validates :name, presence: true, uniqueness: {scope: :provider}
3
+ validates :name, presence: true, uniqueness: { scope: :provider }
4
4
  validates :provider, presence: true
5
5
 
6
6
  def self.find_for_oauth(auth)
@@ -6,14 +6,14 @@ class Profile < ActiveRecord::Base
6
6
  belongs_to :user, dependent: :destroy
7
7
  belongs_to :library, validate: true
8
8
  belongs_to :user_group
9
- belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id' #, validate: true
9
+ belongs_to :required_role, class_name: 'Role', foreign_key: 'required_role_id' # , validate: true
10
10
  has_many :identities
11
11
  has_many :agents
12
12
  accepts_nested_attributes_for :identities, allow_destroy: true, reject_if: :all_blank
13
13
 
14
14
  validates_associated :user_group, :library
15
- validates :user, uniqueness: true, associated: true, allow_blank: true
16
- validates_presence_of :user_group, :library, :locale #, :user_number
15
+ validates_associated :user
16
+ validates :user_group, :library, :locale, presence: true # , :user_number
17
17
  validates :user_number, uniqueness: true, format: { with: /\A[0-9A-Za-z_]+\z/ }, allow_blank: true
18
18
  validates :user_id, uniqueness: true, allow_blank: true
19
19
  validates :birth_date, format: { with: /\A\d{4}-\d{1,2}-\d{1,2}\z/ }, allow_blank: true
@@ -15,7 +15,7 @@ class Role < ActiveRecord::Base
15
15
 
16
16
  def self.all_cache
17
17
  if Rails.env == 'production'
18
- Rails.cache.fetch('role_all'){ Role.select(:name).all }
18
+ Rails.cache.fetch('role_all') { Role.select(:name).all }
19
19
  else
20
20
  Role.select(:name)
21
21
  end
@@ -30,6 +30,7 @@ class Role < ActiveRecord::Base
30
30
  end
31
31
 
32
32
  private
33
+
33
34
  def valid_name?
34
35
  true
35
36
  end