# -*- coding: utf-8 -*-
class FamilyObserver < ActiveRecord::Observer
observe :report
 # NEW_STORE UNCOMMENT
  def self.send_mail_from_family(report)
    # report.name =~ /^testttt5k2/ Посылаем письмо пока только на testttt5k2  + проверка на наличие логина и наличия у логина мыла   
    if  RAILS_ENV == 'production' && report.department == 'soft' && report.done_works.select{ |i| ([308, 117, 310].include? i.work_id) && i.pricelist == 1}.size > 0 && report.done_materials.size > 0
      cfg = Cfg.find 5      
      if (login = Login.find_by_ulogin report.name) && !login.emailmain.nil? && cfg.val.to_i == 1
      # Формируем хэш 
      sd_hash = Digest::MD5.hexdigest("#{report.name}##{login.id}#dfiedpe45")
      tg = "breakdown" # временный тег, потом будет зависить от категории.
      f_url =  "http://family.rinet.ru/user/authsimple/login/#{login.ulogin}/hash/#{sd_hash}/type/s/id/#{report.id}/alias/#{tg}"
      ReportMailer.deliver_family(report, login, sd_hash, f_url)
      FamilyMail.create(:report => report, :ticket_url => f_url, :login => login)
    end
    end
  end


  def after_create(report)    
    if report.status.to_i == 2 && (report.department == "private" || (report.department == "soft" && report.client_price_type.to_i == 0))
      FamilyObserver.send_mail_from_family(report)
    end
  end

  def before_update(report)
    if (report.status_changed? || report.client_price_type_changed?) && report.status.to_i == 2 &&  (report.department == "private" || (report.department == "soft" && report.client_price_type.to_i == 0))
      FamilyObserver.send_mail_from_family(report)
    end
  end

end
