enju_circulation 0.1.0.pre41 → 0.1.0.pre42

Sign up to get free protection for your applications and to get access to all the features.
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 %>