class Base::Responsavel < ApplicationRecord
  has_paper_trail
  belongs_to :pessoa, class_name: 'Base::Pessoa'
  has_many :contratos, class_name: 'Licitacao::Contrato', foreign_key: :responsavel_fornecedor_id

  validates_presence_of :nome, :cpf, :pessoa_id

  validates_uniqueness_of :cpf, scope: :pessoa_id, message: 'CPF já atribuído a um responsaveis.'

  before_destroy :verifica_contratos

  def verifica_contratos
    if self.contratos.present?
      raise Exception.new('Não é possivel excluir responsável usado em contrato.')
    end
  end

end
