Hours icon indicating copy to clipboard operation
Hours copied to clipboard

Missing user ID when accessing audit log of certain projects

Open dkhgh opened this issue 9 years ago • 3 comments

On the audit log of certain projects I get a 500 error, caused by a missing user ID it seems. This is not happening on all projects, not sure why.

Apr 07 02:55:12 hours-production app/web.1:  Completed 500 Internal Server Error in 22ms (ActiveRecord: 10.8ms) 
Apr 07 02:55:12 hours-production app/web.1:  ActionView::Template::Error (No route matches {:action=>"show", :controller=>"users", :id=>nil} missing required keys: [:id]): 
Apr 07 02:55:12 hours-production app/web.1:      1: = link_to user_path(user) do 
Apr 07 02:55:12 hours-production app/web.1:      2:   .avatar{ class: ("egg" if easter) , :style => "background-color: #{user.color};"} 
Apr 07 02:55:12 hours-production app/web.1:      3:     = user.acronyms 
Apr 07 02:55:12 hours-production app/web.1:      4:     = gravatar_image_tag(user.email, gravatar: { secure: true }, class: "image-circle", title: html_escape(user.full_name)) 
Apr 07 02:55:12 hours-production app/web.1:    app/views/application/_avatar.html.haml:1:in `_app_views_application__avatar_html_haml___2160406083279673600_70097682065800' 
Apr 07 02:55:12 hours-production app/web.1:    app/views/audits/_audits.html.haml:5:in `block in _app_views_audits__audits_html_haml__1577896411643312224_70097677361400' 
Apr 07 02:55:12 hours-production app/web.1:    app/views/audits/_audits.html.haml:2:in `each' 
Apr 07 02:55:12 hours-production app/web.1:    app/views/audits/_audits.html.haml:2:in `_app_views_audits__audits_html_haml__1577896411643312224_70097677361400' 
Apr 07 02:55:12 hours-production app/web.1:    app/views/audits/_project_audit.html.haml:22:in `_app_views_audits__project_audit_html_haml__916808747816020444_70097676694780' 

dkhgh avatar Apr 07 '16 10:04 dkhgh

Perhaps an audit log of a deleted user? I don't think you can easily delete users, so it must have been a hard delete in the database

jurre avatar Apr 07 '16 11:04 jurre

I am having the same problem. I have hosted it on Heroku. Whenever I go to /Users, app crashes this is the log from Heroku,

2017-08-31T17:21:16.363452+00:00 app[web.1]: ActionView::Template::Error (No route matches {:action=>"show", :controller=>"users", :id=>nil} missing required keys: [:id]): 2017-08-31T17:21:16.363453+00:00 app[web.1]: 7: - @users.each do |user| 2017-08-31T17:21:16.363454+00:00 app[web.1]: 8: %tr 2017-08-31T17:21:16.363455+00:00 app[web.1]: 9: %td 2017-08-31T17:21:16.363456+00:00 app[web.1]: 10: = link_to user.full_name, user_path(user) if user.confirmed? 2017-08-31T17:21:16.363456+00:00 app[web.1]: 11: %td= user.email 2017-08-31T17:21:16.363457+00:00 app[web.1]: 12: %td 2017-08-31T17:21:16.363458+00:00 app[web.1]: 13: - unless user.accepted_or_not_invited? 2017-08-31T17:21:16.363459+00:00 app[web.1]: app/views/users/index.html.haml:10:in block in _app_views_users_index_html_haml___659651559752492815_70194425770680' 2017-08-31T17:21:16.363460+00:00 app[web.1]: app/views/users/index.html.haml:7:in _app_views_users_index_html_haml___659651559752492815_70194425770680' 2017-08-31T17:21:16.363461+00:00 app[web.1]: 2017-08-31T17:21:16.363461+00:00 app[web.1]:

Now I wonder, How do I fix it without losing my Data?

nileshlg2003 avatar Aug 31 '17 17:08 nileshlg2003

The error you see, does not seem related. Your app crashes because the template tries to iterate over users without an id. From the code, I can't figure out which user(s) that could be: the controller assigns User.all to @users, which the template iterates over and constructs links for each user using its id. So, the question is: What does your database's Users table contain? Have you changed the primary key of the users table? What database do you use and is it fully migrated?

tarzan avatar Sep 01 '17 07:09 tarzan