Bug 766972

Summary: NoMethodError: undefined method `each_with_index' for nil:NilClass
Product: Red Hat Satellite Reporter: Og Maciel <omaciel>
Component: WebUIAssignee: Eric Helms <ehelms>
Status: CLOSED CURRENTRELEASE QA Contact: Katello QA List <katello-qa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.0.1CC: lzap, mmccune, sghai
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-22 18:13:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 747354    
Attachments:
Description Flags
Screen after logging in user with no roles or environments. none

Description Og Maciel 2011-12-12 21:25:02 UTC
Description of problem:

Seeing traceback error message displayed in the web ui if a user with no roles tries to browse another user's permissions

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. Create a new user and do not assign any roles or environments
2. Log out and log back in as the new user
3. Click on Administration tab, then Users
4. Select an existing user and click the Environments or Roles & Permissions tab

Actual results:

The UI shows the following error:  undefined method `each_with_index' for nil:NilClass

Expected results:


Additional info:

katello's log:

Started GET "/katello//users/1/edit_environment" for 10.11.231.56 at Mon Dec 12 16:08:18 -0500 2011
  Processing by UsersController#edit_environment as HTML
  Parameters: {"id"=>"1"}
Rendered common/_env_select.html.haml (16.7ms)
Rendered users/_edit_environment.html.haml (35.5ms)
undefined method `each_with_index' for nil:NilClass
undefined method `each_with_index' for nil:NilClass
#<NoMethodError: undefined method `each_with_index' for nil:NilClass>
/usr/share/katello/app/views/common/_env_select.html.haml:16:in `_app_views_common__env_select_html_haml___2145809884_70242692905620_112991092'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/template.rb:135:in `send'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/template.rb:135:in `render'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:54:in `instrument'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/template.rb:127:in `render'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/partials.rb:333:in `render_partial'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/partials.rb:262:in `render'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/partials.rb:260:in `render'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/partials.rb:378:in `_render_partial'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/rendering.rb:22:in `render_without_haml'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:11:in `render'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:90:in `non_haml'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:11:in `render'
/usr/share/katello/app/helpers/application_helper.rb:154:in `environment_selector'
/usr/share/katello/app/views/users/_edit_environment.html.haml:39:in `_app_views_users__edit_environment_html_haml__405928036_70242689181900_24835572'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:92:in `capture'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:345:in `call'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:345:in `capture_haml_without_haml_xss'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:569:in `with_haml_buffer'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:341:in `capture_haml_without_haml_xss'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/xss_mods.rb:61:in `capture_haml'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:92:in `capture'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/helpers/capture_helper.rb:137:in `content_for'
/usr/share/katello/app/views/users/_edit_environment.html.haml:7:in `_app_views_users__edit_environment_html_haml__405928036_70242689181900_24835572'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/template.rb:135:in `send'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/template.rb:135:in `render'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:54:in `instrument'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/template.rb:127:in `render'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/partials.rb:333:in `render_partial'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/partials.rb:262:in `render'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/partials.rb:260:in `render'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/partials.rb:378:in `_render_partial'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/rendering.rb:22:in `render_without_haml'
/usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:13:in `render'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:115:in `_render_template'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:109:in `render_to_body'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/renderers.rb:47:in `render_to_body'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/compatibility.rb:55:in `render_to_body'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:102:in `render_to_string'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:93:in `render'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rendering.rb:17:in `render'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:40:in `render'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/core_ext/benchmark.rb:5:in `ms'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/core_ext/benchmark.rb:5:in `ms'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:40:in `render'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:78:in `cleanup_view_runtime'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/railties/controller_runtime.rb:15:in `cleanup_view_runtime'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:39:in `render'
/usr/share/katello/app/controllers/users_controller.rb:148:in `edit_environment'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/base.rb:150:in `process_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rendering.rb:11:in `process_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/callbacks.rb:18:in `process_action'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:457:in `_run__434435962__process_action__60120558__callbacks'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:221:in `_conditional_callback_around_2237'
/usr/share/katello/lib/util/threadsession.rb:79:in `thread_locals'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:220:in `_conditional_callback_around_2237'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:446:in `_run__434435962__process_action__60120558__callbacks'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:410:in `send'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:410:in `_run_process_action_callbacks'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:94:in `send'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:94:in `run_callbacks'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/callbacks.rb:17:in `process_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rescue.rb:17:in `process_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/base.rb:119:in `process'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:41:in `process'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal.rb:138:in `dispatch'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal.rb:178:in `action'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:62:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:62:in `dispatch'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:27:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/route_set.rb:150:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/code_generation.rb:93:in `recognize'
/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/code_generation.rb:68:in `optimized_each'
/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/code_generation.rb:92:in `recognize'
/usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/route_set.rb:141:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:493:in `call'
/usr/lib/ruby/gems/1.8/gems/warden-1.0.3/lib/warden/manager.rb:35:in `call'
/usr/lib/ruby/gems/1.8/gems/warden-1.0.3/lib/warden/manager.rb:34:in `catch'
/usr/lib/ruby/gems/1.8/gems/warden-1.0.3/lib/warden/manager.rb:34:in `call'
/usr/lib/ruby/gems/1.8/gems/sass-3.1.7/lib/sass/../sass/plugin/rack.rb:54:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/head.rb:14:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/methodoverride.rb:24:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/flash.rb:182:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/session/abstract_store.rb:149:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/cookies.rb:302:in `call'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/query_cache.rb:32:in `call'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/query_cache.rb:28:in `cache'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/query_cache.rb:12:in `cache'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/query_cache.rb:31:in `call'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/connection_pool.rb:354:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/callbacks.rb:46:in `call'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:416:in `_run_call_callbacks'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/callbacks.rb:44:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/sendfile.rb:102:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/remote_ip.rb:48:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/show_exceptions.rb:47:in `call'
/usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/rack/logger.rb:13:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/runtime.rb:17:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/lock.rb:34:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/static.rb:30:in `call'
/usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/application.rb:168:in `call'
/usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/application.rb:77:in `send'
/usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/application.rb:77:in `method_missing'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/urlmap.rb:52:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/urlmap.rb:46:in `each'
/usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/urlmap.rb:46:in `call'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:84:in `pre_process'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `catch'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `pre_process'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:57:in `process'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:42:in `receive_data'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
/usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/backends/base.rb:61:in `start'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/server.rb:159:in `start'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/controllers/controller.rb:86:in `start'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `send'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `run_command'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:151:in `run!'
/usr/lib/ruby/gems/1.8/gems/thin-1.2.11/bin/thin:6
/usr/share/katello/script/thin:59:in `load'
/usr/share/katello/script/thin:59
Rendering 500:undefined method `each_with_index' for nil:NilClass
Rendered common/_config.html.haml (0.7ms)
Rendered layouts/_ajax_notices.haml (4.2ms)
Rendered layouts/_notification.haml (0.4ms)
Rendered common/_common_i18n.html.haml (0.3ms)
Rendered layouts/_org.haml (1.1ms)
Rendered layouts/_header.haml (7.8ms)
Rendered layouts/_footer.haml (0.5ms)
Rendered common/500.html.haml within layouts/katello (207.7ms)
Completed 500 Internal Server Error in 580ms (Views: 161.8ms | ActiveRecord: 68.9ms)

Comment 1 Lukas Zapletal 2011-12-13 12:54:06 UTC
Changing to webui.

Comment 2 Mike McCune 2011-12-19 05:00:35 UTC
similar but different than BZ 768477

Comment 3 Eric Helms 2011-12-20 14:22:51 UTC
Created attachment 548843 [details]
Screen after logging in user with no roles or environments.

Comment 4 Eric Helms 2011-12-20 14:24:24 UTC
I am unable to reproduce.  When I create a user with no roles or environments I see the screenshot attached above which is the intended behavior.

Comment 5 Sachin Ghai 2012-01-17 08:46:35 UTC
Verified with following katello build:

[root@dhcp201-176 ~]# rpm -qa | grep -ie katello-0 -ie pulp-0
katello-0.1.178-1.el6.noarch
katello-glue-pulp-0.1.178-1.el6.noarch
pulp-0.0.257-1.el6.noarch
[root@dhcp201-176 ~]# 


The reported issue is no longer reproducible. If I create a user with no roles and env I got the following message under dashboard tab:

>> You currently do not have any permissions that grant access to an 
>> organization. Please contact your system administrator to receive access. 

As per comment4, its intended behaviour. so moving this to verified.

Comment 8 Mike McCune 2013-08-16 17:53:56 UTC
getting rid of 6.0.0 version since that doesn't exist