Bug 1009333 - Beaker shows 500 error when someone tries to loan one system to others, but he only has loan-self permission
Summary: Beaker shows 500 error when someone tries to loan one system to others, but h...
Keywords:
Status: CLOSED DUPLICATE of bug 999391
Alias: None
Product: Beaker
Classification: Retired
Component: web UI
Version: develop
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: beaker-dev-list
QA Contact: tools-bugs
URL:
Whiteboard:
Depends On: 1011858
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-09-18 08:49 UTC by xjia
Modified: 2018-02-06 00:41 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-04-14 00:46:08 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 999391 0 unspecified CLOSED loaning system to unknown user produced error 500 2021-02-22 00:41:40 UTC

Internal Links: 999391

Description xjia 2013-09-18 08:49:05 UTC
Description of problem:
UserA only have loan-self permission for one system, and he tries to loan this system to others. It will show 500 ERROR.


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

How reproducible:
100%

Steps to Reproduce:
1. Open one system, and add user-A loan-self permission
2. Log in with user-A account
3. User-A loan this system to UserB. 

Actual results:
Sep 18 08:42:33 beaker-devel beaker-server[4580]: cherrypy.msg INFO HTTP: Page handler: <bound method SystemsController.update_loan of <bkr.server.systems.SystemsController object at 0x7f31db2d5290>>
Sep 18 08:42:33 beaker-devel beaker-server[4580]:  Traceback (most recent call last):
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/CherryPy-2.3.0-py2.6.egg/cherrypy/_cphttptools.py", line 121, in _run
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      self.main()
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/CherryPy-2.3.0-py2.6.egg/cherrypy/_cphttptools.py", line 264, in main
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      body = page_handler(*virtual_path, **self.params)
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "<string>", line 3, in update_loan
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 361, in expose
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      *args, **kw)
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/bkr/server/wsgi.py", line 54, in run_with_transaction_noop
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      return func(*args, **kwargs)
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "<generated code>", line 0, in _expose
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/peak/rules/core.py", line 153, in __call__
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      return self.body(*args, **kw)
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 390, in <lambda>
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      fragment, options, args, kw)))
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 425, in _execute_func
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      output = errorhandling.try_call(func, *args, **kw)
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/turbogears/errorhandling.py", line 77, in try_call
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      return func(self, *args, **kw)
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "<string>", line 2, in update_loan
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/bkr/server/identity.py", line 242, in require
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      return func(*args, **kwargs)
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/bkr/server/systems.py", line 44, in update_loan
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      system.change_loan(loaning_to, loan_comment)
Sep 18 08:42:33 beaker-devel beaker-server[4580]:    File "/usr/lib/python2.6/site-packages/bkr/server/model.py", line 2548, in change_loan
Sep 18 08:42:33 beaker-devel beaker-server[4580]:      raise BX(_("Insufficient permissions to create loan"))
Sep 18 08:42:33 beaker-devel beaker-server[4580]:  BX: Insufficient permissions to create loan
Sep 18 08:42:33 beaker-devel beaker-server[4580]: bkr.server.wsgi DEBUG Rolling back for 500 response
Sep 18 08:42:36 beaker-devel beaker-server[4581]: bkr.server.xmlrpccontroller DEBUG Time: 0:00:00.019760 labcontrollers.get_queued_command_details ()
Sep 18 08:42:42 beaker-devel beaker-server[4579]: bkr.server.xmlrpccontroller DEBUG Time: 0:00:00.000161 auth.renew_se

Expected results:
Show the wrong message: Have no permission to loan this system to others. or something else.

Additional info:

Comment 2 xjia 2013-09-18 09:41:53 UTC
Also this one:
Sep 18 09:40:54 beaker-devel beaker-server[4581]:  Traceback (most recent call last):
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/CherryPy-2.3.0-py2.6.egg/cherrypy/_cphttptools.py", line 121, in _run
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      self.main()
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/CherryPy-2.3.0-py2.6.egg/cherrypy/_cphttptools.py", line 264, in main
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      body = page_handler(*virtual_path, **self.params)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "<string>", line 3, in return_loan
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 361, in expose
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      *args, **kw)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/bkr/server/wsgi.py", line 54, in run_with_transaction_noop
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      return func(*args, **kwargs)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "<generated code>", line 0, in _expose
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/peak/rules/core.py", line 153, in __call__
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      return self.body(*args, **kw)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 390, in <lambda>
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      fragment, options, args, kw)))
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 425, in _execute_func
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      output = errorhandling.try_call(func, *args, **kw)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/turbogears/errorhandling.py", line 77, in try_call
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      return func(self, *args, **kw)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "<string>", line 2, in return_loan
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/bkr/server/identity.py", line 242, in require
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      return func(*args, **kwargs)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/bkr/server/systems.py", line 32, in return_loan
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      return self.update_loan(fqdn=fqdn, loaned=None)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "<string>", line 3, in update_loan
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 356, in expose
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      *args, **kw)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "<generated code>", line 0, in _expose
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/peak/rules/core.py", line 153, in __call__
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      return self.body(*args, **kw)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 390, in <lambda>
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      fragment, options, args, kw)))
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 425, in _execute_func
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      output = errorhandling.try_call(func, *args, **kw)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/turbogears/errorhandling.py", line 77, in try_call
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      return func(self, *args, **kw)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "<string>", line 2, in update_loan
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/bkr/server/identity.py", line 242, in require
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      return func(*args, **kwargs)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/bkr/server/systems.py", line 44, in update_loan
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      system.change_loan(loaning_to, loan_comment)
Sep 18 09:40:54 beaker-devel beaker-server[4581]:    File "/usr/lib/python2.6/site-packages/bkr/server/model.py", line 2551, in change_loan
Sep 18 09:40:54 beaker-devel beaker-server[4581]:      raise BX(_("Insufficient permissions to return loan"))

Comment 3 Nick Coghlan 2013-10-10 06:33:32 UTC
The patch for bug 1011858 at least turns this into a 403 error, but still doesn't show a proper error message.

Comment 5 matt jia 2014-04-14 00:46:08 UTC

*** This bug has been marked as a duplicate of bug 999391 ***


Note You need to log in before you can comment on or make changes to this bug.