Project

General

Profile

Actions

Errores #2894

closed

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

Added by Santiago Ramos about 8 years ago. Updated about 8 years ago.

Status:
Resuelta
Priority:
Normal
Category:
Desarrollo
Target version:
Start date:
04/19/2017
Due date:
% Done:

100%

Estimated time:
3:00 h
Versión:

Description

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'
Actions #1

Updated by Santiago Ramos about 8 years ago

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.

Actions #2

Updated by Santiago Ramos about 8 years ago

  • Status changed from Asignada to Resuelta
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF