Class: UserGroupHasCheckoutType
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- UserGroupHasCheckoutType
- Defined in:
- app/models/user_group_has_checkout_type.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.update_current_checkout_count ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'app/models/user_group_has_checkout_type.rb', line 41 def self.update_current_checkout_count sql = [ 'SELECT count(checkouts.id) as current_checkout_count, profiles.user_group_id, items.checkout_type_id FROM profiles, checkouts LEFT OUTER JOIN items ON (checkouts.item_id = items.id) LEFT OUTER JOIN users ON (users.id = checkouts.user_id) WHERE checkouts.checkin_id IS NULL GROUP BY user_group_id, checkout_type_id;' ] UserGroupHasCheckoutType.find_by_sql(sql).each do |result| update_sql = [ 'UPDATE user_group_has_checkout_types SET current_checkout_count = ? WHERE user_group_id = ? AND checkout_type_id = ?;', result.current_checkout_count, result.user_group_id, result.checkout_type_id ] ActiveRecord::Base.connection.execute( self.send(:sanitize_sql_array, update_sql) ) end end |
Instance Method Details
#create_lending_policy ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/models/user_group_has_checkout_type.rb', line 20 def create_lending_policy self.checkout_type.items.find_each do |item| policy = LendingPolicy.where(item_id: item.id, user_group_id: user_group_id).select(:id).first unless policy sql = ['INSERT INTO lending_policies (item_id, user_group_id, loan_period, renewal, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)', item.id, user_group_id, checkout_period, checkout_renewal_limit, Time.zone.now, Time.zone.now] ActiveRecord::Base.connection.execute( self.class.send(:sanitize_sql_array, sql) ) end end end |
#update_lending_policy ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'app/models/user_group_has_checkout_type.rb', line 32 def update_lending_policy self.checkout_type.items.each do |item| sql = ['UPDATE lending_policies SET loan_period = ?, renewal = ?, updated_at = ? WHERE user_group_id = ? AND item_id = ?', self.checkout_period, self.checkout_renewal_limit, Time.zone.now, self.user_group_id, item.id] ActiveRecord::Base.connection.execute( self.class.send(:sanitize_sql_array, sql) ) end end |