Merge lp:~wallyworld/launchpad/private-dupe-bug-warning3 into lp:launchpad
Status: | Merged |
---|---|
Approved by: | Curtis Hovey |
Approved revision: | no longer in the source branch. |
Merged at revision: | 15719 |
Proposed branch: | lp:~wallyworld/launchpad/private-dupe-bug-warning3 |
Merge into: | lp:launchpad |
Prerequisite: | lp:~wallyworld/launchpad/private-dupe-bug-warning2-943497 |
Diff against target: |
494 lines (+253/-24) 8 files modified
lib/canonical/launchpad/icing/css/forms.css (+1/-1) lib/lp/bugs/browser/tests/test_bugs.py (+27/-0) lib/lp/bugs/interfaces/malone.py (+18/-0) lib/lp/bugs/javascript/bugtask_index.js (+6/-1) lib/lp/bugs/javascript/duplicates.js (+63/-14) lib/lp/bugs/javascript/tests/test_duplicates.js (+79/-8) lib/lp/bugs/tests/test_searchtasks_webservice.py (+33/-0) lib/lp/systemhomes.py (+26/-0) |
To merge this branch: | bzr merge lp:~wallyworld/launchpad/private-dupe-bug-warning3 |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Curtis Hovey (community) | code | Approve | |
Review via email: mp+116997@code.launchpad.net |
Description of the change
== Implementation ==
Thus branch completes the first round of work to improve the bug dupe form. Main new features compared with previous branch:
- Short circuit some checks
If the same bug number as the current bug is entered, of the same bug number as the current dupe, no search is done and a suitable error message is displayed iommediately.
- Display privacy warning
If the current bug is public and the proposed dupe bug is private, display a warning
(improvements to message text welcome)
- All correct bug data retrieved from server
The implementation adds a new method getBugData() to IMaloneApplication and exposes it as a named ws op on the /bugs web service interface. The method currently takes just the one search criteria (bug_id) but can be extended if we want to allow searching on pillar and key words. The getBugData method returns a list of json bug data.
==Demo and QA ==
Here's a screenshot of the privacy warning.
http://
== Tests ==
Extend yui tests
Add tests for getBugData (for direct call and via web service)
== Lint ==
Checking for conflicts and issues in changed files.
Linting changed files:
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
Hi Ian.
The code looks fine, but I have some concerns about the layout and messages. I think we want to decide what we want to do about these issues, and decide which branch we want to address them
1. The buttons in the screenshot are centred. No design guidelines for any os/web site I have seen suggest centred is correct. Maybe the centreing is an illusion created by the very large content of the bug listing extending beyond the width of the other elements. Lp's rules state the forms action buttons are to bottom left. lazr would place them at the bottom right. We don't have many example align right with real button -- The create milestone overlay is the only one I recall.
2. More bother. The Lp's overlays prefer to make the data the action. So in the screenshot, The cancel action would be the cancel button in the upper right corner, The search field would always be visible so search again is not needed. Plus, taking the search away implies a two step picker and the green progress bar says there is only one step. So instead of Save Duplicate, the user would choose the bug in the listing...but this is not a list. We don't want a listing either. The link to the found bug will reload my page and I loose state. Like the person picker if we need a link we need to be clear that the user can "view details" with a icon telling the user that the link opens a new window.
3. I do not think the privacy warning will deter people from being rude. Maybe
Marking this bug a duplicate of a private bug prevents contributors from helping,
and encourages the reporting of more duplicate bugs.
Is there a public version of this bug that can be used instead?
4. Is it really an error to mark a bug a duplicate of a bug that is already the duplicate? I think this is a no-op where the overlay just closes with a success.