Bug 1009333
| Summary: | Beaker shows 500 error when someone tries to loan one system to others, but he only has loan-self permission | ||
|---|---|---|---|
| Product: | [Retired] Beaker | Reporter: | xjia <xjia> |
| Component: | web UI | Assignee: | beaker-dev-list |
| Status: | CLOSED DUPLICATE | QA Contact: | tools-bugs <tools-bugs> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | develop | CC: | aigao, asaha, dcallagh, mjia, qwan, rmancy, thenzl, tools-bugs, xtian |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-04-14 00:46:08 UTC | Type: | Bug |
| 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: | 1011858 | ||
| Bug Blocks: | |||
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"))
The patch for bug 1011858 at least turns this into a 403 error, but still doesn't show a proper error message. *** This bug has been marked as a duplicate of bug 999391 *** |
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: