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