Merge lp:~sinzui/launchpad/delete-structural-target into lp:launchpad/db-devel
Proposed by
Curtis Hovey
Status: | Merged |
---|---|
Approved by: | Eleanor Berger |
Approved revision: | no longer in the source branch. |
Merged at revision: | not available |
Proposed branch: | lp:~sinzui/launchpad/delete-structural-target |
Merge into: | lp:launchpad/db-devel |
Diff against target: |
399 lines 10 files modified
database/schema/security.cfg (+1/-1) lib/canonical/launchpad/icing/style-3-0.css (+3/-0) lib/canonical/launchpad/templates/launchpad-login.pt (+5/-5) lib/lp/registry/browser/__init__.py (+47/-9) lib/lp/registry/browser/productseries.py (+7/-2) lib/lp/registry/browser/tests/milestone-views.txt (+6/-0) lib/lp/registry/browser/tests/productseries-views.txt (+40/-10) lib/lp/registry/doc/milestone.txt (+10/-0) lib/lp/registry/model/milestone.py (+4/-1) lib/lp/registry/templates/productseries-delete.pt (+12/-6) |
To merge this branch: | bzr merge lp:~sinzui/launchpad/delete-structural-target |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Eleanor Berger (community) | code | Approve | |
Review via email: mp+12877@code.launchpad.net |
To post a comment you must log in.
This is my branch to fix the series/milestone delete oopes and the bad
lost branch experience.
lp:~sinzui/launchpad/delete-structural-target /bugs.launchpad .net/bugs/ 416483 /bugs.launchpad .net/bugs/ 402725 /bugs.launchpad .net/bugs/ 400844 views|milestone -views"
-t "doc/milestone"
-t "xx-productseri es-delete" implementation: Deryck, beuno
Diff size: 399
Launchpad bug: https:/
https:/
https:/
Test command: ./bin/test -vv -t "productseries-
Pre-
Target release: 3.1.10
= Fix the series/milestone delete oopes =
Bug 416483 [deletion of series and milestone must remove structural
subscriptions]
OOPS-1318EA4 shows that structural subscriptions are not removed before
the destroySelf() method is called.
Bug 402725 [Delete series and milestones does not untarget series-targeted
blueprints and bugs]
As OOPS-1298B1901 shows, The delete action failed because there are still
blueprints targeted to the series. The blueprints targeted to milestones
were removed, but not the ones to the series. This situation may also
happen for bugs (OOPS-1321EB223)
Bug 400844 [Deleting the "trunk" series linked to branch messes up the divisiui/ trunk to "lp:obsolete-junk/divisiui- 20090625- 210501" . This is frightening, insulting, and gives the
Bazaar repository]
Deleting a series linked to a branch had the effect of renaming our
repository from ~commonsense/
trunk-
impression that the branch is going to be deleted soon. The branch should
have been unlinked before the deletion/move and the UI should explain
what it did and link to the branch.
== Rules ==
Bug 416483 [deletion of series and milestone must remove structural iewMixin. _unlinkSubscrip tion(series_ or_milestone)
subscriptions]
Create RegistryDeleteV
that will remove the structural subscriptions for series and milestones.
Bug 402725 [Delete series and milestones does not untarget series-targeted eteViewMixin. _untarget_ bugs_and_ specifications( series_ or_milestone)
blueprints and bugs]
Exract the loop to untarget spec and bugs from a milestone to also
handle series.
RegistryDel
of if getting the spec and bugs are very different, the 3 line loop can
be copied and rewritten for this case
Bug 400844 [Deleting the "trunk" series linked to branch messes up the
Bazaar repository]
Always set the series.branch to None.
ADDENDUM
The IProductSeriesB ugTask must be deleted because there is nothing to
reassign it to. This means that security.py needed a new rule, and that
means that this needs to be merged to db-devel. Delete is not exposed on
IBugtask, nor should it be because destroySelf() happens by 'need' rather
than by 'want'.
== QA ==
On Staging
* Create a structural subscription on a milestone and series.
* Target bugs to the series
* Target blueprints to the series
* Set the branch to the series.
* Choose delete.
* Verify the page explains what these objects will be untargeted/
unlinked.
* Choose delete
* Verify it did not oops
* Verify the branch...