Commit cf28988b authored by Jaime Ortiz's avatar Jaime Ortiz
Browse files

#3962 Error en listado de objetos de plugins

Cambio a comprobar. No se cierra el ticket aun.
parent f2d6bf2a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -89,10 +89,10 @@ class GastoProyectosController < GastoProyectosSuperController
          @subobjetos = [ "pago" ]
        else
          # Si se ha especificado un tipo de SeleccionCampos (configuracion del sistema) se pasa un nombre combinado para seleccionar los campos definidos. 
          @tipo = "gasto_" + params[:nombre]
          @tipo = params[:nombre]
          seleccion_campo = SeleccionCampos.find_by_nombre(params[:nombre])
          subobjeto = seleccion_campo.subobjeto.where(tipo_entidad: "pago").first
          @subobjetos = subobjeto ? [ ["pago", "pago_" + subobjeto.nombre] ] : [ "pago" ]
          @subobjetos = subobjeto ? [ ["pago", subobjeto.nombre] ] : [ "pago" ]
        end
        @objetos = @gastos
        nom_fich = "gastos_" + @proyecto.nombre.gsub(' ','_') + "_" + Time.now.strftime("%Y-%m-%d")
+22 −15
Original line number Diff line number Diff line
@@ -224,22 +224,26 @@ module ListadoHelper
      when "empleado_salario_hora" then [ [_("Fecha Inicio"), "3_4", "fecha_inicio"],[_("Fecha Fin"), "3_4", "fecha_fin"], [_("Salario hora"), "1_2_td", "salario_hora"], ["", "1_4", "empleado.agente.moneda_principal.abreviatura"]]
      when "seleccion_campos" then [ [_("Nombre"), "3_4", "nombre"], [_("Tipo"), "1_3", "tipo_entidad"], [_("Seleccion Campos 'subobjetos'"), "3_4", "subobjeto_cadena"] , [_("Campos"), "5_2", "campos"]]
      else
        # Si el nombre del "modelo" no esta entre el listado "estatico" lo busca por su tipo entre los modelo creados en la configuración.
        # El nombre que se ha pasado es de la forma:  "tipo_nombre de la entidad" (ejemplo: "gasto_campos contabilidad")
        []
        #seleccion_campos_modelo(modelo)
    end
    # Revisamos cada plugin para que incluya o elimine los campos que necesite
    Plugin.activos.each { |plugin| campos = eval(plugin.clase)::campos_listado(modelo, campos) if eval(plugin.clase).respond_to?('campos_listado') }
    if campos.blank?
      # Si el nombre del "modelo" no esta:
      # * Entre el listado "estatico"
      # * Entre los campos definidos en los plugins
      # lo busca por su tipo entre los modelo creados en la configuración (entidad SeleccionCampos)
      campos = seleccion_campos_modelo(modelo)
    end
    return campos
  end

  # Busca los campos definidos para el "nombre" que se pasa.
  # Busca los campos definidos para el "modelo" que se pasa.
  # Es una entidad de tipo SeleccionCampos
  def seleccion_campos_modelo modelo
    modelo = modelo.split("_", 2)
    tipo, nombre = modelo[0], modelo[1]
    seleccion_campos = SeleccionCampos.find_by_nombre(nombre)
    seleccion_campos = SeleccionCampos.find_by_nombre(modelo)
    if seleccion_campos 
      tipo = seleccion_campos.tipo_entidad
      campos_tipo = campos_listado(tipo) + campos_info(tipo)
      campos_a_mostrar = []
      seleccion_campos.obtener_campos.each do |campo|
@@ -250,6 +254,9 @@ module ListadoHelper
          campos_a_mostrar.push campos_tipo[index+1]
        end
      end
    else
      campos_a_mostrar = []
    end
    return campos_a_mostrar
  end