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.