app/models/c80_estate/area.rb in c80_estate-0.1.0.34 vs app/models/c80_estate/area.rb in c80_estate-0.1.0.35

- old
+ new

@@ -2,10 +2,11 @@ class Area < ActiveRecord::Base belongs_to :property belongs_to :atype belongs_to :owner, :polymorphic => true belongs_to :assigned_person, :polymorphic => true + belongs_to :last_updater, :polymorphic => true has_many :item_props, :dependent => :destroy accepts_nested_attributes_for :item_props, :reject_if => lambda { |attributes| # puts "attributes:: #{attributes}" # attributes:: {"value"=>"", "prop_name_id"=>""} @@ -310,12 +311,14 @@ res = owner.id end res end - def last_updater - sevents.last.auser.email + def last_updater_title + if last_updater.present? + last_updater.email + end end # выдать цену за м.кв. в месяц # TODO_MY:: добавить модели Area столбец price_value и before_update метод, который высчитывал бы значение def price_value @@ -441,17 +444,17 @@ parent.table[:id] end protected - # при создании площади генерится начальное событие + # после создания площади генерится начальное событие def create_initial_sevent - Rails.logger.debug "<Area.create_initial_sevent> self.astatuses.count = #{self.astatuses.count}" + # Rails.logger.debug "<Area.create_initial_sevent> self.astatuses.count = #{self.astatuses.count}" # [**] if self.astatuses.count > 0 - Rails.logger.debug "<Area.create_initial_sevent> aga: self.astatuses.first.title = #{self.astatuses.first.title}" + # Rails.logger.debug "<Area.create_initial_sevent> aga: self.astatuses.first.title = #{self.astatuses.first.title}" s = Sevent.create!({ area_id: self.id, atype_id: self.atype_id, property_id: self.property_id, @@ -475,10 +478,11 @@ end end + # после обновления данных площади генерится Sevent событие def check_and_generate_sevent # находим последнее известное событие # фиксируем его статус last_known_sevent = "" @@ -489,16 +493,16 @@ # если статус этого события отличен # от нового статуса - генерим события Rails.logger.debug "<Area.check_and_generate_sevent> last_known_sevent = #{last_known_sevent}, self.astatuses.first.tag = #{self.astatuses.first.tag}" if last_known_sevent != self.astatuses.first.tag - Rails.logger.debug "<Area.check_and_generate_sevent> aga" + Rails.logger.debug "<Area.check_and_generate_sevent> [STATUS_CHANGED] self.last_updater_id = #{self.last_updater_id}" sparams = { area_id: self.id, atype_id: self.atype_id, property_id: self.property_id, astatus_id: self.astatus_id, - auser_id: self.owner_id, # инициатор события - редактор Площади + auser_id: self.last_updater_id, # инициатор события - редактор Площади auser_type: 'AdminUser' } # если неизвестен статус последнего события, # значит событий изменения статуса площади ещё не было \ No newline at end of file