Commit 570c4b91 authored by Jaime Ortiz's avatar Jaime Ortiz
Browse files

#17. Corregimos en el application controller el mensaje_cambio que no funcionaba

parent ee81230e
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ db/structure.sql
log/*
tmp/*
test/*
files/*
config/database.yml
public/assets
*~
@@ -12,4 +13,5 @@ Session.vim
*org
*orig
*swp
*.sql
.byebug_history
+13 −5
Original line number Diff line number Diff line
@@ -168,12 +168,20 @@ class ApplicationController < ActionController::Base
  # Metodo al que invoca este mismo controlador, asi como el application controller de los plugins para dibujar
  # en pantalla que no se tienen los derechos necesarios para la accion
  def dibuja_derecho_insuficiente
    byebug
    if request.xhr?
      # ATENCION: [sin_prototype] 
      # Renemos el problema de que deberiamos diferenciar cuando es una llamada desde una modal abierto o no.
      # Cuando es una llamada desde una modal abierta intenta cargar un contenido no un json con acciones. 
      # ¿ Como diferenciamos los dos tipos de llamadas AJAX ?
      # De momento me ha funcionado diferenciando por el parametro params[:update] or params[:update_listado]
      if params[:update] or params[:update_listado]
        ::JsonGong.new(self) do |page|
        page.mensaje_cambio "mensaje_cabecera_2", :errors => _("No tiene permisos suficientes para realizar esta acción.")
        page.replace_html "MB_content", :partial => "comunes/derecho_insuficiente"
        page.call("Modalbox.resizeToContent")
          mensaje = _("No tiene permisos suficientes para realizar esta acción.")
          page.mensaje_informacion params[:update], mensaje, :tipo_mensaje => "mensajefallo" if params[:update]
          page.mensaje_informacion params[:update_listado], mensaje, :tipo_mensaje => "mensajefallo" if params[:update_listado]
        end
      else
        render partial: "comunes/derecho_insuficiente"
      end
    else
      render "comunes/derecho_insuficiente"
+27 −27
Original line number Diff line number Diff line
@@ -1053,33 +1053,33 @@ module ApplicationHelper
  # NUEVOS METODOS DE CAMBIO USABILIDAD. FORMULARIOS INLINE
  #++

  def mensaje_cambio update, mensaje
    page.insert_html :before, update, :inline => "<%= cadena_mensaje_cambio mensaje %>", :locals => {:mensaje => mensaje}
    page.delay(mensaje[:errors].empty? ? 2 : 6) do
    page.remove(mensaje[:errors].empty? ? "mensajeok" : "mensajeerror")
  end

  end

  def cadena_mensaje_cambio otros={}
    script = "var mensajeok = document.getElementById(\"#{mensajeok}\");"
    script << "var mesageokparent = mensajeok.parentNode;"
    script << "mensajeokparent.removeChild(mensajeok);"
    cadena = '<div id="mensajeok">' + _("Los datos se han guardado correctamente.") if  !otros[:eliminar] and (otros[:errors].nil? or otros[:errors].empty?)
    cadena = '<div id="mensajeok">' + _("El dato se ha borrado correctamente.") if  otros[:eliminar] and  (otros[:errors].nil? or otros[:errors].empty?)
    unless (otros[:errors].nil? or otros[:errors].empty?)
      cadena = '<div id="mensajeerror">' + _("Se han producido errores.") + "<br>"
      otros[:errors].each {|a, m| cadena += m + "<br>" } if otros[:errors].class.name != "String"
      cadena += otros[:errors] if otros[:errors].class.name == "String"
      script = "var mensajeerror = document.getElementById(\"#{mensajeerror}\");"
      script << "var mensajeerrorparent = mensajeerror.parentNode;"
      script << "mensajeerrorparent.removeChild(mensajeerror);"
    end
    cadena << '<div class="elementoderecha" id="cerrarmensaje">'
    cadena << link_to_function( icono( "cerrar", _("Cerrar mensaje")), script, {:id => "formulario_cerrar"} )
    cadena << '</div></div>'
    return cadena.html_safe
  end
#  def mensaje_cambio update, mensaje
#    page.insert_html :before, update, :inline => "<%= cadena_mensaje_cambio mensaje %>", :locals => {:mensaje => mensaje}
#    page.delay(mensaje[:errors].empty? ? 2 : 6) do
#    page.remove(mensaje[:errors].empty? ? "mensajeok" : "mensajeerror")
#  end
#
#  end
#
#  def cadena_mensaje_cambio otros={}
#    script = "var mensajeok = document.getElementById(\"#{mensajeok}\");"
#    script << "var mesageokparent = mensajeok.parentNode;"
#    script << "mensajeokparent.removeChild(mensajeok);"
#    cadena = '<div id="mensajeok">' + _("Los datos se han guardado correctamente.") if  !otros[:eliminar] and (otros[:errors].nil? or otros[:errors].empty?)
#    cadena = '<div id="mensajeok">' + _("El dato se ha borrado correctamente.") if  otros[:eliminar] and  (otros[:errors].nil? or otros[:errors].empty?)
#    unless (otros[:errors].nil? or otros[:errors].empty?)
#      cadena = '<div id="mensajeerror">' + _("Se han producido errores.") + "<br>"
#      otros[:errors].each {|a, m| cadena += m + "<br>" } if otros[:errors].class.name != "String"
#      cadena += otros[:errors] if otros[:errors].class.name == "String"
#      script = "var mensajeerror = document.getElementById(\"#{mensajeerror}\");"
#      script << "var mensajeerrorparent = mensajeerror.parentNode;"
#      script << "mensajeerrorparent.removeChild(mensajeerror);"
#    end
#    cadena << '<div class="elementoderecha" id="cerrarmensaje">'
#    cadena << link_to_function( icono( "cerrar", _("Cerrar mensaje")), script, {:id => "formulario_cerrar"} )
#    cadena << '</div></div>'
#    return cadena.html_safe
#  end


  def icono_borrado texto, url