Loading app/controllers/gasto_proyectos_controller.rb +2 −2 Original line number Diff line number Diff line Loading @@ -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") Loading app/helpers/listado_helper.rb +22 −15 Original line number Diff line number Diff line Loading @@ -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| Loading @@ -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 Loading Loading
app/controllers/gasto_proyectos_controller.rb +2 −2 Original line number Diff line number Diff line Loading @@ -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") Loading
app/helpers/listado_helper.rb +22 −15 Original line number Diff line number Diff line Loading @@ -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| Loading @@ -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 Loading