Merge lp:~rvb/launchpad/db-distroseries-migrate-owner-to-registrant into lp:launchpad/db-devel

Proposed by Raphaël Badin
Status: Merged
Approved by: Raphaël Badin
Approved revision: no longer in the source branch.
Merged at revision: 10320
Proposed branch: lp:~rvb/launchpad/db-distroseries-migrate-owner-to-registrant
Merge into: lp:launchpad/db-devel
Diff against target: 764 lines (+165/-188)
24 files modified
database/sampledata/current-dev.sql (+14/-14)
database/sampledata/current.sql (+14/-14)
database/schema/comments.sql (+1/-1)
database/schema/patch-2208-56-0.sql (+32/-0)
lib/canonical/launchpad/pagetests/basics/notfound-traversals.txt (+1/-1)
lib/canonical/launchpad/security.py (+9/-9)
lib/lp/registry/browser/configure.zcml (+0/-7)
lib/lp/registry/browser/distroseries.py (+4/-9)
lib/lp/registry/configure.zcml (+1/-1)
lib/lp/registry/doc/distroseries.txt (+8/-4)
lib/lp/registry/interfaces/distribution.py (+1/-1)
lib/lp/registry/interfaces/distroseries.py (+7/-2)
lib/lp/registry/model/distribution.py (+5/-4)
lib/lp/registry/model/distroseries.py (+8/-3)
lib/lp/registry/stories/distroseries/xx-distroseries-index.txt (+3/-1)
lib/lp/registry/stories/distroseries/xx-reassign-distroseries.txt (+0/-72)
lib/lp/registry/stories/webservice/xx-distroseries.txt (+2/-1)
lib/lp/registry/templates/distroseries-index.pt (+2/-5)
lib/lp/registry/tests/test_distribution.py (+1/-1)
lib/lp/registry/tests/test_distroseries.py (+9/-0)
lib/lp/soyuz/doc/distroseriesqueue-translations.txt (+30/-30)
lib/lp/testing/factory.py (+5/-2)
lib/lp/translations/browser/tests/test_sharing_information.py (+6/-4)
utilities/soyuz-sampledata-setup.py (+2/-2)
To merge this branch: bzr merge lp:~rvb/launchpad/db-distroseries-migrate-owner-to-registrant
Reviewer Review Type Date Requested Status
Stuart Bishop (community) db Approve
Curtis Hovey (community) code Approve
Julian Edwards (community) Approve
Robert Collins db Pending
Review via email: mp+53770@code.launchpad.net

Commit message

[r=julian-edwards,sinzui,stub] [r=julian-edwards,sinzui][bug=727632] Add a 'registrant' field to distro series. Use the owner of the distribution as the distribution's owner.

Description of the change

This branch normalise the usage of the fields 'registrant' and 'owner' for distroseries.

The 'registrant' is a read only field (the person who registered the distroseries with basically no power).

The 'owner' is the real person managing the object. The attribute mirrors the owner of the
distribution (the delegated manager will be the 'driver').

To post a comment you must log in.
Revision history for this message
Julian Edwards (julian-edwards) wrote :

A couple of minor things to mention:

1. The db patch can just rename the column instead of deleting/adding.
2. The chunk of added zcml in 'lib/lp/registry/configure.zcml is weirdly formatted in the diff here.

Nothing else leaps out at me, so unless Curtis sees a problem I'm ok with it.

review: Approve
Revision history for this message
Raphaël Badin (rvb) wrote :

1. Fixed the db patch (is there a way to rename a constraint?).
2. Fixed formatting.

Revision history for this message
Curtis Hovey (sinzui) wrote :

This looks good to land. We can certainly reuse this approach to fix productseries this year.

review: Approve (code)
Revision history for this message
Stuart Bishop (stub) wrote :

patch-2208-53-0.sql has already been landed, adding a new registrant column but not dropping the old owner column.

If we don't want the owner column, we need a patch that drops the owner column. We can't back out db-patches once they land without screwing up the staging server.

review: Needs Fixing (db)
Revision history for this message
Stuart Bishop (stub) wrote :

Note to self - don't review when sick.

The patch is actually fine - the patch I thought was conflicting was on Distribution, not DistroSeries.

Please rename the existing index too:

ALTER INDEX distroseries__owner__idx RENAME TO distroseries__registrant__idx;

And while you are there, we can tidy up some old misnamed indexes too:

ALTER INDEX distrorelease_pkey RENAME TO distroseries_pkey;
ALTER INDEX distrorelease_distribution_key RENAME TO distrorelease__distribution__name__key;
ALTER INDEX distrorelease_distro_release_unique RENAME TO distroseries__distribution__id__key;

patch-2208-56-0.sql

review: Approve (db)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'database/sampledata/current-dev.sql'
--- database/sampledata/current-dev.sql 2011-03-15 15:51:58 +0000
+++ database/sampledata/current-dev.sql 2011-03-18 11:21:43 +0000
@@ -1885,20 +1885,20 @@
18851885
1886ALTER TABLE distroseries DISABLE TRIGGER ALL;1886ALTER TABLE distroseries DISABLE TRIGGER ALL;
18871887
1888INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (1, 1, 'warty', 'The Warty Warthog Release', 'Warty was the first stable release of Ubuntu. Key feature goals included releasing on time, with the latest version of the Gnome Desktop Environment, and the creation of all the infrastructure required to manage Ubuntu itself. Warty includes excellent support for Python, with most of the widely used Python libraries installed by default.', '4.10', 4, '2004-08-20 00:00:00', NULL, 17, 'Warty is the first release of Ubuntu, with a planned release date of October 2004.', 'Warty', NULL, 0, 1, 'warty-changes@ubuntu.com', 4, 3, NULL, '2006-10-16 18:31:43.475428', false, false, NULL, NULL, NULL, false);1888INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (1, 1, 'warty', 'The Warty Warthog Release', 'Warty was the first stable release of Ubuntu. Key feature goals included releasing on time, with the latest version of the Gnome Desktop Environment, and the creation of all the infrastructure required to manage Ubuntu itself. Warty includes excellent support for Python, with most of the widely used Python libraries installed by default.', '4.10', 4, '2004-08-20 00:00:00', NULL, 'Warty is the first release of Ubuntu, with a planned release date of October 2004.', 'Warty', NULL, 0, 1, 'warty-changes@ubuntu.com', 4, 3, NULL, '2006-10-16 18:31:43.475428', false, false, NULL, NULL, NULL, false, 17);
1889INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (2, 2, 'six', 'Six Six Six', 'some text to describe the whole 666 release of RH', '6.0.1', 4, '2004-03-21 00:00:00', NULL, 8, 'some text to describe the whole 666 release of RH', 'Six', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.482603', false, false, NULL, NULL, NULL, false);1889INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (2, 2, 'six', 'Six Six Six', 'some text to describe the whole 666 release of RH', '6.0.1', 4, '2004-03-21 00:00:00', NULL, 'some text to describe the whole 666 release of RH', 'Six', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.482603', false, false, NULL, NULL, NULL, false, 8);
1890INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (3, 1, 'hoary', 'The Hoary Hedgehog Release', 'Hoary is the second release of Ubuntu. Key feature goals include the integration of Hoary with the Launchpad for bugs and translation information, as well as Gnome 2.10 and the X.org window system.', '5.04', 2, NULL, 1, 1, 'Hoary is the second released of Ubuntu, with release planned for April 2005.', 'Hoary', NULL, 96, 6, 'hoary-changes@ubuntu.com', 1, 4, NULL, '2006-10-16 18:31:43.483559', false, false, NULL, NULL, NULL, false);1890INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (3, 1, 'hoary', 'The Hoary Hedgehog Release', 'Hoary is the second release of Ubuntu. Key feature goals include the integration of Hoary with the Launchpad for bugs and translation information, as well as Gnome 2.10 and the X.org window system.', '5.04', 2, NULL, 1, 'Hoary is the second released of Ubuntu, with release planned for April 2005.', 'Hoary', NULL, 96, 6, 'hoary-changes@ubuntu.com', 1, 4, NULL, '2006-10-16 18:31:43.483559', false, false, NULL, NULL, NULL, false, 1);
1891INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (4, 2, '7.0', 'Seven', 'The release that we would not expect', '7.0.1', 3, NULL, 2, 7, 'The release that we would not expect', '7.0', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.484426', false, false, NULL, NULL, NULL, false);1891INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (4, 2, '7.0', 'Seven', 'The release that we would not expect', '7.0.1', 3, NULL, 2, 'The release that we would not expect', '7.0', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.484426', false, false, NULL, NULL, NULL, false, 7);
1892INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (5, 1, 'grumpy', 'The Grumpy Groundhog Release', 'Grumpy, the third release of Ubuntu Linux, is not yet in active development. This information is purely a placeholder.', '5.10', 1, NULL, 1, 1, 'Grumpy is the third release of Ubuntu, planned for October 2005.', 'Grumpy', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.485233', false, false, NULL, NULL, NULL, false);1892INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (5, 1, 'grumpy', 'The Grumpy Groundhog Release', 'Grumpy, the third release of Ubuntu Linux, is not yet in active development. This information is purely a placeholder.', '5.10', 1, NULL, 1, 'Grumpy is the third release of Ubuntu, planned for October 2005.', 'Grumpy', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.485233', false, false, NULL, NULL, NULL, false, 1);
1893INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (6, 3, 'woody', 'WOODY', 'WOODY is the current stable verison of Debian GNU/Linux', '3.0', 4, '2003-01-01 00:00:00', NULL, 2, 'WOODY is the current stable verison of Debian GNU/Linux', 'Woody', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.486054', false, false, NULL, NULL, NULL, false);1893INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (6, 3, 'woody', 'WOODY', 'WOODY is the current stable verison of Debian GNU/Linux', '3.0', 4, '2003-01-01 00:00:00', NULL, 'WOODY is the current stable verison of Debian GNU/Linux', 'Woody', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.486054', false, false, NULL, NULL, NULL, false, 2);
1894INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (7, 3, 'sarge', 'Sarge', 'Sarge is the FROZEN unstable version of Debian GNU/Linux.', '3.1', 3, NULL, 6, 5, 'Sarge is the FROZEN unstable version of Debian GNU/Linux.', 'Sarge', NULL, 0, NULL, NULL, 0, 0, 6, '2006-10-16 18:31:43.486972', false, false, NULL, NULL, NULL, false);1894INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (7, 3, 'sarge', 'Sarge', 'Sarge is the FROZEN unstable version of Debian GNU/Linux.', '3.1', 3, NULL, 6, 'Sarge is the FROZEN unstable version of Debian GNU/Linux.', 'Sarge', NULL, 0, NULL, NULL, 0, 0, 6, '2006-10-16 18:31:43.486972', false, false, NULL, NULL, NULL, false, 5);
1895INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (8, 3, 'sid', 'Sid', 'Sid is the CRAZY unstable version of Debian GNU/Linux.', '3.2', 1, NULL, 6, 6, 'Sid is the CRAZY unstable version of Debian GNU/Linux.', 'Sid', NULL, 0, NULL, NULL, 0, 1, NULL, '2006-10-16 18:31:43.487779', false, false, NULL, NULL, NULL, false);1895INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (8, 3, 'sid', 'Sid', 'Sid is the CRAZY unstable version of Debian GNU/Linux.', '3.2', 1, NULL, 6, 'Sid is the CRAZY unstable version of Debian GNU/Linux.', 'Sid', NULL, 0, NULL, NULL, 0, 1, NULL, '2006-10-16 18:31:43.487779', false, false, NULL, NULL, NULL, false, 6);
1896INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (9, 7, '2k5', 'Guada 2005', 'This release places extra emphasis on usability and installability. The installer is adapted from Ubuntu to assume your country, language, keyboard and time zone preference, thus ensuring that installs ask the minimum number of questions possible.', '2005', 2, NULL, 3, 4, 'Guada 2005 is a rapid-install version of1896INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (9, 7, '2k5', 'Guada 2005', 'This release places extra emphasis on usability and installability. The installer is adapted from Ubuntu to assume your country, language, keyboard and time zone preference, thus ensuring that installs ask the minimum number of questions possible.', '2005', 2, NULL, 3, 'Guada 2005 is a rapid-install version of
1897Ubuntu Hoary for the Andalucian marketplace.', 'Guada2005', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.488598', false, false, NULL, NULL, NULL, false);1897Ubuntu Hoary for the Andalucian marketplace.', 'Guada2005', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.488598', false, false, NULL, NULL, NULL, false, 4);
1898INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (10, 1, 'breezy-autotest', 'Breezy Badger Autotest', 'Autotest version of Breezy', '6.6.6', 1, NULL, 3, 1, 'Autosync uploader test', 'Breezy Badger Autotest', NULL, 0, 8, 'autotest_changes@ubuntu.com', 0, 0, NULL, '2006-10-16 18:31:43.489468', false, false, NULL, NULL, NULL, false);1898INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (10, 1, 'breezy-autotest', 'Breezy Badger Autotest', 'Autotest version of Breezy', '6.6.6', 1, NULL, 3, 'Autosync uploader test', 'Breezy Badger Autotest', NULL, 0, 8, 'autotest_changes@ubuntu.com', 0, 0, NULL, '2006-10-16 18:31:43.489468', false, false, NULL, NULL, NULL, false, 1);
1899INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (11, 8, 'breezy-autotest', 'Breezy Badger Autotest', 'Autotest version of Breezy', '6.6.6', 1, NULL, 1, 1, 'Autosync uploader test', 'Breezy Badger Autotest', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.490333', false, false, NULL, NULL, NULL, false);1899INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (11, 8, 'breezy-autotest', 'Breezy Badger Autotest', 'Autotest version of Breezy', '6.6.6', 1, NULL, 1, 'Autosync uploader test', 'Breezy Badger Autotest', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.490333', false, false, NULL, NULL, NULL, false, 1);
1900INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (12, 5, 'krunch', 'The Krunchy Kangaroo', 'The archive split allows us to use different kernel settings for Kubuntu, as well as make other pervasive low-level fixes, and release on our own schedule.', '8.06', 1, NULL, 3, 1, 'This is the first experimental release of Kubuntu that uses a separate archive from the main Ubuntu release.', 'Krunch', NULL, 0, NULL, NULL, 0, 0, 33, '2006-10-16 18:31:43.491929', false, false, NULL, NULL, NULL, false);1900INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (12, 5, 'krunch', 'The Krunchy Kangaroo', 'The archive split allows us to use different kernel settings for Kubuntu, as well as make other pervasive low-level fixes, and release on our own schedule.', '8.06', 1, NULL, 3, 'This is the first experimental release of Kubuntu that uses a separate archive from the main Ubuntu release.', 'Krunch', NULL, 0, NULL, NULL, 0, 0, 33, '2006-10-16 18:31:43.491929', false, false, NULL, NULL, NULL, false, 1);
1901INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (13, 8, 'hoary-test', 'Mock Hoary', 'nothing special', '9.9.9', 1, NULL, 1, 1, 'summmmmmmary', 'Hoary Mock', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.492845', false, false, NULL, NULL, NULL, false);1901INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (13, 8, 'hoary-test', 'Mock Hoary', 'nothing special', '9.9.9', 1, NULL, 1, 'summmmmmmary', 'Hoary Mock', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.492845', false, false, NULL, NULL, NULL, false, 1);
19021902
19031903
1904ALTER TABLE distroseries ENABLE TRIGGER ALL;1904ALTER TABLE distroseries ENABLE TRIGGER ALL;
19051905
=== modified file 'database/sampledata/current.sql'
--- database/sampledata/current.sql 2011-03-15 15:51:58 +0000
+++ database/sampledata/current.sql 2011-03-18 11:21:43 +0000
@@ -1885,20 +1885,20 @@
18851885
1886ALTER TABLE distroseries DISABLE TRIGGER ALL;1886ALTER TABLE distroseries DISABLE TRIGGER ALL;
18871887
1888INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (1, 1, 'warty', 'The Warty Warthog Release', 'Warty was the first stable release of Ubuntu. Key feature goals included releasing on time, with the latest version of the Gnome Desktop Environment, and the creation of all the infrastructure required to manage Ubuntu itself. Warty includes excellent support for Python, with most of the widely used Python libraries installed by default.', '4.10', 4, '2004-08-20 00:00:00', NULL, 17, 'Warty is the first release of Ubuntu, with a planned release date of October 2004.', 'Warty', NULL, 0, 1, 'warty-changes@ubuntu.com', 4, 3, NULL, '2006-10-16 18:31:43.475428', false, false, NULL, NULL, NULL, false);1888INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (1, 1, 'warty', 'The Warty Warthog Release', 'Warty was the first stable release of Ubuntu. Key feature goals included releasing on time, with the latest version of the Gnome Desktop Environment, and the creation of all the infrastructure required to manage Ubuntu itself. Warty includes excellent support for Python, with most of the widely used Python libraries installed by default.', '4.10', 4, '2004-08-20 00:00:00', NULL, 'Warty is the first release of Ubuntu, with a planned release date of October 2004.', 'Warty', NULL, 0, 1, 'warty-changes@ubuntu.com', 4, 3, NULL, '2006-10-16 18:31:43.475428', false, false, NULL, NULL, NULL, false, 17);
1889INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (2, 2, 'six', 'Six Six Six', 'some text to describe the whole 666 release of RH', '6.0.1', 4, '2004-03-21 00:00:00', NULL, 8, 'some text to describe the whole 666 release of RH', 'Six', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.482603', false, false, NULL, NULL, NULL, false);1889INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (2, 2, 'six', 'Six Six Six', 'some text to describe the whole 666 release of RH', '6.0.1', 4, '2004-03-21 00:00:00', NULL, 'some text to describe the whole 666 release of RH', 'Six', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.482603', false, false, NULL, NULL, NULL, false, 8);
1890INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (3, 1, 'hoary', 'The Hoary Hedgehog Release', 'Hoary is the second release of Ubuntu. Key feature goals include the integration of Hoary with the Launchpad for bugs and translation information, as well as Gnome 2.10 and the X.org window system.', '5.04', 2, NULL, 1, 1, 'Hoary is the second released of Ubuntu, with release planned for April 2005.', 'Hoary', NULL, 96, 6, 'hoary-changes@ubuntu.com', 1, 4, NULL, '2006-10-16 18:31:43.483559', false, false, NULL, NULL, NULL, false);1890INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (3, 1, 'hoary', 'The Hoary Hedgehog Release', 'Hoary is the second release of Ubuntu. Key feature goals include the integration of Hoary with the Launchpad for bugs and translation information, as well as Gnome 2.10 and the X.org window system.', '5.04', 2, NULL, 1, 'Hoary is the second released of Ubuntu, with release planned for April 2005.', 'Hoary', NULL, 96, 6, 'hoary-changes@ubuntu.com', 1, 4, NULL, '2006-10-16 18:31:43.483559', false, false, NULL, NULL, NULL, false, 1);
1891INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (4, 2, '7.0', 'Seven', 'The release that we would not expect', '7.0.1', 3, NULL, 2, 7, 'The release that we would not expect', '7.0', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.484426', false, false, NULL, NULL, NULL, false);1891INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (4, 2, '7.0', 'Seven', 'The release that we would not expect', '7.0.1', 3, NULL, 2, 'The release that we would not expect', '7.0', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.484426', false, false, NULL, NULL, NULL, false, 7);
1892INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (5, 1, 'grumpy', 'The Grumpy Groundhog Release', 'Grumpy, the third release of Ubuntu Linux, is not yet in active development. This information is purely a placeholder.', '5.10', 1, NULL, 1, 1, 'Grumpy is the third release of Ubuntu, planned for October 2005.', 'Grumpy', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.485233', false, false, NULL, NULL, NULL, false);1892INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (5, 1, 'grumpy', 'The Grumpy Groundhog Release', 'Grumpy, the third release of Ubuntu Linux, is not yet in active development. This information is purely a placeholder.', '5.10', 1, NULL, 1, 'Grumpy is the third release of Ubuntu, planned for October 2005.', 'Grumpy', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.485233', false, false, NULL, NULL, NULL, false, 1);
1893INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (6, 3, 'woody', 'WOODY', 'WOODY is the current stable verison of Debian GNU/Linux', '3.0', 4, '2003-01-01 00:00:00', NULL, 2, 'WOODY is the current stable verison of Debian GNU/Linux', 'Woody', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.486054', false, false, NULL, NULL, NULL, false);1893INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (6, 3, 'woody', 'WOODY', 'WOODY is the current stable verison of Debian GNU/Linux', '3.0', 4, '2003-01-01 00:00:00', NULL, 'WOODY is the current stable verison of Debian GNU/Linux', 'Woody', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.486054', false, false, NULL, NULL, NULL, false, 2);
1894INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (7, 3, 'sarge', 'Sarge', 'Sarge is the FROZEN unstable version of Debian GNU/Linux.', '3.1', 3, NULL, 6, 5, 'Sarge is the FROZEN unstable version of Debian GNU/Linux.', 'Sarge', NULL, 0, NULL, NULL, 0, 0, 6, '2006-10-16 18:31:43.486972', false, false, NULL, NULL, NULL, false);1894INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (7, 3, 'sarge', 'Sarge', 'Sarge is the FROZEN unstable version of Debian GNU/Linux.', '3.1', 3, NULL, 6, 'Sarge is the FROZEN unstable version of Debian GNU/Linux.', 'Sarge', NULL, 0, NULL, NULL, 0, 0, 6, '2006-10-16 18:31:43.486972', false, false, NULL, NULL, NULL, false, 5);
1895INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (8, 3, 'sid', 'Sid', 'Sid is the CRAZY unstable version of Debian GNU/Linux.', '3.2', 1, NULL, 6, 6, 'Sid is the CRAZY unstable version of Debian GNU/Linux.', 'Sid', NULL, 0, NULL, NULL, 0, 1, NULL, '2006-10-16 18:31:43.487779', false, false, NULL, NULL, NULL, false);1895INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (8, 3, 'sid', 'Sid', 'Sid is the CRAZY unstable version of Debian GNU/Linux.', '3.2', 1, NULL, 6, 'Sid is the CRAZY unstable version of Debian GNU/Linux.', 'Sid', NULL, 0, NULL, NULL, 0, 1, NULL, '2006-10-16 18:31:43.487779', false, false, NULL, NULL, NULL, false, 6);
1896INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (9, 7, '2k5', 'Guada 2005', 'This release places extra emphasis on usability and installability. The installer is adapted from Ubuntu to assume your country, language, keyboard and time zone preference, thus ensuring that installs ask the minimum number of questions possible.', '2005', 2, NULL, 3, 4, 'Guada 2005 is a rapid-install version of1896INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (9, 7, '2k5', 'Guada 2005', 'This release places extra emphasis on usability and installability. The installer is adapted from Ubuntu to assume your country, language, keyboard and time zone preference, thus ensuring that installs ask the minimum number of questions possible.', '2005', 2, NULL, 3, 'Guada 2005 is a rapid-install version of
1897Ubuntu Hoary for the Andalucian marketplace.', 'Guada2005', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.488598', false, false, NULL, NULL, NULL, false);1897Ubuntu Hoary for the Andalucian marketplace.', 'Guada2005', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.488598', false, false, NULL, NULL, NULL, false, 4);
1898INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (10, 1, 'breezy-autotest', 'Breezy Badger Autotest', 'Autotest version of Breezy', '6.6.6', 1, NULL, 3, 1, 'Autosync uploader test', 'Breezy Badger Autotest', NULL, 0, 8, 'autotest_changes@ubuntu.com', 0, 0, NULL, '2006-10-16 18:31:43.489468', false, false, NULL, NULL, NULL, false);1898INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (10, 1, 'breezy-autotest', 'Breezy Badger Autotest', 'Autotest version of Breezy', '6.6.6', 1, NULL, 3, 'Autosync uploader test', 'Breezy Badger Autotest', NULL, 0, 8, 'autotest_changes@ubuntu.com', 0, 0, NULL, '2006-10-16 18:31:43.489468', false, false, NULL, NULL, NULL, false, 1);
1899INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (11, 8, 'breezy-autotest', 'Breezy Badger Autotest', 'Autotest version of Breezy', '6.6.6', 1, NULL, 1, 1, 'Autosync uploader test', 'Breezy Badger Autotest', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.490333', false, false, NULL, NULL, NULL, false);1899INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (11, 8, 'breezy-autotest', 'Breezy Badger Autotest', 'Autotest version of Breezy', '6.6.6', 1, NULL, 1, 'Autosync uploader test', 'Breezy Badger Autotest', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.490333', false, false, NULL, NULL, NULL, false, 1);
1900INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (12, 5, 'krunch', 'The Krunchy Kangaroo', 'The archive split allows us to use different kernel settings for Kubuntu, as well as make other pervasive low-level fixes, and release on our own schedule.', '8.06', 1, NULL, 3, 1, 'This is the first experimental release of Kubuntu that uses a separate archive from the main Ubuntu release.', 'Krunch', NULL, 0, NULL, NULL, 0, 0, 33, '2006-10-16 18:31:43.491929', false, false, NULL, NULL, NULL, false);1900INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (12, 5, 'krunch', 'The Krunchy Kangaroo', 'The archive split allows us to use different kernel settings for Kubuntu, as well as make other pervasive low-level fixes, and release on our own schedule.', '8.06', 1, NULL, 3, 'This is the first experimental release of Kubuntu that uses a separate archive from the main Ubuntu release.', 'Krunch', NULL, 0, NULL, NULL, 0, 0, 33, '2006-10-16 18:31:43.491929', false, false, NULL, NULL, NULL, false, 1);
1901INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, owner, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested) VALUES (13, 8, 'hoary-test', 'Mock Hoary', 'nothing special', '9.9.9', 1, NULL, 1, 1, 'summmmmmmary', 'Hoary Mock', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.492845', false, false, NULL, NULL, NULL, false);1901INSERT INTO distroseries (id, distribution, name, title, description, version, releasestatus, datereleased, parent_series, summary, displayname, datelastlangpack, messagecount, nominatedarchindep, changeslist, binarycount, sourcecount, driver, date_created, hide_all_translations, defer_translation_imports, language_pack_base, language_pack_delta, language_pack_proposed, language_pack_full_export_requested, registrant) VALUES (13, 8, 'hoary-test', 'Mock Hoary', 'nothing special', '9.9.9', 1, NULL, 1, 'summmmmmmary', 'Hoary Mock', NULL, 0, NULL, NULL, 0, 0, NULL, '2006-10-16 18:31:43.492845', false, false, NULL, NULL, NULL, false, 1);
19021902
19031903
1904ALTER TABLE distroseries ENABLE TRIGGER ALL;1904ALTER TABLE distroseries ENABLE TRIGGER ALL;
19051905
=== modified file 'database/schema/comments.sql'
--- database/schema/comments.sql 2011-03-11 17:03:37 +0000
+++ database/schema/comments.sql 2011-03-18 11:21:43 +0000
@@ -1621,7 +1621,7 @@
1621COMMENT ON COLUMN DistroSeries.releasestatus IS 'The current release status of this distroseries. E.g. "pre-release freeze" or "released"';1621COMMENT ON COLUMN DistroSeries.releasestatus IS 'The current release status of this distroseries. E.g. "pre-release freeze" or "released"';
1622COMMENT ON COLUMN DistroSeries.datereleased IS 'The date on which this distroseries was released. (obviously only valid for released distributions)';1622COMMENT ON COLUMN DistroSeries.datereleased IS 'The date on which this distroseries was released. (obviously only valid for released distributions)';
1623COMMENT ON COLUMN DistroSeries.parent_series IS 'The parent distroseries on which this distribution is based. This is related to the inheritance stuff.';1623COMMENT ON COLUMN DistroSeries.parent_series IS 'The parent distroseries on which this distribution is based. This is related to the inheritance stuff.';
1624COMMENT ON COLUMN DistroSeries.owner IS 'The ultimate owner of this distroseries.';1624COMMENT ON COLUMN DistroSeries.registrant IS 'The user who registered this distroseries.';
1625COMMENT ON COLUMN DistroSeries.driver IS 'This is a person or team who can act as a driver for this specific release - note that the distribution drivers can also set goals for any release.';1625COMMENT ON COLUMN DistroSeries.driver IS 'This is a person or team who can act as a driver for this specific release - note that the distribution drivers can also set goals for any release.';
1626COMMENT ON COLUMN DistroSeries.changeslist IS 'The email address (name name) of the changes announcement list for this distroseries. If NULL, no announcement mail will be sent.';1626COMMENT ON COLUMN DistroSeries.changeslist IS 'The email address (name name) of the changes announcement list for this distroseries. If NULL, no announcement mail will be sent.';
1627COMMENT ON COLUMN DistroSeries.defer_translation_imports IS 'Don''t accept PO imports for this release just now.';1627COMMENT ON COLUMN DistroSeries.defer_translation_imports IS 'Don''t accept PO imports for this release just now.';
16281628
=== added file 'database/schema/patch-2208-56-0.sql'
--- database/schema/patch-2208-56-0.sql 1970-01-01 00:00:00 +0000
+++ database/schema/patch-2208-56-0.sql 2011-03-18 11:21:43 +0000
@@ -0,0 +1,32 @@
1-- Copyright 2009 Canonical Ltd. This software is licensed under the
2-- GNU Affero General Public License version 3 (see the file LICENSE).
3
4SET client_min_messages=ERROR;
5
6-- Renaming owner to registrant for DistroSeries
7
8-- Rename owner into registrant.
9ALTER TABLE distroseries
10 RENAME COLUMN owner TO registrant;
11
12-- 'Rename' constraint.
13ALTER TABLE distroseries
14 ADD CONSTRAINT distroseries__registrant__fk
15 FOREIGN KEY (registrant) REFERENCES Person(id);
16ALTER TABLE distroseries
17 DROP CONSTRAINT distroseries__owner__fk;
18
19-- Rename index.
20ALTER INDEX distroseries__owner__idx
21 RENAME TO distroseries__registrant__idx;
22
23-- Rename old misnamed indexes.
24ALTER INDEX distrorelease_pkey
25 RENAME TO distroseries_pkey;
26ALTER INDEX distrorelease_distribution_key
27 RENAME TO distrorelease__distribution__name__key;
28ALTER INDEX distrorelease_distro_release_unique
29 RENAME TO distroseries__distribution__id__key;
30
31
32INSERT INTO LaunchpadDatabaseRevision VALUES (2208, 56, 0);
033
=== modified file 'lib/canonical/launchpad/pagetests/basics/notfound-traversals.txt'
--- lib/canonical/launchpad/pagetests/basics/notfound-traversals.txt 2011-03-15 08:24:29 +0000
+++ lib/canonical/launchpad/pagetests/basics/notfound-traversals.txt 2011-03-18 11:21:43 +0000
@@ -222,7 +222,7 @@
222>>> check("/ubuntu/hoary")222>>> check("/ubuntu/hoary")
223>>> check("/ubuntu/hoary/+edit", auth=True)223>>> check("/ubuntu/hoary/+edit", auth=True)
224>>> check("/ubuntu/hoary/+specs")224>>> check("/ubuntu/hoary/+specs")
225>>> check("/ubuntu/hoary/+reassign", auth=True)225>>> check_not_found("/ubuntu/hoary/+reassign")
226>>> check("/ubuntu/hoary/+packaging")226>>> check("/ubuntu/hoary/+packaging")
227>>> check("/ubuntu/hoary/+bugs")227>>> check("/ubuntu/hoary/+bugs")
228228
229229
=== modified file 'lib/canonical/launchpad/security.py'
--- lib/canonical/launchpad/security.py 2011-03-10 19:53:03 +0000
+++ lib/canonical/launchpad/security.py 2011-03-18 11:21:43 +0000
@@ -987,9 +987,10 @@
987 usedfor = IDistroSeries987 usedfor = IDistroSeries
988988
989989
990class EditDistroSeriesByOwnersOrDistroOwnersOrAdmins(AuthorizationBase):990class EditDistroSeriesByReleaseManagerOrDistroOwnersOrAdmins(
991 """The owner of the distro series should be able to modify some of the991 AuthorizationBase):
992 fields on the IDistroSeries992 """The owner of the distro series (i.e. the owner of the distribution)
993 should be able to modify some of the fields on the IDistroSeries
993994
994 NB: there is potential for a great mess if this is not done correctly so995 NB: there is potential for a great mess if this is not done correctly so
995 please consult with Kiko and MDZ on the mailing list before modifying996 please consult with Kiko and MDZ on the mailing list before modifying
@@ -1004,8 +1005,7 @@
1004 # The series driver (release manager) may edit a series if the1005 # The series driver (release manager) may edit a series if the
1005 # distribution is an `IDerivativeDistribution`1006 # distribution is an `IDerivativeDistribution`
1006 return True1007 return True
1007 return (user.inTeam(self.obj.owner) or1008 return (user.inTeam(self.obj.distribution.owner) or
1008 user.inTeam(self.obj.distribution.owner) or
1009 user.in_admin)1009 user.in_admin)
10101010
10111011
@@ -2054,7 +2054,7 @@
20542054
2055class AdminDistroSeriesLanguagePacks(2055class AdminDistroSeriesLanguagePacks(
2056 OnlyRosettaExpertsAndAdmins,2056 OnlyRosettaExpertsAndAdmins,
2057 EditDistroSeriesByOwnersOrDistroOwnersOrAdmins):2057 EditDistroSeriesByReleaseManagerOrDistroOwnersOrAdmins):
2058 permission = 'launchpad.LanguagePacksAdmin'2058 permission = 'launchpad.LanguagePacksAdmin'
2059 usedfor = IDistroSeries2059 usedfor = IDistroSeries
20602060
@@ -2065,10 +2065,10 @@
2065 edit distroseries or members of IDistribution.language_pack_admin team2065 edit distroseries or members of IDistribution.language_pack_admin team
2066 are able to change the language packs available.2066 are able to change the language packs available.
2067 """2067 """
2068 EditDS = EditDistroSeriesByReleaseManagerOrDistroOwnersOrAdmins
2068 return (2069 return (
2069 OnlyRosettaExpertsAndAdmins.checkAuthenticated(self, user) or2070 OnlyRosettaExpertsAndAdmins.checkAuthenticated(self, user) or
2070 EditDistroSeriesByOwnersOrDistroOwnersOrAdmins.checkAuthenticated(2071 EditDS.checkAuthenticated(self, user) or
2071 self, user) or
2072 user.inTeam(self.obj.distribution.language_pack_admin))2072 user.inTeam(self.obj.distribution.language_pack_admin))
20732073
20742074
@@ -2589,7 +2589,7 @@
2589 if parent is None:2589 if parent is None:
2590 return False2590 return False
2591 return check_permission(self.permission, parent)2591 return check_permission(self.permission, parent)
2592 2592
25932593
2594class SetMessageVisibility(AuthorizationBase):2594class SetMessageVisibility(AuthorizationBase):
2595 permission = 'launchpad.Admin'2595 permission = 'launchpad.Admin'
25962596
=== modified file 'lib/lp/registry/browser/configure.zcml'
--- lib/lp/registry/browser/configure.zcml 2011-03-10 17:02:15 +0000
+++ lib/lp/registry/browser/configure.zcml 2011-03-18 11:21:43 +0000
@@ -129,13 +129,6 @@
129 template="../templates/distroseries-needs-packaging.pt"/>129 template="../templates/distroseries-needs-packaging.pt"/>
130 <browser:page130 <browser:page
131 for="lp.registry.interfaces.distroseries.IDistroSeries"131 for="lp.registry.interfaces.distroseries.IDistroSeries"
132 permission="launchpad.Admin"
133 facet="overview"
134 class="canonical.launchpad.browser.ObjectReassignmentView"
135 name="+reassign"
136 template="../../../canonical/launchpad/templates/object-reassignment.pt"/>
137 <browser:page
138 for="lp.registry.interfaces.distroseries.IDistroSeries"
139 permission="launchpad.Edit"132 permission="launchpad.Edit"
140 name="+edit"133 name="+edit"
141 class="lp.registry.browser.distroseries.DistroSeriesEditView"134 class="lp.registry.browser.distroseries.DistroSeriesEditView"
142135
=== modified file 'lib/lp/registry/browser/distroseries.py'
--- lib/lp/registry/browser/distroseries.py 2011-03-08 11:56:40 +0000
+++ lib/lp/registry/browser/distroseries.py 2011-03-18 11:21:43 +0000
@@ -184,7 +184,7 @@
184184
185 usedfor = IDistroSeries185 usedfor = IDistroSeries
186 facet = 'overview'186 facet = 'overview'
187 links = ['edit', 'reassign', 'driver', 'answers',187 links = ['edit', 'driver', 'answers',
188 'packaging', 'needs_packaging', 'builds', 'queue',188 'packaging', 'needs_packaging', 'builds', 'queue',
189 'add_port', 'create_milestone', 'subscribe', 'admin']189 'add_port', 'create_milestone', 'subscribe', 'admin']
190190
@@ -199,11 +199,6 @@
199 summary = 'Someone with permission to set goals for this series'199 summary = 'Someone with permission to set goals for this series'
200 return Link('+driver', text, summary, icon='edit')200 return Link('+driver', text, summary, icon='edit')
201201
202 @enabled_with_permission('launchpad.Admin')
203 def reassign(self):
204 text = 'Change registrant'
205 return Link('+reassign', text, icon='edit')
206
207 @enabled_with_permission('launchpad.Edit')202 @enabled_with_permission('launchpad.Edit')
208 def create_milestone(self):203 def create_milestone(self):
209 text = 'Create milestone'204 text = 'Create milestone'
@@ -496,9 +491,9 @@
496 @action(_('Create Series'), name='create')491 @action(_('Create Series'), name='create')
497 def createAndAdd(self, action, data):492 def createAndAdd(self, action, data):
498 """Create and add a new Distribution Series"""493 """Create and add a new Distribution Series"""
499 owner = getUtility(ILaunchBag).user494 registrant = getUtility(ILaunchBag).user
500495
501 assert owner is not None496 assert registrant is not None
502 distroseries = self.context.newSeries(497 distroseries = self.context.newSeries(
503 name=data['name'],498 name=data['name'],
504 displayname=data['displayname'],499 displayname=data['displayname'],
@@ -507,7 +502,7 @@
507 description=data['description'],502 description=data['description'],
508 version=data['version'],503 version=data['version'],
509 parent_series=data['parent_series'],504 parent_series=data['parent_series'],
510 owner=owner)505 registrant=registrant)
511 notify(ObjectCreatedEvent(distroseries))506 notify(ObjectCreatedEvent(distroseries))
512 self.next_url = canonical_url(distroseries)507 self.next_url = canonical_url(distroseries)
513 return distroseries508 return distroseries
514509
=== modified file 'lib/lp/registry/configure.zcml'
--- lib/lp/registry/configure.zcml 2011-03-18 06:51:22 +0000
+++ lib/lp/registry/configure.zcml 2011-03-18 11:21:43 +0000
@@ -215,7 +215,7 @@
215215
216 <require216 <require
217 permission="launchpad.Moderate"217 permission="launchpad.Moderate"
218 set_attributes="version name status owner nominatedarchindep changeslist datereleased"/>218 set_attributes="version name status nominatedarchindep changeslist datereleased"/>
219219
220 <!-- IStructuralSubscriptionTarget -->220 <!-- IStructuralSubscriptionTarget -->
221221
222222
=== modified file 'lib/lp/registry/doc/distroseries.txt'
--- lib/lp/registry/doc/distroseries.txt 2010-11-02 05:48:54 +0000
+++ lib/lp/registry/doc/distroseries.txt 2011-03-18 11:21:43 +0000
@@ -842,9 +842,11 @@
842 >>> yo_series = youbuntu.newSeries(842 >>> yo_series = youbuntu.newSeries(
843 ... name='island', displayname='Island', title='YouBuntu Island',843 ... name='island', displayname='Island', title='YouBuntu Island',
844 ... summary='summary', description='description', version='09.07',844 ... summary='summary', description='description', version='09.07',
845 ... parent_series=warty, owner=yo_driver)845 ... parent_series=warty, registrant=yo_driver)
846 >>> print yo_series.name846 >>> print yo_series.name
847 island847 island
848 >>> print yo_series.registrant.name
849 yo-driver
848 >>> print yo_series.driver.name850 >>> print yo_series.driver.name
849 yo-driver851 yo-driver
850852
@@ -856,7 +858,7 @@
856 >>> yo_series = youbuntu.newSeries(858 >>> yo_series = youbuntu.newSeries(
857 ... name='forest', displayname='Forest', title='YouBuntu Forest',859 ... name='forest', displayname='Forest', title='YouBuntu Forest',
858 ... summary='summary', description='description', version='09.07',860 ... summary='summary', description='description', version='09.07',
859 ... parent_series=warty, owner=youbuntu.owner)861 ... parent_series=warty, registrant=youbuntu.owner)
860 >>> print yo_series.name862 >>> print yo_series.name
861 forest863 forest
862 >>> print yo_series.driver864 >>> print yo_series.driver
@@ -884,9 +886,11 @@
884 >>> u_series = ubuntu.newSeries(886 >>> u_series = ubuntu.newSeries(
885 ... name='finch', displayname='Finch', title='Ubuntu Finch',887 ... name='finch', displayname='Finch', title='Ubuntu Finch',
886 ... summary='summary', description='description', version='9.06',888 ... summary='summary', description='description', version='9.06',
887 ... parent_series=warty, owner=ubuntu.owner)889 ... parent_series=warty, registrant=ubuntu.owner)
888 >>> print u_series.name890 >>> print u_series.name
889 finch891 finch
892 >>> print u_series.registrant.name
893 ubuntu-team
890 >>> print u_series.driver894 >>> print u_series.driver
891 None895 None
892896
@@ -1056,7 +1060,7 @@
1056 mark1060 mark
1057 >>> print sid.driver1061 >>> print sid.driver
1058 None1062 None
1059 >>> print sid.owner.name1063 >>> print sid.registrant.name
1060 jdub1064 jdub
10611065
1062 >>> for d in sid.drivers:1066 >>> for d in sid.drivers:
10631067
=== modified file 'lib/lp/registry/interfaces/distribution.py'
--- lib/lp/registry/interfaces/distribution.py 2011-03-09 16:35:58 +0000
+++ lib/lp/registry/interfaces/distribution.py 2011-03-18 11:21:43 +0000
@@ -123,7 +123,7 @@
123 """IDistribution properties requiring launchpad.Driver permission."""123 """IDistribution properties requiring launchpad.Driver permission."""
124124
125 def newSeries(name, displayname, title, summary, description,125 def newSeries(name, displayname, title, summary, description,
126 version, parent_series, owner):126 version, parent_series, registrant):
127 """Creates a new distroseries."""127 """Creates a new distroseries."""
128128
129129
130130
=== modified file 'lib/lp/registry/interfaces/distroseries.py'
--- lib/lp/registry/interfaces/distroseries.py 2011-03-10 14:05:51 +0000
+++ lib/lp/registry/interfaces/distroseries.py 2011-03-18 11:21:43 +0000
@@ -241,8 +241,13 @@
241 description=_("The series from which this one was branched."),241 description=_("The series from which this one was branched."),
242 required=True, schema=Interface, # Really IDistroSeries, see below242 required=True, schema=Interface, # Really IDistroSeries, see below
243 vocabulary='DistroSeries'))243 vocabulary='DistroSeries'))
244 owner = exported(244 registrant = exported(
245 PublicPersonChoice(title=_("Owner"), vocabulary='ValidOwner'))245 PublicPersonChoice(
246 title=_("Registrant"), vocabulary='ValidPersonOrTeam'))
247 owner = exported(Reference(
248 IPerson, title=_("Owning team of the derived series"), readonly=True,
249 description=_(
250 "This attribute mirrors the owner of the distribution.")))
246 date_created = exported(251 date_created = exported(
247 Datetime(title=_("The date this series was registered.")))252 Datetime(title=_("The date this series was registered.")))
248 driver = exported(253 driver = exported(
249254
=== modified file 'lib/lp/registry/model/distribution.py'
--- lib/lp/registry/model/distribution.py 2011-03-09 13:40:58 +0000
+++ lib/lp/registry/model/distribution.py 2011-03-18 11:21:43 +0000
@@ -1779,7 +1779,7 @@
1779 return user.inTeam(self.owner) or user.inTeam(admins)1779 return user.inTeam(self.owner) or user.inTeam(admins)
17801780
1781 def newSeries(self, name, displayname, title, summary,1781 def newSeries(self, name, displayname, title, summary,
1782 description, version, parent_series, owner):1782 description, version, parent_series, registrant):
1783 """See `IDistribution`."""1783 """See `IDistribution`."""
1784 series = DistroSeries(1784 series = DistroSeries(
1785 distribution=self,1785 distribution=self,
@@ -1791,10 +1791,11 @@
1791 version=version,1791 version=version,
1792 status=SeriesStatus.EXPERIMENTAL,1792 status=SeriesStatus.EXPERIMENTAL,
1793 parent_series=parent_series,1793 parent_series=parent_series,
1794 owner=owner)1794 registrant=registrant)
1795 if owner.inTeam(self.driver) and not owner.inTeam(self.owner):1795 if (registrant.inTeam(self.driver)
1796 and not registrant.inTeam(self.owner)):
1796 # This driver is a release manager.1797 # This driver is a release manager.
1797 series.driver = owner1798 series.driver = registrant
17981799
1799 # May wish to add this to the series rather than clearing the cache --1800 # May wish to add this to the series rather than clearing the cache --
1800 # RBC 20100816.1801 # RBC 20100816.
18011802
=== modified file 'lib/lp/registry/model/distroseries.py'
--- lib/lp/registry/model/distroseries.py 2011-03-12 08:52:47 +0000
+++ lib/lp/registry/model/distroseries.py 2011-03-18 11:21:43 +0000
@@ -227,8 +227,8 @@
227 datereleased = UtcDateTimeCol(notNull=False, default=None)227 datereleased = UtcDateTimeCol(notNull=False, default=None)
228 parent_series = ForeignKey(228 parent_series = ForeignKey(
229 dbName='parent_series', foreignKey='DistroSeries', notNull=False)229 dbName='parent_series', foreignKey='DistroSeries', notNull=False)
230 owner = ForeignKey(230 registrant = ForeignKey(
231 dbName='owner', foreignKey='Person',231 dbName='registrant', foreignKey='Person',
232 storm_validator=validate_public_person, notNull=True)232 storm_validator=validate_public_person, notNull=True)
233 driver = ForeignKey(233 driver = ForeignKey(
234 dbName="driver", foreignKey="Person",234 dbName="driver", foreignKey="Person",
@@ -406,6 +406,11 @@
406 return self.distribution406 return self.distribution
407407
408 @property408 @property
409 def owner(self):
410 """See `IDistroSeries`."""
411 return self.distribution.owner
412
413 @property
409 def sortkey(self):414 def sortkey(self):
410 """A string to be used for sorting distro seriess.415 """A string to be used for sorting distro seriess.
411416
@@ -1913,7 +1918,7 @@
1913 child = distribution.newSeries(1918 child = distribution.newSeries(
1914 name=name, displayname=displayname, title=title,1919 name=name, displayname=displayname, title=title,
1915 summary=summary, description=description,1920 summary=summary, description=description,
1916 version=version, parent_series=self, owner=user)1921 version=version, parent_series=self, registrant=user)
1917 IStore(self).add(child)1922 IStore(self).add(child)
1918 else:1923 else:
1919 if child.parent_series is not self:1924 if child.parent_series is not self:
19201925
=== modified file 'lib/lp/registry/stories/distroseries/xx-distroseries-index.txt'
--- lib/lp/registry/stories/distroseries/xx-distroseries-index.txt 2010-08-05 20:17:40 +0000
+++ lib/lp/registry/stories/distroseries/xx-distroseries-index.txt 2011-03-18 11:21:43 +0000
@@ -20,7 +20,9 @@
2020
21 >>> print extract_text(21 >>> print extract_text(
22 ... find_tag_by_id(anon_browser.contents, 'registration'))22 ... find_tag_by_id(anon_browser.contents, 'registration'))
23 registered by Ubuntu Team on 2006-10-1623 Registered by
24 Ubuntu Team on
25 2006-10-16
2426
25 >>> print extract_text(find_main_content(anon_browser.contents))27 >>> print extract_text(find_main_content(anon_browser.contents))
26 Warty28 Warty
2729
=== removed file 'lib/lp/registry/stories/distroseries/xx-reassign-distroseries.txt'
--- lib/lp/registry/stories/distroseries/xx-reassign-distroseries.txt 2009-11-22 15:43:16 +0000
+++ lib/lp/registry/stories/distroseries/xx-reassign-distroseries.txt 1970-01-01 00:00:00 +0000
@@ -1,72 +0,0 @@
1 Change the owner of the grumpy distroseries.
2
3
4 Logged in as Sample Person we don't have permission to do that, because he's
5 not the owner nor a member of the admins team.
6
7 >>> print http(r"""
8 ... GET /ubuntu/grumpy/+reassign HTTP/1.1
9 ... Authorization: Basic test@canonical.com:test
10 ... """)
11 HTTP/1.1 403 Forbidden
12 Content-Length: ...
13 Content-Type: text/html;charset=utf-8
14 ...
15
16
17 Now we're logged in as Mark Shutleworth and reassign grumpy to Foo Bar.
18
19 >>> print http(r"""
20 ... POST /ubuntu/grumpy/+reassign HTTP/1.1
21 ... Authorization: Basic mark@example.com:test
22 ... field.owner=name16&field.existing=existing"""
23 ... r"""&field.actions.change=Change""")
24 HTTP/1.1 303 See Other
25 ...
26 Location: http://localhost/ubuntu/grumpy
27 ...
28
29
30 Foo Bar is the owner here
31
32 >>> print http(r"""
33 ... GET /ubuntu/grumpy/ HTTP/1.1
34 ... Authorization: Basic mark@example.com:test
35 ... """)
36 HTTP/1.1 200 Ok
37 Content-Length: ...
38 Content-Type: text/html;charset=utf-8
39 ...
40 ...registered by...
41 ...
42 ...Foo Bar...
43 ...
44
45
46 Now we reassign it to a newly create team: ubuntu2
47
48 >>> print http(r"""
49 ... POST /ubuntu/grumpy/+reassign HTTP/1.1
50 ... Authorization: Basic mark@example.com:test
51 ... field.owner=ubuntu2&field.existing=new&field.actions.change=Change""")
52 HTTP/1.1 303 See Other
53 ...
54 Location: http://localhost/ubuntu/grumpy
55 ...
56
57
58 And the new team can be seen as the owner.
59
60 >>> print http(r"""
61 ... GET /ubuntu/grumpy/ HTTP/1.1
62 ... Authorization: Basic mark@example.com:test
63 ... """)
64 HTTP/1.1 200 Ok
65 Content-Length: ...
66 Content-Type: text/html;charset=utf-8
67 ...
68 ...registered by...
69 ...
70 ...ubuntu2...
71 ...
72
730
=== modified file 'lib/lp/registry/stories/webservice/xx-distroseries.txt'
--- lib/lp/registry/stories/webservice/xx-distroseries.txt 2011-01-26 19:35:17 +0000
+++ lib/lp/registry/stories/webservice/xx-distroseries.txt 2011-03-18 11:21:43 +0000
@@ -75,8 +75,9 @@
75 main_archive_link: u'http://.../ubuntu/+archive/primary'75 main_archive_link: u'http://.../ubuntu/+archive/primary'
76 name: u'hoary'76 name: u'hoary'
77 official_bug_tags: []77 official_bug_tags: []
78 owner_link: u'http://.../~mark'78 owner_link: u'http://.../~ubuntu-team'
79 parent_series_link: u'http://.../ubuntu/warty'79 parent_series_link: u'http://.../ubuntu/warty'
80 registrant_link: u'http://.../~mark'
80 resource_type_link: ...81 resource_type_link: ...
81 self_link: u'http://.../ubuntu/hoary'82 self_link: u'http://.../ubuntu/hoary'
82 status: u'Active Development'83 status: u'Active Development'
8384
=== modified file 'lib/lp/registry/templates/distroseries-index.pt'
--- lib/lp/registry/templates/distroseries-index.pt 2010-10-10 21:54:16 +0000
+++ lib/lp/registry/templates/distroseries-index.pt 2011-03-18 11:21:43 +0000
@@ -19,8 +19,8 @@
19 </tal:heading>19 </tal:heading>
2020
21 <tal:registering metal:fill-slot="registering">21 <tal:registering metal:fill-slot="registering">
22 registered by22 Registered by
23 <a tal:replace="structure context/owner/fmt:link" />23 <a tal:replace="structure context/registrant/fmt:link" />
24 <span tal:content="context/date_created/fmt:displaydate"24 <span tal:content="context/date_created/fmt:displaydate"
25 tal:attributes="title context/date_created/fmt:datetime"25 tal:attributes="title context/date_created/fmt:datetime"
26 >on 2005-01-01</span>26 >on 2005-01-01</span>
@@ -121,9 +121,6 @@
121 <li tal:condition="overview_menu/admin/enabled">121 <li tal:condition="overview_menu/admin/enabled">
122 <a tal:replace="structure overview_menu/admin/fmt:link" />122 <a tal:replace="structure overview_menu/admin/fmt:link" />
123 </li>123 </li>
124 <li tal:condition="overview_menu/reassign/enabled">
125 <a tal:replace="structure overview_menu/reassign/fmt:link" />
126 </li>
127 <li>124 <li>
128 <a tal:replace="structure overview_menu/subscribe/fmt:link" />125 <a tal:replace="structure overview_menu/subscribe/fmt:link" />
129 </li>126 </li>
130127
=== modified file 'lib/lp/registry/tests/test_distribution.py'
--- lib/lp/registry/tests/test_distribution.py 2011-03-15 15:46:24 +0000
+++ lib/lp/registry/tests/test_distribution.py 2011-03-18 11:21:43 +0000
@@ -109,7 +109,7 @@
109 distribution.newSeries(109 distribution.newSeries(
110 name='bar', displayname='Bar', title='Bar', summary='',110 name='bar', displayname='Bar', title='Bar', summary='',
111 description='', version='1', parent_series=None,111 description='', version='1', parent_series=None,
112 owner=self.factory.makePerson())112 registrant=self.factory.makePerson())
113 self.assertNotIn("series", cache)113 self.assertNotIn("series", cache)
114114
115 # New cached value.115 # New cached value.
116116
=== modified file 'lib/lp/registry/tests/test_distroseries.py'
--- lib/lp/registry/tests/test_distroseries.py 2011-03-10 14:05:51 +0000
+++ lib/lp/registry/tests/test_distroseries.py 2011-03-18 11:21:43 +0000
@@ -211,6 +211,15 @@
211 self.assertContentEqual(211 self.assertContentEqual(
212 [distroseries], distroseries.parent_series.getDerivedSeries())212 [distroseries], distroseries.parent_series.getDerivedSeries())
213213
214 def test_registrant_owner_differ(self):
215 # The registrant is the creator whereas the owner is the distribution's
216 # owner
217 registrant = self.factory.makePerson()
218 distroseries = self.factory.makeDistroRelease(registrant=registrant)
219 self.assertEquals(distroseries.distribution.owner, distroseries.owner)
220 self.assertEquals(registrant, distroseries.registrant)
221 self.assertNotEqual(distroseries.registrant, distroseries.owner)
222
214223
215class TestDistroSeriesPackaging(TestCaseWithFactory):224class TestDistroSeriesPackaging(TestCaseWithFactory):
216225
217226
=== modified file 'lib/lp/soyuz/doc/distroseriesqueue-translations.txt'
--- lib/lp/soyuz/doc/distroseriesqueue-translations.txt 2010-12-22 20:46:21 +0000
+++ lib/lp/soyuz/doc/distroseriesqueue-translations.txt 2011-03-18 11:21:43 +0000
@@ -157,16 +157,16 @@
157 ... print '%s/%s by %s: %s' % (157 ... print '%s/%s by %s: %s' % (
158 ... entry.distroseries.name, entry.sourcepackagename.name,158 ... entry.distroseries.name, entry.sourcepackagename.name,
159 ... entry.importer.name, entry.path)159 ... entry.importer.name, entry.path)
160 dapper/pmount by mark: po/es_ES.po160 dapper/pmount by ubuntu-team: po/es_ES.po
161 dapper/pmount by mark: po/ca.po161 dapper/pmount by ubuntu-team: po/ca.po
162 dapper/pmount by mark: po/de.po162 dapper/pmount by ubuntu-team: po/de.po
163 dapper/pmount by mark: po/cs.po163 dapper/pmount by ubuntu-team: po/cs.po
164 dapper/pmount by mark: po/es.po164 dapper/pmount by ubuntu-team: po/es.po
165 dapper/pmount by mark: po/fr.po165 dapper/pmount by ubuntu-team: po/fr.po
166 dapper/pmount by mark: po/hr.po166 dapper/pmount by ubuntu-team: po/hr.po
167 dapper/pmount by mark: po/nb.po167 dapper/pmount by ubuntu-team: po/nb.po
168 dapper/pmount by mark: po/pmount.pot168 dapper/pmount by ubuntu-team: po/pmount.pot
169 dapper/pmount by mark: po/it_IT.po169 dapper/pmount by ubuntu-team: po/it_IT.po
170170
171 # Abort the transaction so we can check the same upload in a different171 # Abort the transaction so we can check the same upload in a different
172 # pocket.172 # pocket.
@@ -207,16 +207,16 @@
207 ... print '%s/%s by %s: %s' % (207 ... print '%s/%s by %s: %s' % (
208 ... entry.distroseries.name, entry.sourcepackagename.name,208 ... entry.distroseries.name, entry.sourcepackagename.name,
209 ... entry.importer.name, entry.path)209 ... entry.importer.name, entry.path)
210 dapper/pmount by mark: po/es_ES.po210 dapper/pmount by ubuntu-team: po/es_ES.po
211 dapper/pmount by mark: po/ca.po211 dapper/pmount by ubuntu-team: po/ca.po
212 dapper/pmount by mark: po/de.po212 dapper/pmount by ubuntu-team: po/de.po
213 dapper/pmount by mark: po/cs.po213 dapper/pmount by ubuntu-team: po/cs.po
214 dapper/pmount by mark: po/es.po214 dapper/pmount by ubuntu-team: po/es.po
215 dapper/pmount by mark: po/fr.po215 dapper/pmount by ubuntu-team: po/fr.po
216 dapper/pmount by mark: po/hr.po216 dapper/pmount by ubuntu-team: po/hr.po
217 dapper/pmount by mark: po/nb.po217 dapper/pmount by ubuntu-team: po/nb.po
218 dapper/pmount by mark: po/pmount.pot218 dapper/pmount by ubuntu-team: po/pmount.pot
219 dapper/pmount by mark: po/it_IT.po219 dapper/pmount by ubuntu-team: po/it_IT.po
220220
221 # Let's abort the transaction so we can check the same upload in a different221 # Let's abort the transaction so we can check the same upload in a different
222 # pocket.222 # pocket.
@@ -240,16 +240,16 @@
240 ... print '%s/%s by %s: %s' % (240 ... print '%s/%s by %s: %s' % (
241 ... entry.distroseries.name, entry.sourcepackagename.name,241 ... entry.distroseries.name, entry.sourcepackagename.name,
242 ... entry.importer.name, entry.path)242 ... entry.importer.name, entry.path)
243 dapper/pmount by mark: po/es_ES.po243 dapper/pmount by ubuntu-team: po/es_ES.po
244 dapper/pmount by mark: po/ca.po244 dapper/pmount by ubuntu-team: po/ca.po
245 dapper/pmount by mark: po/de.po245 dapper/pmount by ubuntu-team: po/de.po
246 dapper/pmount by mark: po/cs.po246 dapper/pmount by ubuntu-team: po/cs.po
247 dapper/pmount by mark: po/es.po247 dapper/pmount by ubuntu-team: po/es.po
248 dapper/pmount by mark: po/fr.po248 dapper/pmount by ubuntu-team: po/fr.po
249 dapper/pmount by mark: po/hr.po249 dapper/pmount by ubuntu-team: po/hr.po
250 dapper/pmount by mark: po/nb.po250 dapper/pmount by ubuntu-team: po/nb.po
251 dapper/pmount by mark: po/pmount.pot251 dapper/pmount by ubuntu-team: po/pmount.pot
252 dapper/pmount by mark: po/it_IT.po252 dapper/pmount by ubuntu-team: po/it_IT.po
253253
254 # Let's abort the transaction so we can check the same upload in a different254 # Let's abort the transaction so we can check the same upload in a different
255 # component.255 # component.
256256
=== modified file 'lib/lp/testing/factory.py'
--- lib/lp/testing/factory.py 2011-03-17 14:28:30 +0000
+++ lib/lp/testing/factory.py 2011-03-18 11:21:43 +0000
@@ -2253,7 +2253,8 @@
22532253
2254 def makeDistroRelease(self, distribution=None, version=None,2254 def makeDistroRelease(self, distribution=None, version=None,
2255 status=SeriesStatus.DEVELOPMENT,2255 status=SeriesStatus.DEVELOPMENT,
2256 parent_series=None, name=None, displayname=None):2256 parent_series=None, name=None, displayname=None,
2257 registrant=None):
2257 """Make a new distro release."""2258 """Make a new distro release."""
2258 if distribution is None:2259 if distribution is None:
2259 distribution = self.makeDistribution()2260 distribution = self.makeDistribution()
@@ -2263,6 +2264,8 @@
2263 displayname = name.capitalize()2264 displayname = name.capitalize()
2264 if version is None:2265 if version is None:
2265 version = "%s.0" % self.getUniqueInteger()2266 version = "%s.0" % self.getUniqueInteger()
2267 if registrant is None:
2268 registrant = distribution.owner
22662269
2267 # We don't want to login() as the person used to create the product,2270 # We don't want to login() as the person used to create the product,
2268 # so we remove the security proxy before creating the series.2271 # so we remove the security proxy before creating the series.
@@ -2273,7 +2276,7 @@
2273 displayname=displayname,2276 displayname=displayname,
2274 title=self.getUniqueString(), summary=self.getUniqueString(),2277 title=self.getUniqueString(), summary=self.getUniqueString(),
2275 description=self.getUniqueString(),2278 description=self.getUniqueString(),
2276 parent_series=parent_series, owner=distribution.owner)2279 parent_series=parent_series, registrant=registrant)
2277 series.status = status2280 series.status = status
2278 return ProxyFactory(series)2281 return ProxyFactory(series)
22792282
22802283
=== modified file 'lib/lp/translations/browser/tests/test_sharing_information.py'
--- lib/lp/translations/browser/tests/test_sharing_information.py 2011-03-08 11:01:41 +0000
+++ lib/lp/translations/browser/tests/test_sharing_information.py 2011-03-18 11:21:43 +0000
@@ -1,15 +1,15 @@
1# Copyright 2010 Canonical Ltd. This software is licensed under the1# Copyright 2010-2011 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4"""Tests for the POTemplate recipe view classes and templates."""4"""Tests for the POTemplate recipe view classes and templates."""
55
6__metaclass__ = type6__metaclass__ = type
77
8from canonical.testing.layers import DatabaseFunctionalLayer
9from canonical.launchpad.testing.pages import (8from canonical.launchpad.testing.pages import (
10 extract_text,9 extract_text,
11 find_tag_by_id,10 find_tag_by_id,
12 )11 )
12from canonical.testing.layers import DatabaseFunctionalLayer
13from lp.app.enums import ServiceUsage13from lp.app.enums import ServiceUsage
14from lp.services.features.testing import FeatureFixture14from lp.services.features.testing import FeatureFixture
15from lp.testing import (15from lp.testing import (
@@ -253,7 +253,8 @@
253253
254 def getAuthorizedUser(self, potemplate):254 def getAuthorizedUser(self, potemplate):
255 with celebrity_logged_in('admin'):255 with celebrity_logged_in('admin'):
256 potemplate.distroseries.owner = self.factory.makePerson(256 distribution = potemplate.distroseries.distribution
257 distribution.owner = self.factory.makePerson(
257 password='test')258 password='test')
258 return potemplate.distroseries.owner259 return potemplate.distroseries.owner
259260
@@ -283,6 +284,7 @@
283284
284 def getAuthorizedUser(self, sourcepackage):285 def getAuthorizedUser(self, sourcepackage):
285 with celebrity_logged_in('admin'):286 with celebrity_logged_in('admin'):
286 sourcepackage.distroseries.owner = self.factory.makePerson(287 makePerson = self.factory.makePerson
288 sourcepackage.distroseries.distribution.owner = makePerson(
287 password='test')289 password='test')
288 return sourcepackage.distroseries.owner290 return sourcepackage.distroseries.owner
289291
=== modified file 'utilities/soyuz-sampledata-setup.py'
--- utilities/soyuz-sampledata-setup.py 2011-02-27 08:21:54 +0000
+++ utilities/soyuz-sampledata-setup.py 2011-03-18 11:21:43 +0000
@@ -218,14 +218,14 @@
218def create_series(parent, full_name, version, status):218def create_series(parent, full_name, version, status):
219 """Set up a `DistroSeries`."""219 """Set up a `DistroSeries`."""
220 distribution = parent.distribution220 distribution = parent.distribution
221 owner = parent.owner221 registrant = parent.owner
222 name = full_name.split()[0].lower()222 name = full_name.split()[0].lower()
223 title = "The " + full_name223 title = "The " + full_name
224 displayname = full_name.split()[0]224 displayname = full_name.split()[0]
225 new_series = distribution.newSeries(name=name, title=title,225 new_series = distribution.newSeries(name=name, title=title,
226 displayname=displayname, summary='Ubuntu %s is good.' % version,226 displayname=displayname, summary='Ubuntu %s is good.' % version,
227 description='%s is awesome.' % version, version=version,227 description='%s is awesome.' % version, version=version,
228 parent_series=parent, owner=owner)228 parent_series=parent, registrant=registrant)
229 new_series.status = status229 new_series.status = status
230 notify(ObjectCreatedEvent(new_series))230 notify(ObjectCreatedEvent(new_series))
231231

Subscribers

People subscribed via source and target branches

to status/vote changes: