Commit 89f7d6e1 authored by Jaime Ortiz's avatar Jaime Ortiz
Browse files

#20 Eliminamos la ventana_popup y todas sus referencias, hemos dejado solo...

#20 Eliminamos la ventana_popup y todas sus referencias, hemos dejado solo ventana_info_popup. #15 Casos de uso de ejemplo: Completamos Proyecto > Ejecucion > Matriz
parent 0e7da73c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -524,6 +524,12 @@ div.menu_ruta_navegacion:hover > ul {
  border-bottom: dotted 1px #ccc;
}

.filapopup {
  text-align: left; 
  padding: 2 0 2 0;
  border-bottom: dotted 1px #ccc;
}

.rotulo-tabla, .tabla .fila {
  padding-left: 1em;
}
+1 −65
Original line number Diff line number Diff line
@@ -657,7 +657,6 @@ module ApplicationHelper

  # tooltip para informacion adicional de un objeto
  # si otros tiene 'no_tooltip' a true entonces un popup es 'trigger' sobre un click
  #   metemos este metodo para no pisar ventana_popup y permitir el cambio progresivo
  def ventana_info_popup objeto, otros={}
      objeto_id = otros[:id] ? otros[:id] : 'objeto_' + objeto.class.name + "_" + objeto.id.to_s
      cadena = '<span id="' + objeto_id + '" class="popup_link">' + icono((otros[:icono] || "informacion"), _((otros[:icono_mensaje] || "información adicional"))) + '</span>' unless otros[:fila]
@@ -666,7 +665,7 @@ module ApplicationHelper
      for elemento in otros[:campos]
        campo = elemento[2]
        if campo.class.to_s != "Array"
          cadena << '<div class=\"fila\"><b>' + (elemento[0]=='&nbsp;' ? campo.humanize.capitalize : elemento[0]) + ': </b>'
          cadena << '<div class="filapopup"><b>' + (elemento[0]=='&nbsp;' ? campo.humanize.capitalize : elemento[0]) + ': </b>'

          valor = objeto
          campo.split('.').each { |metodo| valor = (metodo =~ /(\S+)\s(\S+)/ ? valor.send($1,$2) : valor.send(metodo)) if valor }
@@ -725,69 +724,6 @@ module ApplicationHelper
      return cadena.html_safe
  end

  # siempre tooltip
  def ventana_popup objeto, otros={}
    #begin
      objeto_id = otros[:id] ? otros[:id] : 'objeto_' + objeto.class.name + "_" + objeto.id.to_s
      cadena = '<span id="' + objeto_id + '" class="popup_link">' + icono((otros[:icono] || "informacion"), _((otros[:icono_mensaje] || "información adicional"))) + '</span>'
      cadena << '<div id="' + objeto_id + '_popup" class="popup" style="display:none">'
      for campo in otros[:campos]
        if campo.class.to_s != "Array"
          case campo
          when /^libro/
            then cadena << '<div class=\"fila\"><b>' + _("Cuenta") + ': </b>'
            else cadena << '<div class=\"fila\"><b>' + _(h(campo.humanize.capitalize))  + ': </b>'
          end

          case campo
          when /^actividades|^financiadores/
            then
              objeto_nombre = objeto.class.name.downcase
              array = eval( "objeto." + objeto_nombre + "_x_actividad" ) if campo == "actividades"
              array = eval( "objeto." + objeto_nombre + "_x_agente" ) if campo == "financiadores"
              nombre = ""
              array.each{ |a|
                cadena_tooltip << "<br>"
                array.each{ |x| nombre = Actividad.find( x.actividad_id).codigo} if campo == "actividades"
                array.each{ |x| nombre = Agente.find( x.agente_id).nombre} if campo == "financiadores"
                cadena << h(nombre) + " : " + (a.importe).to_s
              }
              cadena << '</div>'

          else
              valor = objeto
              campo.split('.').each { |metodo| valor = valor.send(metodo) if valor}
              cadena << h(valor.to_s)
              cadena << '</div>'
          end
        else
          objeto.send(campo[0]).each do |elemento|
            cadena << '<div class=\"fila\"><b>' + campo[0].humanize.capitalize + '</b></div>'
            for subcampo in campo[1]
              cadena << '<div class=\"fila\">&nbsp;&nbsp;&nbsp;&nbsp;<b>' + _(subcampo.humanize.capitalize) + ': </b>'
              valor = elemento
              subcampo.split('.').each { |metodo| valor = valor.send(metodo) if valor}
              cadena << h(valor.to_s)
              cadena << '</div>'
            end
          end
        end
      end
      cadena << '</div>'
      cadena << content_tag( :script, type: "text/javascript" ) do
          "var iconPopup = document.getElementById(\"#{objeto_id}\");
          iconPopup.addEventListener('click', function(event) {
              event.preventDefault();
              var contentPopup = document.getElementById(\"#{objeto_id}_popup\");
              HERRAMIENTAS_GONG.ventanaPopup(iconPopup, contentPopup);
          });
          ".html_safe
      end
      return cadena.html_safe
    #rescue
    #   '<p><span id="objeto_link_' + objeto.id.to_s + '"></span></p>'
    #end
  end

  #--
  # MENSAJES
+2 −0
Original line number Diff line number Diff line
@@ -267,6 +267,8 @@ module ListadoHelper
      when "ingreso" then [ [_("Observaciones"), "2", "observaciones"], [_("Proveedor"), "1", "proveedor.nombre"], [_("NIF Proveedor"), "1", "proveedor.nif"], [_("Número de documento"), "1", "numero_documento"], [_("Valorizado"), "1", "es_valorizado"], [_("Financiador"), "1", "financiador.nombre", true], [_("Proyecto"), "1", "proyecto.nombre"], [_("Referencia Contable"), "1", "ref_contable"], [_("T.Cambio"), "1_2_td", "tasa_cambio.tasa_cambio"],[_("Importe x TC"), "1_2_td", "importe_en_base"] ]
      when "plugin" then [[_("Versión"), "1", "version"]]
      when "periodo" then [[_("Gastos cerrados"), "1_2", "gastos_cerrados"], [_("Descripción"), "1_2", "descripcion" ]]
      when "actividad" then [[_("Paises"), "1_2", "paises_nombres" ],[_("Etapas"), "1_2", "etapas_nombres" ]]
      when "fuente_verificacion_seguimiento" then [ [_("Indicador código"), "1_3", "indicador.codigo"],[_("Indicador descripción"), "1_3", "indicador.descripcion"]]
      else []
    end
    # Revisamos cada plugin para que incluya o elimine los campos que necesite
+7 −0
Original line number Diff line number Diff line
@@ -183,6 +183,13 @@ class Actividad < ActiveRecord::Base
    etiqueta.order("etiqueta.nombre").collect{|m| m.nombre}
  end

  def etapas_nombres
    etapa.collect{|e| e.nombre } 
  end

  def paises_nombres
    pais.collect{|p| p.nombre } 
  end
 private

  # Si alguno de as
+1 −1
Original line number Diff line number Diff line
<div class="filacabecera <%= fuente_verificacion.completada ? '': 'rojo' %>" id="<%= update %>">
  <%= fila_listado fuente_verificacion, campos_listado("fuente_verificacion_seguimiento"), update %>
  <div class="elementoderecha">
     <%= ventana_popup fuente_verificacion, {:campos => ["descripcion", "indicador.codigo", "indicador.descripcion", "objetivo_resultado"], :id => update + "_informacion"} %>
     <%= ventana_info_popup fuente_verificacion, {:campos => campos_listado("fuente_verificacion_seguimiento") + campos_info("fuente_verificacion_seguimiento") , :id => update + "_informacion"} %>
     <%= modal (fuente_verificacion.completada ? icono( "elegir", _("Definir como no Completada")) : icono("alerta", _("Completar Fuente de Verificación"))),  { :action => 'fuente_verificacion_editar_completada', :id => fuente_verificacion, :update => update }, _("Fuente de verificación completada") , :id => (update + (fuente_verificacion.completada ? '_descompletar' : '_completar')) %>
     <%= link_to_remote( icono("comentarios" + (fuente_verificacion.comentario.empty? ? "" : "_r"), _("Ver comentarios")), :url => {:update => update + "_sub" , :controller => 'comentario', :action => 'comentarios', :objeto_id => fuente_verificacion.id.to_s, :tipo => "FuenteVerificacion"} , :html => {:id => update + "_comentarios"}, :loading => "Element.show('espera')", :complete => "Element.hide('espera')" )%>
     <%# anadir :url => {:action => 'fuente_verificacion_vincular_o_nuevo', :objeto_id => fuente_verificacion.id , :update_listado => update + "_documento", :update =>  ( update + "_documento_anadir") } %>
Loading