Proyecto

General

Perfil

Errores #2894

Error al acceder a un agente sobre el que no se tienen permisos

Añadido por Santiago Ramos hace alrededor de 7 años. Actualizado hace alrededor de 7 años.

Estado:
Resuelta
Prioridad:
Normal
Asignado a:
Categoría:
Desarrollo
Versión prevista:
Fecha de inicio:
2017-04-19
Fecha fin:
% Realizado:

100%

Tiempo estimado:
3.00 h

Descripción

Cuando se accede a un agente sobre el que no existe ningún rol asignado aparece el siguiente error:

ActionView::Template::Error (undefined method `rol_id' for nil:NilClass):
    51:       <!--<div class="menu_ruta"><%= ruta_seccion %></div> -->
    52:       <div class="bar_ruta">
    53:         <!-- RUTA DEL CONTROLADOR -->
    54:         <% unless menu_seccion.empty? %>
    55:           <div class='menu_ruta'>
    56:             <%= menu %>
    57:           </div>
  app/helpers/layout_helper.rb:390:in `controladores_menu_x_rol'
  app/helpers/layout_helper.rb:349:in `controladores_menu'
  app/helpers/layout_helper.rb:371:in `block in menu_seccion_x_rol'
  app/helpers/layout_helper.rb:370:in `each'
  app/helpers/layout_helper.rb:370:in `menu_seccion_x_rol'
  app/helpers/layout_helper.rb:149:in `menu_seccion'
  app/views/layouts/layout.html.erb:54:in `_app_views_layouts_layout_html_erb___154087564906670192_69857016803320'
  app/controllers/application_controller.rb:185:in `dibuja_derecho_insuficiente'
  app/controllers/application_controller.rb:145:in `autorizar_rol'

Histórico

#1 Actualizado por Santiago Ramos hace alrededor de 7 años

Parece que el código también está mal en el caso de proyectos:

    # Buscamo los permisos del rol del usuario en el proyecto seleccionado y para el menu seleccionado
    permisos = PermisoXRol.find_all_by_rol_id_and_menu((@usuario_identificado.usuario_x_proyecto.find_by_proyecto_id(@proyecto.id)).rol_id, menu) if @proyecto
    # Añadimos una condicion mas para la siguiente linea por que @agente es una variable que se carga no se donde en algun caso de proyectos
    permisos = PermisoXRol.find_all_by_rol_id_and_menu((@usuario_identificado.usuario_x_agente.find_by_agente_id(@agente.id)).rol_id, menu) if @agente and params[:seccion] == "agentes" 

Al pedir el "rol_id" sobre un elemento que puede que no exista, el sw casca.

#2 Actualizado por Santiago Ramos hace alrededor de 7 años

  • Estado cambiado Asignada por Resuelta
  • % Realizado cambiado 0 por 100

Exportar a: Atom PDF

Financiado por:

Desarrollado por:
Software libre forjado en: