#
#= roles_users モデル
# Authors:: Kazunori Shimizu
# Copyright:: Copyright (C) OSS K.K.  2010.
#--
# date        name                   note
# 2012.3.8   Kazunori Shimizu        新規登録
#-------------------------------------------------------------------------------
#++
class CustomersUser < Comm::BaseModel::Master
  belongs_to :customer
  belongs_to :user
  
  def self.vcustomers(user_id)
    ids = (CustomersUser.sassign('user_id', user_id).all).map {|r| r.customer_id}
    return Customer.set(MFIND_V).find(ids).map {|r| r.id }
  end
  
  def self.customer_flag(user_id, customer_id)
    ids = CustomersUser.vcustomers(user_id)
    return User.own_user_flag(user_id) || ids.index(customer_id)
  end
  
  
  def validate
    emsg = ''
    ars = CustomersUser.find(:all,
                             :conditions => ["user_id=? AND customer_id=? ",self.user_id, self.customer_id])
    Rails.logger.debug("□DEBUG:ars:"+ars.inspect)
    record_num = ars.length
    if record_num > 0
       ids = ars.collect{|ar| ar.id}
       emsg << EMJ0005
       emsg << "指定のユーザー・得意先の組み合わせは既に登録されています。"
       emsg << "ID:"+ids.inspect
       raise UserOperationError, emsg
    end
   
    if self.user.user_type_code == Comm::Const::MasterCode::MCODE_USER_TYPE_INNER
      emsg << EMJ0005
      emsg << "指定のユーザーは社内のユーザーですので、選択できません。"
      emsg << "ユーザー:"+ self.user.disp_name
      raise UserOperationError, emsg
    end
   
  end
  
end
