Funcionalidad #2468
abiertaError con versión 2.50
0%
Descripción
Hemos detectado un error en la versión 2.5.0. Parece ser que es un tema relacionado con los plugins. Al introducir el usuario y contraseña aparece un error:
Completed 500 Internal Server Error in 4776ms ActionView::Template::Error (wrong number of arguments (2 for 1)): 42: <div id="centra_ruta"> 43: <ul class="menu_superior"> 44: <div class="info_seccion"><%= ruta_seccion %></div> 45: <% secciones.each do |seccion| %> 46: <li class="menu"><a id="seccion_<%= seccion[:nombre] %>" href="<%= seccion[:url] %>" title="<%= seccion[:titulo] %>"><div class="<%= params[:seccion] == seccion[:nombre] ? 'seleccionado' : ''%>" > </div></a> </li> 47: <% end %> 48: </ul> app/helpers/layout_helper.rb:40:in `block in secciones' app/helpers/layout_helper.rb:40:in `secciones' app/views/layouts/layout.html.erb:45:in `_app_views_layouts_layout_html_erb__1690728466375269168_65220960' app/controllers/info_controller.rb:63:in `index'
Hemos hecho una comparativa del código antiguo y el nuevo. Para salir del paso hemos hecho una modificación añadiendo la captura de excepciones (aunque no tenemos claro que solucione el problema) que había en la versión anterior:
Código antiguo
Plugin.activos.each{ |plugin| secciones = eval(plugin.clase)::seccion_menu(@usuario_identificado, secciones) if eval(plugin.clase).respond_to?('seccion_menu') }
Código nuevo
Plugin.activos.each{ |plugin| begin secciones = eval(plugin.clase)::seccion_menu(@usuario_identificado, secciones) if eval(plugin.clase).respond_to?('seccion_menu') rescue => ex end }
Como consecuencia de esta modificación ahora no podemos gestionar los proyectos. En administrador podemos de dar de alta proyectos y asignarle privilegios a los usuarios sobre el proyecto, agentes, cuentas...pero cuando nos vamos al módulo de proyecto aparece un mensaje en rosa diciendo que el usuario no tiene privilegios.
--AUTORIZACION--> ERROR: (2016-02-24) Hay una discrepancia de autorizacion en 'proyectos/resumen/info/index' AUTORIZACION : El método nuevo indica 'NO' y el método viejo 'SI' Rendered comunes/_derecho_insuficiente.html.erb (0.2ms) Rendered comunes/derecho_insuficiente.html.erb within layouts/layout (0.7ms)
Muchas gracias y un saludo.
Actualizado por Jaime Ortiz hace más de 8 años
Hola,
En principio parece que existen dos problema diferentes en el mismo ticket:
- Uno sobre la carga de plugins.
- Otros sobre permisos de usuario.
Trataré en este ticket solo el primero de los problemas.
Ya habíamos detectado esta incidencia.
El problema que describís esta relacionada con la carga de alguno de los plugins (lo hemos comprobado en webservices), que (por expresarlo asi) no es compatible con la version actual 2.50. Habria que actualizar el plugin de su version 2.47 a una nueva, o sencillamente, desactivar el plugin.
NOTA: También se puede hacer como indicais: recoger la excepción y evitar que salte el error. Habria que ver, si esto afecta a la funcionalidad esperada.
Muchas gracias.
Actualizado por Raul Victoria (Ezentis) raul.victoria@ezentis.com hace más de 8 años
¿Existe alguna documentación de cuales son los cambios necesarios para migrar los plugins de la versión 2.4.7 a la 2.5.0?
Muchas gracias.
Actualizado por Jaime Ortiz hace más de 8 años
No existe una documentacion especifica sobre creación de tags para plugins. Si consideras interesante crearla se puede pensar en crear un documento al respecto en la documentación similar al documento general de creación de tags para GONG.
Salud!
Actualizado por Raul Victoria (Ezentis) raul.victoria@ezentis.com hace más de 8 años
Según mi parecer es interesante, conocer los cambios que han sufrido los métodos de cara la mantenibilidad y actualización de versiones antiguas. Si nos comentáis donde podemos ver esos cambios, podríamos realizar una guía.
Abrazos.