bluelemons/diputados

View on GitHub
app/reports/expedientes_report.rb

Summary

Maintainability
A
1 hr
Test Coverage
class ExpedientesReport
  def listado(expedientes)

    report = ODFReport::Report.new(Rails.root.join("app/reports/expedientes.odt")) do |r|
      r.add_section "EXPEDIENTES", expedientes do |s|
        s.add_field(:clave) { |item| item.clave.to_s }
        s.add_field(:entrada) { |item| item.entrada.to_s }
        s.add_field(:autor) { |item| item.autor.to_s }
        s.add_field(:firmantes) { |item| item.firmantes.to_s }
        s.add_field(:descripcion) { |item| item.descrip.to_s }
        s.add_field(:estado) { |item| item.estado.to_s }
        s.add_field(:tema) { |item| item.tema.to_s }

      end
    end

    report_file_name = report.generate

  end

  def detalle(params)

    @expediente = Expediente.find(params[:id])

    report = ODFReport::Report.new(Rails.root.join("app/reports/expediente.odt")) do |r|

      r.add_field(:clave,         @expediente.clave.to_s)
      r.add_field(:autor,         @expediente.autor.to_s)
      r.add_field(:tema,          @expediente.tema.to_s)
      r.add_field(:estado,        @expediente.estado.to_s)
      r.add_field(:descripcion,   @expediente.descrip.mb_chars.capitalize)
      r.add_field(:firmantes,     @expediente.firmantes.to_s)

      r.add_field(:fechaentr,     @expediente.fechaentr.to_s)
      r.add_field(:tipoentr,      @expediente.tipoentr.to_s)
      r.add_field(:hora,          @expediente.hora.to_s)
      r.add_field(:tipoperiod,    @expediente.tipoperiod.to_s)
      r.add_field(:numperiodo,    @expediente.numperiodo.to_s)

      r.add_field(:tratamiento,   @expediente.sesion.try(:tratamiento).to_s)
      r.add_field(:resultado,     @expediente.sesion.try(:resultado).to_s)
      r.add_field(:fechases,      @expediente.sesion.try(:fechases).to_s)
      r.add_field(:periodo,       @expediente.sesion.try(:periodo).to_s)

      r.add_section "COMISION", @expediente.estados do |s|
        s.add_field(:nombre) { |estado| estado.comision_nombre }
        s.add_field(:entrada) { |estado| estado.fechaent }
        s.add_field(:salida) { |estado| estado.fechasal }
        s.add_section("DICTAMEN", :dictamenes) do |ss|

          ss.add_field(:tipo) { |n| n[:tipo].to_s }
          ss.add_field(:fecha) { |n| n[:fecha].to_s }
          ss.add_field(:dictamen) { |n| n[:dictamen].to_s }
        end
      end

    end

    report_file_name = report.generate

  end

end