unassigning a private bug results in a red error box
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Critical
|
Ian Booth |
Bug Description
I had a bug 447550 which is private, that I can only see because I'm the assignee. I unassigned myself and this generated a big red backtrace box as a result:
Presumably this is because once unassigned, I can't see the bug anymore. So the unassignment access drop has to be deferred to end of transaction. I suggest by caching the access permission on the bug.
Unauthorized
(, 'getBugNotifica
Traceback (most recent call last):
File "/srv/launchpad
result = publication.
File "/srv/launchpad
WebServiceP
File "/srv/launchpad
return mapply(ob, request.
File "/srv/launchpad
return debug_call(obj, args)
File "/srv/launchpad
return obj(*args)
File "/srv/launchpad
result = self.do_
File "/srv/launchpad
return self.applyChang
File "/srv/launchpad
notify(event)
File "/srv/launchpad
subscriber(
File "/srv/launchpad
zope.
File "/srv/launchpad
return sitemanager.
File "/srv/launchpad
return self.adapters.
File "/srv/launchpad
subscriptio
File "/srv/launchpad
zope.
File "/srv/launchpad
return sitemanager.
File "/srv/launchpad
return self.adapters.
File "/srv/launchpad
subscriptio
File "/srv/launchpad
return func(*args, **kwargs)
File "/srv/launchpad
new_
File "/srv/launchpad
recipients = bug_delta.
Unauthorized: (, 'getBugNotifica
Related branches
- Robert Collins (community): Approve
-
Diff: 182 lines (+87/-36)4 files modifiedlib/lp/bugs/model/bug.py (+3/-0)
lib/lp/bugs/model/bugtask.py (+5/-2)
lib/lp/bugs/tests/test_bugchanges.py (+79/-33)
lib/lp/bugs/tests/test_bugvisibility.py (+0/-1)
Changed in launchpad: | |
assignee: | nobody → Ian Booth (wallyworld) |
Changed in launchpad: | |
status: | Triaged → In Progress |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
Oh, and of course, the exception means that the request oops and the unassignment is aborted.