Merge lp:~brian-murray/launchpad/bug-supervisor-bug-expiry into lp:launchpad
Status: | Merged |
---|---|
Approved by: | Edwin Grubbs |
Approved revision: | no longer in the source branch. |
Merged at revision: | 11809 |
Proposed branch: | lp:~brian-murray/launchpad/bug-supervisor-bug-expiry |
Merge into: | lp:launchpad |
Diff against target: |
141 lines (+45/-21) 5 files modified
lib/lp/bugs/browser/bugtarget.py (+15/-9) lib/lp/bugs/browser/configure.zcml (+1/-1) lib/lp/bugs/browser/tests/test_bugtarget_configure.py (+27/-9) lib/lp/bugs/tests/test_bugnotification.py (+1/-1) lib/lp/registry/browser/product.py (+1/-1) |
To merge this branch: | bzr merge lp:~brian-murray/launchpad/bug-supervisor-bug-expiry |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Edwin Grubbs (community) | code | Approve | |
Review via email: mp+38958@code.launchpad.net |
Commit message
Allow bug supervisors to configure the bug tracker section of their project.
Description of the change
Recently Deryck was trying to communicate with people about enabling bug expiry and sent an email to bug supervisors for projects indicating how they could enable bug expiry. However, bug supervisor's don't actually have access to +configure-
I added a test to test_bugtarget_
bin/test -cvvt test_bugtarget_
Hi Brian,
This is a nice improvement, but I'm worried about the "Configure bugtracker" link appearing on bugs.lp.net but not on lp.net. Apparently, this is caused by bugtarget-bugs.pt not using pillar- involvement- portlet. pt, and pillar- involvement- portlet. pt wraps all the links in a context/ required: launchpad. Edit.
Unless there is a good reason to have the portlet appear differently on those two pages, I think it would be beneficial to make bugtarget-bugs.pt use the portlet. This will definitely take some more sophisticated permission checks to make it look write for launchpad.Edit and for launchpad. BugSupervisor.
I have one comment below.
-Edwin
>=== modified file 'lib/lp/ bugs/browser/ bugtarget. py' bugs/browser/ bugtarget. py 2010-10-06 16:12:16 +0000 bugs/browser/ bugtarget. py 2010-10-20 19:13:30 +0000 iguration bug_expiration" , guidelines" , acknowledgement ", erWidget renders enable_ bug_expiration and widget( 'bugtracker' , ProductBugTrack erWidget) widget( 'enable_ bug_expiration' , GhostCheckBoxWi dget) widget( 'remote_ product' , GhostWidget) eBase._ _init__ (self, context, request)
>--- lib/lp/
>+++ lib/lp/
>@@ -176,21 +176,30 @@
>
> label = "Configure bug tracker"
> schema = IProductBugConf
>- field_names = [
>- "bug_supervisor",
>- "security_contact",
>- "bugtracker",
>- "enable_
>- "remote_product",
>- "bug_reporting_
>- "bug_reported_
>- ]
> # This ProductBugTrack
> # remote_product as subordinate fields, so this view suppresses them.
> custom_
> custom_
> custom_
>
>+ def __init__(self, context, request):
>+ ProductConfigur
>+
You can remove this method override.
>+ @property bug_expiration" , guidelines" , acknowledgement ", n("launchpad. Edit", self.context): extend( ["bug_superviso r", "security_ contact" ]) gSupervisor( data)
>+ def field_names(self):
>+ """Return the list of field names to display."""
>+ field_names = [
>+ "bugtracker",
>+ "enable_
>+ "remote_product",
>+ "bug_reporting_
>+ "bug_reported_
>+ ]
>+ if check_permissio
>+ field_names.
>+
>+ return field_names
>+
> def validate(self, data):
> """Constrain bug expiration to Launchpad Bugs tracker."""
> self.validateBu