#
#= roles_users モデル
# Authors:: Kazunori Shimizu
# Copyright:: Copyright (C) OSS K.K.  2010.
#--
# date        name                   note
# 2012.3.8   Kazunori Shimizu        新規登録
#-------------------------------------------------------------------------------
#++
class SuppliersUser < Comm::BaseModel::Master
  belongs_to :supplier
  belongs_to :user
  
  def self.vsuppliers(user_id)
    ids = (SuppliersUser.sassign('user_id', user_id).all).map {|r| r.supplier_id}
    return Supplier.set(MFIND_V).find(ids).map {|r| r.id }
  end
  
  def self.supplier_flag(user_id, supplier_id)
    ids = SuppliersUser.vsuppliers(user_id)
    return User.own_user_flag(user_id) || ids.index(supplier_id)
  end
  
  
  def validate
    emsg = ''
    ars = SuppliersUser.find(:all,
                             :conditions => ["user_id=? AND supplier_id=? ",self.user_id, self.supplier_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
