class Licitacao::DocumentoDoAditivoDaAta < ApplicationRecord
  include TradutorConcern
  has_paper_trail

  belongs_to :aditivo_da_ata, required: true
  belongs_to :modelo_do_documento, class_name: 'Licitacao::ModeloDeDocumento'
  belongs_to :usuario, required: true

  validates_presence_of :titulo_personalizado, if: Proc.new{ personalizado? }
  validates :tipo_de_documento, immutable: true
  validates :data_do_documento, sabado_ou_domingo_ou_feriado: { flexivel: false }

  enum tipo_de_documento: {
    aditivo_da_ata: 24,
    personalizado: 98,
    outros_documentos: 99
  }

  def titulo_do_modelo
    " - #{ modelo_do_documento.titulo }" if modelo_do_documento.try(:titulo).present?
  end

  def titulo
    return titulo_personalizado.upcase if titulo_personalizado.present?

    "#{ tipo_de_documento_i18n.try(:upcase) } #{ titulo_do_modelo }"
  end
end
