enju_circulation 0.1.0.pre41 → 0.1.0.pre42

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 (140) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/carrier_type_has_checkout_types_controller.rb +10 -4
  3. data/app/controllers/checked_items_controller.rb +8 -1
  4. data/app/controllers/checkins_controller.rb +6 -1
  5. data/app/controllers/checkout_types_controller.rb +8 -3
  6. data/app/controllers/checkouts_controller.rb +11 -4
  7. data/app/controllers/circulation_statuses_controller.rb +7 -2
  8. data/app/controllers/demands_controller.rb +85 -0
  9. data/app/controllers/item_has_use_restrictions_controller.rb +9 -3
  10. data/app/controllers/lending_policies_controller.rb +8 -1
  11. data/app/controllers/manifestation_checkout_stats_controller.rb +11 -2
  12. data/app/controllers/manifestation_reserve_stats_controller.rb +9 -2
  13. data/app/controllers/reserves_controller.rb +37 -9
  14. data/app/controllers/use_restrictions_controller.rb +7 -2
  15. data/app/controllers/user_checkout_stats_controller.rb +9 -2
  16. data/app/controllers/user_group_has_checkout_types_controller.rb +12 -2
  17. data/app/controllers/user_reserve_stats_controller.rb +9 -2
  18. data/app/helpers/items_helper.rb +17 -0
  19. data/app/models/carrier_type_has_checkout_type.rb +0 -1
  20. data/app/models/checked_item.rb +1 -2
  21. data/app/models/checkin.rb +0 -1
  22. data/app/models/checkout.rb +0 -1
  23. data/app/models/checkout_stat_has_manifestation.rb +2 -2
  24. data/app/models/checkout_stat_has_user.rb +2 -2
  25. data/app/models/checkout_type.rb +0 -2
  26. data/app/models/circulation_status.rb +0 -1
  27. data/app/models/demand.rb +5 -0
  28. data/app/models/enju_circulation/ability.rb +2 -0
  29. data/app/models/item_has_use_restriction.rb +0 -1
  30. data/app/models/lending_policy.rb +0 -2
  31. data/app/models/manifestation_checkout_stat.rb +5 -2
  32. data/app/models/manifestation_checkout_stat_transition.rb +1 -1
  33. data/app/models/manifestation_reserve_stat.rb +5 -2
  34. data/app/models/manifestation_reserve_stat_transition.rb +1 -1
  35. data/app/models/reserve.rb +24 -27
  36. data/app/models/reserve_stat_has_manifestation.rb +0 -3
  37. data/app/models/reserve_stat_has_user.rb +3 -3
  38. data/app/models/reserve_state_machine.rb +7 -7
  39. data/app/models/reserve_transition.rb +1 -1
  40. data/app/models/use_restriction.rb +0 -2
  41. data/app/models/user_checkout_stat.rb +5 -2
  42. data/app/models/user_checkout_stat_transition.rb +1 -1
  43. data/app/models/user_group_has_checkout_type.rb +0 -5
  44. data/app/models/user_reserve_stat.rb +5 -2
  45. data/app/models/user_reserve_stat_transition.rb +1 -1
  46. data/app/views/checkouts/_index.html.erb +1 -1
  47. data/app/views/checkouts/_index_item.html.erb +1 -1
  48. data/app/views/checkouts/_index_overdue.html.erb +1 -1
  49. data/app/views/checkouts/_index_user.html.erb +1 -1
  50. data/app/views/checkouts/_list.html.erb +2 -4
  51. data/app/views/demands/_form.html.erb +29 -0
  52. data/app/views/demands/edit.html.erb +6 -0
  53. data/app/views/demands/index.html.erb +31 -0
  54. data/app/views/demands/new.html.erb +5 -0
  55. data/app/views/demands/show.html.erb +19 -0
  56. data/app/views/manifestation_checkout_stats/_group_by_carrier_type.html.erb +29 -28
  57. data/app/views/manifestation_checkout_stats/_group_by_checkout_type.html.erb +29 -28
  58. data/config/locales/translation_en.yml +1 -0
  59. data/config/locales/translation_ja.yml +1 -0
  60. data/config/routes.rb +2 -0
  61. data/db/migrate/20150106001709_create_demands.rb +14 -0
  62. data/lib/enju_circulation/accept.rb +1 -0
  63. data/lib/enju_circulation/carrier_type.rb +15 -0
  64. data/lib/enju_circulation/item.rb +3 -2
  65. data/lib/enju_circulation/profile.rb +0 -3
  66. data/lib/enju_circulation/user.rb +7 -3
  67. data/lib/enju_circulation/user_group.rb +0 -1
  68. data/lib/enju_circulation/version.rb +1 -1
  69. data/lib/enju_circulation.rb +2 -0
  70. data/spec/controllers/checked_items_controller_spec.rb +18 -18
  71. data/spec/controllers/checkouts_controller_spec.rb +3 -3
  72. data/spec/dummy/app/models/user.rb +0 -1
  73. data/spec/dummy/bin/bundle +3 -0
  74. data/spec/dummy/bin/rails +4 -0
  75. data/spec/dummy/bin/rake +4 -0
  76. data/spec/dummy/bin/setup +29 -0
  77. data/spec/dummy/config/application.rb +1 -1
  78. data/spec/dummy/config/environments/development.rb +2 -2
  79. data/spec/dummy/config/routes.rb +2 -0
  80. data/spec/dummy/db/migrate/{20111201155456_devise_create_users.rb → 002_devise_create_users.rb} +6 -2
  81. data/spec/dummy/db/migrate/041_create_roles.rb +13 -0
  82. data/spec/dummy/db/migrate/059_create_libraries.rb +1 -5
  83. data/spec/dummy/db/migrate/069_create_shelves.rb +1 -5
  84. data/spec/dummy/db/migrate/077_create_user_groups.rb +3 -7
  85. data/spec/dummy/db/migrate/080_create_library_groups.rb +2 -10
  86. data/spec/dummy/db/migrate/113_create_events.rb +2 -2
  87. data/spec/dummy/db/migrate/124_create_bookstores.rb +17 -0
  88. data/spec/dummy/db/migrate/130_create_request_status_types.rb +1 -5
  89. data/spec/dummy/db/migrate/131_create_request_types.rb +1 -5
  90. data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +17 -0
  91. data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +14 -0
  92. data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +17 -0
  93. data/spec/dummy/db/migrate/20081028093607_create_event_import_files.rb +25 -0
  94. data/spec/dummy/db/migrate/20090519203307_create_participates.rb +17 -0
  95. data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +9 -0
  96. data/spec/dummy/db/migrate/{20111201163718_create_user_has_roles.rb → 20100606065209_create_user_has_roles.rb} +2 -0
  97. data/spec/dummy/db/migrate/20100925074639_create_event_import_results.rb +15 -0
  98. data/spec/dummy/db/migrate/{20111201121844_create_roles.rb → 20120129014038_create_budget_types.rb} +2 -2
  99. data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +14 -0
  100. data/spec/dummy/db/migrate/20120413051535_add_event_import_fingerprint_to_event_import_file.rb +5 -0
  101. data/spec/dummy/db/migrate/20120413170734_add_error_message_to_event_import_file.rb +5 -0
  102. data/spec/dummy/db/migrate/20120415060342_rename_event_import_file_imported_at_to_executed_at.rb +9 -0
  103. data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +5 -0
  104. data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +6 -0
  105. data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +18 -0
  106. data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +11 -0
  107. data/spec/dummy/db/migrate/20140122054321_create_profiles.rb +1 -1
  108. data/spec/dummy/db/migrate/20140523171309_create_event_import_file_transitions.rb +18 -0
  109. data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +18 -0
  110. data/spec/dummy/db/migrate/20140628071719_add_user_encoding_to_event_import_file.rb +5 -0
  111. data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +5 -0
  112. data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +11 -0
  113. data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +18 -0
  114. data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +5 -0
  115. data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +5 -0
  116. data/spec/dummy/db/migrate/20140720192418_add_default_library_id_to_event_import_file.rb +5 -0
  117. data/spec/dummy/db/migrate/20140812152348_create_event_export_files.rb +11 -0
  118. data/spec/dummy/db/migrate/20140812153137_create_event_export_file_transitions.rb +18 -0
  119. data/spec/dummy/db/migrate/20140814070854_add_default_event_category_id_to_event_import_file.rb +5 -0
  120. data/spec/dummy/db/migrate/20140821151023_create_colors.rb +14 -0
  121. data/spec/dummy/db/migrate/20141003181336_add_full_name_transcription_to_profile.rb +5 -0
  122. data/spec/dummy/db/migrate/20141003182825_add_date_of_birth_to_profile.rb +5 -0
  123. data/spec/dummy/db/schema.rb +246 -58
  124. data/spec/fixtures/checkouts.yml +1 -1
  125. data/spec/fixtures/demands.yml +11 -0
  126. data/spec/fixtures/events.yml +13 -39
  127. data/spec/fixtures/library_groups.yml +0 -2
  128. metadata +105 -43
  129. data/db/migrate/20111217234412_add_save_checkout_history_to_user.rb +0 -5
  130. data/db/migrate/20111218002349_add_checkout_icalendar_token_to_user.rb +0 -6
  131. data/spec/dummy/db/migrate/20090719201843_create_extents.rb +0 -12
  132. data/spec/dummy/db/migrate/20100222124420_add_allow_bookmark_external_url_to_library_group.rb +0 -9
  133. data/spec/dummy/db/migrate/20110115022329_add_position_to_library_group.rb +0 -9
  134. data/spec/dummy/db/migrate/20110425133109_add_issn_to_series_statement.rb +0 -9
  135. data/spec/dummy/db/migrate/20110618091240_add_periodical_to_series_statement.rb +0 -9
  136. data/spec/dummy/db/migrate/20110820131417_create_series_has_manifestations.rb +0 -13
  137. data/spec/dummy/db/migrate/20111020063828_remove_dsbl_from_library_group.rb +0 -11
  138. data/spec/dummy/db/migrate/20120224094141_create_delayed_jobs.rb +0 -22
  139. data/spec/dummy/script/delayed_job +0 -5
  140. data/spec/dummy/script/rails +0 -6
@@ -1,7 +1,5 @@
1
1
  class CheckoutType < ActiveRecord::Base
2
- attr_accessible :name, :display_name, :note
3
2
  include MasterModel
4
- default_scope { order('checkout_types.position') }
5
3
  scope :available_for_carrier_type, lambda {|carrier_type| includes(:carrier_types).where('carrier_types.name = ?', carrier_type.name).order('carrier_types.position')}
6
4
  scope :available_for_user_group, lambda {|user_group| includes(:user_groups).where('user_groups.name = ?', user_group.name).order('user_group.position')}
7
5
 
@@ -1,5 +1,4 @@
1
1
  class CirculationStatus < ActiveRecord::Base
2
- attr_accessible :name, :display_name, :note
3
2
  include MasterModel
4
3
  validates :name, presence: true, format: { with: /\A[0-9A-Za-z][0-9A-Za-z_\-\s,]*[0-9a-z]\Z/ }
5
4
 
@@ -0,0 +1,5 @@
1
+ class Demand < ActiveRecord::Base
2
+ belongs_to :user
3
+ belongs_to :item
4
+ belongs_to :message
5
+ end
@@ -19,6 +19,7 @@ module EnjuCirculation
19
19
  CheckoutStatHasManifestation,
20
20
  CheckoutStatHasUser,
21
21
  CheckoutType,
22
+ Demand,
22
23
  ItemHasUseRestriction,
23
24
  ManifestationCheckoutStat,
24
25
  ManifestationReserveStat,
@@ -50,6 +51,7 @@ module EnjuCirculation
50
51
  Basket,
51
52
  CheckedItem,
52
53
  Checkin,
54
+ Demand,
53
55
  ManifestationCheckoutStat,
54
56
  ManifestationReserveStat,
55
57
  Reserve
@@ -1,5 +1,4 @@
1
1
  class ItemHasUseRestriction < ActiveRecord::Base
2
- attr_accessible :item_id, :use_restriction_id, :use_restriction
3
2
  belongs_to :item, validate: true
4
3
  belongs_to :use_restriction, validate: true
5
4
  accepts_nested_attributes_for :use_restriction
@@ -1,6 +1,4 @@
1
1
  class LendingPolicy < ActiveRecord::Base
2
- attr_accessible :item_id, :user_group_id, :loan_period, :fixed_due_date,
3
- :renewal, :fine, :note, :position
4
2
  default_scope { order('lending_policies.position') }
5
3
  belongs_to :item
6
4
  belongs_to :user_group
@@ -1,7 +1,6 @@
1
1
  class ManifestationCheckoutStat < ActiveRecord::Base
2
- include Statesman::Adapters::ActiveRecordModel
2
+ include Statesman::Adapters::ActiveRecordQueries
3
3
  include CalculateStat
4
- attr_accessible :start_date, :end_date, :note, :mode
5
4
  default_scope {order('manifestation_checkout_stats.id DESC')}
6
5
  scope :not_calculated, -> {in_state(:pending)}
7
6
  has_many :checkout_stat_has_manifestations
@@ -42,6 +41,10 @@ class ManifestationCheckoutStat < ActiveRecord::Base
42
41
  def self.transition_class
43
42
  ManifestationCheckoutStatTransition
44
43
  end
44
+
45
+ def self.initial_state
46
+ :pending
47
+ end
45
48
  end
46
49
 
47
50
  # == Schema Information
@@ -3,7 +3,7 @@ class ManifestationCheckoutStatTransition < ActiveRecord::Base
3
3
 
4
4
 
5
5
  belongs_to :manifestation_cehckout_stat, inverse_of: :manifestation_checkout_stat_transitions
6
- attr_accessible :to_state, :sort_key, :metadata
6
+ #attr_accessible :to_state, :sort_key, :metadata
7
7
  end
8
8
 
9
9
  # == Schema Information
@@ -1,7 +1,6 @@
1
1
  class ManifestationReserveStat < ActiveRecord::Base
2
- include Statesman::Adapters::ActiveRecordModel
2
+ include Statesman::Adapters::ActiveRecordQueries
3
3
  include CalculateStat
4
- attr_accessible :start_date, :end_date, :note, :mode
5
4
  default_scope {order('manifestation_reserve_stats.id DESC')}
6
5
  scope :not_calculated, -> {in_state(:pending)}
7
6
  has_many :reserve_stat_has_manifestations
@@ -42,6 +41,10 @@ class ManifestationReserveStat < ActiveRecord::Base
42
41
  def self.transition_class
43
42
  ManifestationReserveStatTransition
44
43
  end
44
+
45
+ def self.initial_state
46
+ :pending
47
+ end
45
48
  end
46
49
 
47
50
  # == Schema Information
@@ -3,7 +3,7 @@ class ManifestationReserveStatTransition < ActiveRecord::Base
3
3
 
4
4
 
5
5
  belongs_to :manifestation_reserve_stat, inverse_of: :manifestation_reserve_stat_transitions
6
- attr_accessible :to_state, :sort_key, :metadata
6
+ #attr_accessible :to_state, :sort_key, :metadata
7
7
  end
8
8
 
9
9
  # == Schema Information
@@ -1,14 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  class Reserve < ActiveRecord::Base
3
- include Statesman::Adapters::ActiveRecordModel
4
- attr_accessible :manifestation_id, :user_number, :expired_at,
5
- :pickup_location_id
6
- attr_accessible :expired_at, :pickup_location_id, as: :user_update
7
- attr_accessible :manifestation_id, :item_identifier, :user_number,
8
- :expired_at, :request_status_type, :canceled_at, :checked_out_at,
9
- :expiration_notice_to_patron, :expiration_notice_to_library, :item_id,
10
- :retained_at, :postponed_at, :force_retaining, :pickup_location_id,
11
- as: :admin
3
+ include Statesman::Adapters::ActiveRecordQueries
12
4
  scope :hold, -> { where('item_id IS NOT NULL') }
13
5
  scope :not_hold, -> { where(item_id: nil) }
14
6
  scope :waiting, -> {not_in_state(:completed, :expired).where('canceled_at IS NULL AND expired_at > ?', Time.zone.now).order('reserves.id DESC')}
@@ -107,6 +99,7 @@ class Reserve < ActiveRecord::Base
107
99
  string :title_transcription do
108
100
  manifestation.try(:title_transcription)
109
101
  end
102
+ integer :manifestation_id
110
103
  end
111
104
 
112
105
  def set_manifestation
@@ -176,58 +169,58 @@ class Reserve < ActiveRecord::Base
176
169
  when 'requested'
177
170
  message_template_to_patron = MessageTemplate.localized_template('reservation_accepted_for_patron', user.profile.locale)
178
171
  request = MessageRequest.new
179
- request.assign_attributes({sender: sender, receiver: user, message_template: message_template_to_patron}, as: :admin)
172
+ request.assign_attributes({sender: sender, receiver: user, message_template: message_template_to_patron})
180
173
  request.save_message_body(manifestations: Array[manifestation], user: user)
181
174
  request.transition_to!(:sent) # 受付時は即時送信
182
175
  message_template_to_library = MessageTemplate.localized_template('reservation_accepted_for_library', user.profile.locale)
183
176
  request = MessageRequest.new
184
- request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library}, as: :admin)
177
+ request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library})
185
178
  request.save_message_body(manifestations: Array[manifestation], user: user)
186
179
  request.transition_to!(:sent) # 受付時は即時送信
187
180
  when 'canceled'
188
181
  message_template_to_patron = MessageTemplate.localized_template('reservation_canceled_for_patron', user.profile.locale)
189
182
  request = MessageRequest.new
190
- request.assign_attributes({sender: sender, receiver: user, message_template: message_template_to_patron}, as: :admin)
183
+ request.assign_attributes({sender: sender, receiver: user, message_template: message_template_to_patron})
191
184
  request.save_message_body(manifestations: Array[manifestation], user: user)
192
185
  request.transition_to!(:sent) # キャンセル時は即時送信
193
186
  message_template_to_library = MessageTemplate.localized_template('reservation_canceled_for_library', user.profile.locale)
194
187
  request = MessageRequest.new
195
- request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library}, as: :admin)
188
+ request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library})
196
189
  request.save_message_body(manifestations: Array[manifestation], user: user)
197
190
  request.transition_to!(:sent) # キャンセル時は即時送信
198
191
  when 'expired'
199
192
  message_template_to_patron = MessageTemplate.localized_template('reservation_expired_for_patron', user.profile.locale)
200
193
  request = MessageRequest.new
201
- request.assign_attributes({sender: sender, receiver: user, message_template: message_template_to_patron}, as: :admin)
194
+ request.assign_attributes({sender: sender, receiver: user, message_template: message_template_to_patron})
202
195
  request.save_message_body(manifestations: Array[manifestation], user: user)
203
196
  request.transition_to!(:sent)
204
197
  reload
205
198
  self.update_attribute(:expiration_notice_to_patron, true)
206
199
  message_template_to_library = MessageTemplate.localized_template('reservation_expired_for_library', sender.profile.locale)
207
200
  request = MessageRequest.new
208
- request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library}, as: :admin)
201
+ request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library})
209
202
  request.save_message_body(manifestations: Array[manifestation], user: sender)
210
203
  request.transition_to!(:sent)
211
204
  when 'retained'
212
205
  message_template_for_patron = MessageTemplate.localized_template('item_received_for_patron', user.profile.locale)
213
206
  request = MessageRequest.new
214
- request.assign_attributes({sender: sender, receiver: user, message_template: message_template_for_patron}, as: :admin)
207
+ request.assign_attributes({sender: sender, receiver: user, message_template: message_template_for_patron})
215
208
  request.save_message_body(manifestations: Array[item.manifestation], user: user)
216
209
  request.transition_to!(:sent)
217
210
  message_template_for_library = MessageTemplate.localized_template('item_received_for_library', user.profile.locale)
218
211
  request = MessageRequest.new
219
- request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_for_library}, as: :admin)
212
+ request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_for_library})
220
213
  request.save_message_body(manifestations: Array[item.manifestation], user: user)
221
214
  request.transition_to!(:sent)
222
215
  when 'postponed'
223
216
  message_template_for_patron = MessageTemplate.localized_template('reservation_postponed_for_patron', user.profile.locale)
224
217
  request = MessageRequest.new
225
- request.assign_attributes({sender: sender, receiver: user, message_template: message_template_for_patron}, as: :admin)
218
+ request.assign_attributes({sender: sender, receiver: user, message_template: message_template_for_patron})
226
219
  request.save_message_body(manifestations: Array[manifestation], user: user)
227
220
  request.transition_to!(:sent)
228
221
  message_template_for_library = MessageTemplate.localized_template('reservation_postponed_for_library', user.profile.locale)
229
222
  request = MessageRequest.new
230
- request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_for_library}, as: :admin)
223
+ request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_for_library})
231
224
  request.save_message_body(manifestations: Array[manifestation], user: user)
232
225
  request.transition_to!(:sent)
233
226
  else
@@ -242,7 +235,7 @@ class Reserve < ActiveRecord::Base
242
235
  when 'expired'
243
236
  message_template_to_library = MessageTemplate.localized_template('reservation_expired_for_library', sender.profile.locale)
244
237
  request = MessageRequest.new
245
- request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library}, as: :admin)
238
+ request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library})
246
239
  request.save_message_body(manifestations: options[:manifestations])
247
240
  self.not_sent_expiration_notice_to_library.readonly(false).each do |reserve|
248
241
  reserve.expiration_notice_to_library = true
@@ -251,7 +244,7 @@ class Reserve < ActiveRecord::Base
251
244
  #when 'canceled'
252
245
  # message_template_to_library = MessageTemplate.localized_template('reservation_canceled_for_library', sender.locale)
253
246
  # request = MessageRequest.new
254
- # request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library}, as: :admin)
247
+ # request.assign_attributes({sender: sender, receiver: sender, message_template: message_template_to_library})
255
248
  # request.save_message_body(manifestations: self.not_sent_expiration_notice_to_library.collect(&:manifestation))
256
249
  # self.not_sent_cancel_notice_to_library.each do |reserve|
257
250
  # reserve.update_attribute(:expiration_notice_to_library, true)
@@ -319,13 +312,13 @@ class Reserve < ActiveRecord::Base
319
312
 
320
313
  private
321
314
  def do_request
322
- self.assign_attributes({request_status_type: RequestStatusType.where(name: 'In Process').first, item_id: nil, retained_at: nil}, as: :admin)
315
+ self.assign_attributes({request_status_type: RequestStatusType.where(name: 'In Process').first, item_id: nil, retained_at: nil})
323
316
  save!
324
317
  end
325
318
 
326
319
  def retain
327
320
  # TODO: 「取り置き中」の状態を正しく表す
328
- self.assign_attributes({request_status_type: RequestStatusType.where(name: 'In Process').first, retained_at: Time.zone.now}, as: :admin)
321
+ self.assign_attributes({request_status_type: RequestStatusType.where(name: 'In Process').first, retained_at: Time.zone.now})
329
322
  Reserve.transaction do
330
323
  if item.try(:next_reservation)
331
324
  reservation = item.next_reservation
@@ -337,7 +330,7 @@ class Reserve < ActiveRecord::Base
337
330
 
338
331
  def expire
339
332
  Reserve.transaction do
340
- self.assign_attributes({request_status_type: RequestStatusType.where(name: 'Expired').first, canceled_at: Time.zone.now}, as: :admin)
333
+ self.assign_attributes({request_status_type: RequestStatusType.where(name: 'Expired').first, canceled_at: Time.zone.now})
341
334
  reserve = next_reservation
342
335
  if reserve
343
336
  reserve.item = item
@@ -351,7 +344,7 @@ class Reserve < ActiveRecord::Base
351
344
 
352
345
  def cancel
353
346
  Reserve.transaction do
354
- self.assign_attributes({request_status_type: RequestStatusType.where(name: 'Cannot Fulfill Request').first, canceled_at: Time.zone.now}, as: :admin)
347
+ self.assign_attributes({request_status_type: RequestStatusType.where(name: 'Cannot Fulfill Request').first, canceled_at: Time.zone.now})
355
348
  save!
356
349
  reserve = next_reservation
357
350
  if reserve
@@ -364,7 +357,7 @@ class Reserve < ActiveRecord::Base
364
357
  end
365
358
 
366
359
  def checkout
367
- self.assign_attributes({request_status_type: RequestStatusType.where(name: 'Available For Pickup').first, checked_out_at: Time.zone.now}, as: :admin)
360
+ self.assign_attributes({request_status_type: RequestStatusType.where(name: 'Available For Pickup').first, checked_out_at: Time.zone.now})
368
361
  save!
369
362
  end
370
363
 
@@ -374,7 +367,7 @@ class Reserve < ActiveRecord::Base
374
367
  item_id: nil,
375
368
  retained_at: nil,
376
369
  postponed_at: Time.zone.now
377
- }, as: :admin)
370
+ })
378
371
  save!
379
372
  end
380
373
 
@@ -391,6 +384,10 @@ class Reserve < ActiveRecord::Base
391
384
  def self.transition_class
392
385
  ReserveTransition
393
386
  end
387
+
388
+ def self.initial_state
389
+ :pending
390
+ end
394
391
  end
395
392
 
396
393
  # == Schema Information
@@ -1,7 +1,4 @@
1
1
  class ReserveStatHasManifestation < ActiveRecord::Base
2
- attr_accessible
3
- attr_accessible :manifestation_reserve_stat_id, :manifestation_id,
4
- as: :admin
5
2
  belongs_to :manifestation_reserve_stat
6
3
  belongs_to :manifestation
7
4
 
@@ -1,7 +1,7 @@
1
1
  class ReserveStatHasUser < ActiveRecord::Base
2
- attr_accessible
3
- attr_accessible :user_reserve_stat_id, :user_id,
4
- as: :admin
2
+ #attr_accessible
3
+ #attr_accessible :user_reserve_stat_id, :user_id,
4
+ # as: :admin
5
5
  belongs_to :user_reserve_stat
6
6
  belongs_to :user
7
7
 
@@ -14,12 +14,12 @@ class ReserveStateMachine
14
14
  transition from: :requested, to: [:retained, :canceled, :expired, :completed]
15
15
 
16
16
  after_transition(to: :requested) do |reserve|
17
- reserve.update_attributes({request_status_type: RequestStatusType.where(name: 'In Process').first, item_id: nil, retained_at: nil}, as: :admin)
17
+ reserve.update_attributes({request_status_type: RequestStatusType.where(name: 'In Process').first, item_id: nil, retained_at: nil})
18
18
  end
19
19
 
20
20
  after_transition(to: :retained) do |reserve|
21
21
  # TODO: 「取り置き中」の状態を正しく表す
22
- reserve.update_attributes({request_status_type: RequestStatusType.where(name: 'In Process').first, retained_at: Time.zone.now}, as: :admin)
22
+ reserve.update_attributes({request_status_type: RequestStatusType.where(name: 'In Process').first, retained_at: Time.zone.now})
23
23
  Reserve.transaction do
24
24
  if reserve.item and reserve.next_reservation
25
25
  reserve.item.reserves.waiting.readonly(false).map{|r|
@@ -35,7 +35,7 @@ class ReserveStateMachine
35
35
 
36
36
  after_transition(to: :canceled) do |reserve|
37
37
  Reserve.transaction do
38
- reserve.update_attributes({request_status_type: RequestStatusType.where(name: 'Cannot Fulfill Request').first, canceled_at: Time.zone.now}, as: :admin)
38
+ reserve.update_attributes({request_status_type: RequestStatusType.where(name: 'Cannot Fulfill Request').first, canceled_at: Time.zone.now})
39
39
  next_reserve = reserve.next_reservation
40
40
  if next_reserve
41
41
  next_reserve.item = reserve.item
@@ -48,7 +48,7 @@ class ReserveStateMachine
48
48
 
49
49
  after_transition(to: :expired) do |reserve|
50
50
  Reserve.transaction do
51
- reserve.update_attributes({request_status_type: RequestStatusType.where(name: 'Expired').first, canceled_at: Time.zone.now}, as: :admin)
51
+ reserve.update_attributes({request_status_type: RequestStatusType.where(name: 'Expired').first, canceled_at: Time.zone.now})
52
52
  next_reserve = reserve.next_reservation
53
53
  if next_reserve
54
54
  next_reserve.item = reserve.item
@@ -61,14 +61,14 @@ class ReserveStateMachine
61
61
  end
62
62
 
63
63
  after_transition(to: :postponed) do |reserve|
64
- reserve.update_attributes(item_id: nil, retained_at: nil, postponed_at: Time.zone.now, force_retaining: "1", as: :admin)
64
+ reserve.update_attributes(item_id: nil, retained_at: nil, postponed_at: Time.zone.now, force_retaining: "1")
65
65
  end
66
66
 
67
67
  after_transition(to: :completed) do |reserve|
68
68
  reserve.update_attributes(
69
69
  request_status_type: RequestStatusType.where(name: 'Available For Pickup').first,
70
- checked_out_at: Time.zone.now,
71
- as: :admin)
70
+ checked_out_at: Time.zone.now
71
+ )
72
72
  end
73
73
 
74
74
  after_transition(to: :requested) do |reserve|
@@ -3,7 +3,7 @@ class ReserveTransition < ActiveRecord::Base
3
3
 
4
4
 
5
5
  belongs_to :reserve, inverse_of: :reserve_transitions
6
- attr_accessible :to_state, :sort_key, :metadata
6
+ #attr_accessible :to_state, :sort_key, :metadata
7
7
  end
8
8
 
9
9
  # == Schema Information
@@ -1,9 +1,7 @@
1
1
  class UseRestriction < ActiveRecord::Base
2
- attr_accessible :name, :display_name, :note
3
2
  include MasterModel
4
3
  validates :name, presence: true, format: { with: /\A[0-9A-Za-z][0-9A-Za-z_\-\s,]*[0-9a-z]\Z/ }
5
4
 
6
- default_scope { order('use_restrictions.position') }
7
5
  scope :available, -> {where(name: ['Not For Loan', 'Limited Circulation, Normal Loan Period'])}
8
6
  has_many :item_has_use_restrictions
9
7
  has_many :items, through: :item_has_use_restrictions
@@ -1,7 +1,6 @@
1
1
  class UserCheckoutStat < ActiveRecord::Base
2
- include Statesman::Adapters::ActiveRecordModel
2
+ include Statesman::Adapters::ActiveRecordQueries
3
3
  include CalculateStat
4
- attr_accessible :start_date, :end_date, :note, :mode
5
4
  default_scope {order('user_checkout_stats.id DESC')}
6
5
  scope :not_calculated, -> {in_state(:pending)}
7
6
  has_many :checkout_stat_has_users
@@ -41,6 +40,10 @@ class UserCheckoutStat < ActiveRecord::Base
41
40
  def self.transition_class
42
41
  UserCheckoutStatTransition
43
42
  end
43
+
44
+ def self.initial_state
45
+ :pending
46
+ end
44
47
  end
45
48
 
46
49
  # == Schema Information
@@ -3,7 +3,7 @@ class UserCheckoutStatTransition < ActiveRecord::Base
3
3
 
4
4
 
5
5
  belongs_to :user_checkout_stat, inverse_of: :user_checkout_stat_transitions
6
- attr_accessible :to_state, :sort_key, :metadata
6
+ #attr_accessible :to_state, :sort_key, :metadata
7
7
  end
8
8
 
9
9
  # == Schema Information
@@ -1,9 +1,4 @@
1
1
  class UserGroupHasCheckoutType < ActiveRecord::Base
2
- attr_accessible :user_group_id, :checkout_type_id,
3
- :checkout_limit, :checkout_period, :checkout_renewal_limit,
4
- :reservation_limit, :reservation_expired_period,
5
- :set_due_date_before_closing_day, :fixed_due_date, :note, :position,
6
- :user_group, :checkout_type
7
2
  scope :available_for_item, lambda{|item| where(checkout_type_id: item.checkout_type.id)}
8
3
  scope :available_for_carrier_type, lambda{|carrier_type| includes(checkout_type: :carrier_types).where('carrier_types.id' => carrier_type.id)}
9
4
 
@@ -1,7 +1,6 @@
1
1
  class UserReserveStat < ActiveRecord::Base
2
- include Statesman::Adapters::ActiveRecordModel
2
+ include Statesman::Adapters::ActiveRecordQueries
3
3
  include CalculateStat
4
- attr_accessible :start_date, :end_date, :note, :mode
5
4
  default_scope {order('user_reserve_stats.id DESC')}
6
5
  scope :not_calculated, -> {in_state(:pending)}
7
6
  has_many :reserve_stat_has_users
@@ -41,6 +40,10 @@ class UserReserveStat < ActiveRecord::Base
41
40
  def self.transition_class
42
41
  UserReserveStatTransition
43
42
  end
43
+
44
+ def self.initial_state
45
+ :pending
46
+ end
44
47
  end
45
48
 
46
49
  # == Schema Information
@@ -3,7 +3,7 @@ class UserReserveStatTransition < ActiveRecord::Base
3
3
 
4
4
 
5
5
  belongs_to :user_reserve_stat, inverse_of: :user_reserve_stat_transitions
6
- attr_accessible :to_state, :sort_key, :metadata
6
+ #attr_accessible :to_state, :sort_key, :metadata
7
7
  end
8
8
 
9
9
  # == Schema Information
@@ -2,7 +2,7 @@
2
2
  <h1 class="title"><%= t('page.listing', model: t('activerecord.models.checkout')) -%></h1>
3
3
  <div id="content_list">
4
4
  <p id="notice"><%= notice %></p>
5
- <%= render 'list' -%>
5
+ <%= render 'list', checkouts: @checkouts -%>
6
6
 
7
7
  <%- if @checkouts.size == 0 -%>
8
8
  <p><%= t('checkout.no_checkout') -%></p>
@@ -6,7 +6,7 @@
6
6
  <h2><%= link_to item.item_identifier, item %></h2>
7
7
  <p>(<%= link_to item.manifestation.original_title, item.manifestation %>)
8
8
 
9
- <%= render 'list' -%>
9
+ <%= render 'list', checkouts: @checkouts -%>
10
10
 
11
11
  <%- if @checkouts.size == 0 -%>
12
12
  <p><%= t('checkout.no_checkout') -%></p>
@@ -11,7 +11,7 @@
11
11
  </p>
12
12
  <%- end -%>
13
13
 
14
- <%= render 'list' -%>
14
+ <%= render 'list', checkouts: @checkouts -%>
15
15
 
16
16
  <%- if @checkouts.size == 0 -%>
17
17
  <p><%= t('checkout.no_checkout') -%></p>
@@ -2,7 +2,7 @@
2
2
  <h1 class="title"><%= t('page.listing', model: t('activerecord.models.checkout')) -%></h1>
3
3
  <div id="content_list">
4
4
  <p id="notice"><%= notice %></p>
5
- <%= render 'list' -%>
5
+ <%= render 'list', checkouts: @checkouts -%>
6
6
 
7
7
  <%- if @checkouts.size == 0 -%>
8
8
  <p><%= t('checkout.no_checkout') -%></p>
@@ -6,8 +6,7 @@
6
6
  <th></th>
7
7
  </tr>
8
8
 
9
- <%- if @checkouts -%>
10
- <%- @checkouts.each_with_index do |checkout, i| %>
9
+ <%- checkouts.each_with_index do |checkout, i| %>
11
10
  <tr class="line<%= cycle("0", "1") -%>">
12
11
  <td>
13
12
  <% if checkout.user %>
@@ -46,7 +45,6 @@
46
45
  </td>
47
46
  </tr>
48
47
  <%- end -%>
49
- <%- end -%>
50
48
  </table>
51
49
 
52
- <%= paginate(@checkouts) %>
50
+ <%= paginate(checkouts) %>
@@ -0,0 +1,29 @@
1
+ <%= form_for(@demand) do |f| %>
2
+ <% if @demand.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(@demand.errors.count, "error") %> prohibited this demand from being saved:</h2>
5
+
6
+ <ul>
7
+ <% @demand.errors.full_messages.each do |message| %>
8
+ <li><%= message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= f.label :user_id %><br>
16
+ <%= f.number_field :user_id %>
17
+ </div>
18
+ <div class="field">
19
+ <%= f.label :item_id %><br>
20
+ <%= f.number_field :item_id %>
21
+ </div>
22
+ <div class="field">
23
+ <%= f.label :message_id %><br>
24
+ <%= f.number_field :message_id %>
25
+ </div>
26
+ <div class="actions">
27
+ <%= f.submit %>
28
+ </div>
29
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing Demand</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Show', @demand %> |
6
+ <%= link_to 'Back', demands_path %>
@@ -0,0 +1,31 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>Listing Demands</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>User</th>
9
+ <th>Item</th>
10
+ <th>Message</th>
11
+ <th colspan="3"></th>
12
+ </tr>
13
+ </thead>
14
+
15
+ <tbody>
16
+ <% @demands.each do |demand| %>
17
+ <tr>
18
+ <td><%= demand.user_id %></td>
19
+ <td><%= demand.item_id %></td>
20
+ <td><%= demand.message_id %></td>
21
+ <td><%= link_to 'Show', demand %></td>
22
+ <td><%= link_to 'Edit', edit_demand_path(demand) %></td>
23
+ <td><%= link_to 'Destroy', demand, method: :delete, data: { confirm: 'Are you sure?' } %></td>
24
+ </tr>
25
+ <% end %>
26
+ </tbody>
27
+ </table>
28
+
29
+ <br>
30
+
31
+ <%= link_to 'New Demand', new_demand_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Demand</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Back', demands_path %>
@@ -0,0 +1,19 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>User:</strong>
5
+ <%= @demand.user_id %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>Item:</strong>
10
+ <%= @demand.item_id %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Message:</strong>
15
+ <%= @demand.message_id %>
16
+ </p>
17
+
18
+ <%= link_to 'Edit', edit_demand_path(@demand) %> |
19
+ <%= link_to 'Back', demands_path %>