class Licitacao::DocumentoDaAta < ApplicationRecord
	include TradutorConcern
	has_paper_trail
	include AASM

	has_attached_file :documento
	validates_attachment_content_type :documento, content_type: ['application/pdf']
	validates_attachment_size :documento, in: 0..7.megabytes

	attr_accessor :lei

	belongs_to :usuario
	belongs_to :ata_de_registro_de_precos, class_name: "Licitacao::AtaDeRegistroDePrecos"
	belongs_to :modelo_do_documento, class_name: "Licitacao::ModeloDeDocumento"

	validates_presence_of :usuario_id, :ata_de_registro_de_precos_id, :tipo_de_documento
	validates_presence_of :titulo_personalizado, if: Proc.new{ self.personalizado? || self.enviar_para_pncp?}

	validates :data_do_documento, sabado_ou_domingo_ou_feriado: { flexivel: true }
	validates :tipo_de_documento, immutable: true

	enum tipo_de_documento: {
		ata_de_registro_de_preco: 0,
		personalizado: 1,
		outros_documentos: 99
	}

	def titulo
		if self.personalizado?
			self.titulo_personalizado.try(:upcase)
		else
			self.titulo_do_modelo.to_s
		end
	end

	def titulo_do_modelo
		if self.modelo_do_documento && self.modelo_do_documento.titulo
			self.modelo_do_documento.try(:titulo)
		end
	end
end
