Merge lp:~bac/launchpad/bug-602773 into lp:launchpad/db-devel
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Edwin Grubbs | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 9591 | ||||
Proposed branch: | lp:~bac/launchpad/bug-602773 | ||||
Merge into: | lp:launchpad/db-devel | ||||
Diff against target: |
1684 lines (+199/-284) 51 files modified
database/sampledata/current-dev.sql (+2/-2) database/sampledata/current.sql (+2/-2) database/schema/Makefile (+2/-0) lib/canonical/launchpad/doc/tales.txt (+1/-1) lib/canonical/launchpad/fields/__init__.py (+2/-28) lib/canonical/launchpad/security.py (+5/-6) lib/lp/bugs/browser/bugtask.py (+6/-5) lib/lp/bugs/interfaces/bugsubscription.py (+4/-3) lib/lp/bugs/interfaces/bugsupervisor.py (+2/-2) lib/lp/bugs/interfaces/bugtask.py (+2/-2) lib/lp/bugs/model/bugactivity.py (+2/-3) lib/lp/bugs/model/bugsubscription.py (+3/-4) lib/lp/bugs/model/bugtask.py (+35/-35) lib/lp/code/interfaces/branch.py (+2/-2) lib/lp/code/interfaces/branchsubscription.py (+3/-3) lib/lp/code/interfaces/branchvisibilitypolicy.py (+2/-2) lib/lp/code/interfaces/sourcepackagerecipe.py (+2/-2) lib/lp/code/model/branch.py (+2/-2) lib/lp/code/model/branchsubscription.py (+3/-4) lib/lp/code/model/branchvisibilitypolicy.py (+2/-3) lib/lp/registry/browser/person.py (+7/-10) lib/lp/registry/browser/team.py (+0/-22) lib/lp/registry/browser/tests/mailinglist-views.txt (+1/-1) lib/lp/registry/doc/person.txt (+1/-1) lib/lp/registry/doc/private-team-roles.txt (+1/-1) lib/lp/registry/doc/private-team-visibility.txt (+2/-3) lib/lp/registry/doc/vocabularies.txt (+5/-13) lib/lp/registry/interfaces/person.py (+14/-20) lib/lp/registry/interfaces/product.py (+3/-3) lib/lp/registry/interfaces/productrelease.py (+4/-2) lib/lp/registry/interfaces/productseries.py (+3/-3) lib/lp/registry/interfaces/structuralsubscription.py (+13/-7) lib/lp/registry/model/distribution.py (+3/-3) lib/lp/registry/model/person.py (+1/-8) lib/lp/registry/model/product.py (+5/-7) lib/lp/registry/model/productrelease.py (+2/-2) lib/lp/registry/model/productseries.py (+3/-4) lib/lp/registry/model/structuralsubscription.py (+4/-3) lib/lp/registry/tests/mailinglists_helper.py (+3/-2) lib/lp/registry/tests/test_person.py (+1/-14) lib/lp/registry/tests/test_user_vocabularies.py (+1/-1) lib/lp/registry/vocabularies.py (+2/-4) lib/lp/soyuz/browser/archive.py (+10/-9) lib/lp/soyuz/browser/archivesubscription.py (+3/-6) lib/lp/soyuz/interfaces/archive.py (+11/-10) lib/lp/soyuz/interfaces/archivesubscriber.py (+2/-2) lib/lp/soyuz/model/archive.py (+2/-3) lib/lp/soyuz/model/archivesubscriber.py (+2/-3) lib/lp/translations/interfaces/potemplate.py (+2/-2) lib/lp/translations/interfaces/translationimportqueue.py (+2/-2) lib/lp/translations/model/translationimportqueue.py (+2/-2) |
||||
To merge this branch: | bzr merge lp:~bac/launchpad/bug-602773 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Edwin Grubbs (community) | code | Approve | |
Review via email: mp+31162@code.launchpad.net |
Commit message
Fully remove PRIVATE_MEMBERSHIP teams.
Description of the change
= Summary =
Private membership teams can now be replaced by PRIVATE teams. Having
both does nothing but cause confusion.
Sorry for the super-big branch. It didn't make sense to do this piecemeal.
== Proposed fix ==
The UI was previously fixed to not allow the creation of new PMTs. This
follow-on branch removes the dbenum and all uses of PMTs.
All PMTs in the production database were converted to private teams. It
is no longer possible to create new ones if using the UI on edge. All
members of commerical-admins have been notified and asked not to create
new ones on lpnet.
Before the next rollout we must ensure no PMTs have crept back into the
database.
== Pre-implementation notes ==
Chats with Curtis.
== Implementation details ==
As above.
== Tests ==
make check
== Demo and Q/A ==
No real way to demo since the UI changes landed earlier.
= Launchpad lint =
I'll look into these lint issues but I suspect many are false.
Checking for conflicts and issues in changed files.
Linting changed files:
lib/lp/
lib/lp/
lib/lp/
database/
database/
lib/lp/
lib/canonical
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/canonical
lib/canonical
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
./lib/lp/
736: E301 expected 1 blank line, found 2
750: E301 expected 1 blank line, found 2
./lib/lp/
31: E202 whitespace before ')'
38: E202 whitespace before ')'
./lib/canonical
645: E302 expected 2 blank lines, found 1
1261: E302 expected 2 blank lines, found 1
1485: E302 expected 2 blank lines, found 1
./lib/lp/
180: E302 expected 2 blank lines, found 1
223: E202 whitespace before ')'
231: E302 expected 2 blank lines, found 1
271: E202 whitespace before ')'
549: E202 whitespace before ')'
631: E302 expected 2 blank lines, found 1
984: E202 whitespace before ')'
1272: E202 whitespace before ']'
1411: E202 whitespace before ')'
1429: E202 whitespace before ')'
1508: E301 expected 1 blank line, found 0
./lib/lp/
213: E202 whitespace before ')'
260: E202 whitespace before ')'
269: E202 whitespace before ')'
277: E202 whitespace before ')'
301: E202 whitespace before ')'
307: E202 whitespace before ')'
323: E202 whitespace before ')'
360: E302 expected 2 blank lines, found 1
./lib/lp/
1113: Line exceeds 78 characters.
./lib/lp/
528: E301 expected 1 blank line, found 0
545: E202 whitespace before ')'
570: E501 line too long (81 characters)
572: E501 line too long (80 characters)
577: E501 line too long (81 characters)
580: E501 line too long (80 characters)
655: E301 expected 1 blank line, found 0
678: E301 expected 1 blank line, found 0
701: E301 expected 1 blank line, found 0
801: E301 expected 1 blank line, found 0
1138: E302 expected 2 blank lines, found 1
1435: E301 expected 1 blank line, found 2
1664: E303 too many blank lines (3)
521: Line exceeds 78 characters.
570: Line exceeds 78 characters.
572: Line exceeds 78 characters.
577: Line exceeds 78 characters.
580: Line exceeds 78 characters.
1449: Line exceeds 78 characters.
./lib/lp/
128: E241 multiple spaces after ','
./lib/lp/
1235: E202 whitespace before ']'
./lib/lp/
899: E301 expected 1 blank line, found 2
./lib/lp/
52: E501 line too long (106 characters)
58: E501 line too long (130 characters)
64: E501 line too long (149 characters)
83: E501 line too long (125 characters)
89: E501 line too long (143 characters)
52: Line exceeds 78 characters.
58: Line exceeds 78 characters.
64: Line exceeds 78 characters.
83: Line exceeds 78 characters.
89: Line exceeds 78 characters.
./lib/lp/
41: want exceeds 78 characters.
46: want exceeds 78 characters.
66: want exceeds 78 characters.
92: want exceeds 78 characters.
./lib/lp/
15: E202 whitespace before ']'
112: E302 expected 2 blank lines, found 1
./lib/lp/
0: narrative uses a moin header.
23: narrative uses a moin header.
181: narrative uses a moin header.
225: narrative uses a moin header.
311: narrative uses a moin header.
336: narrative uses a moin header.
494: narrative uses a moin header.
508: narrative uses a moin header.
542: narrative uses a moin header.
583: narrative uses a moin header.
601: narrative uses a moin header.
692: narrative uses a moin header.
711: narrative uses a moin header.
743: narrative uses a moin header.
949: narrative uses a moin header.
1050: narrative uses a moin header.
1101: narrative uses a moin header.
1143: narrative uses a moin header.
1187: narrative uses a moin header.
1248: narrative uses a moin header.
1311: narrative uses a moin header.
1346: narrative uses a moin header.
./lib/canonical
89: E302 expected 2 blank lines, found 1
218: E302 expected 2 blank lines, found 1
238: E302 expected 2 blank lines, found 1
244: E302 expected 2 blank lines, found 1
254: E302 expected 2 blank lines, found 1
265: E302 expected 2 blank lines, found 1
341: E301 expected 1 blank line, found 0
545: E302 expected 2 blank lines, found 1
174: Line exceeds 78 characters.
./lib/lp/
204: E202 whitespace before ')'
316: E202 whitespace before '}'
./lib/lp/
108: W602 deprecated form of raising exception
113: E301 expected 1 blank line, found 0
241: E231 missing whitespace after ','
./lib/lp/
174: E301 expected 1 blank line, found 0
183: E302 expected 2 blank lines, found 1
187: E301 expected 1 blank line, found 0
197: E302 expected 2 blank lines, found 1
208: E302 expected 2 blank lines, found 1
221: W601 .has_key() is deprecated, use 'in'
989: E202 whitespace before '}'
1357: E231 missing whitespace after ','
1732: E241 multiple spaces after ','
2173: E301 expected 1 blank line, found 2
2254: E231 missing whitespace after ','
2818: E203 whitespace before ':'
2971: E302 expected 2 blank lines, found 3
3035: E231 missing whitespace after ','
3292: E202 whitespace before ')'
3771: E301 expected 1 blank line, found 0
1115: Line exceeds 78 characters.
2096: Line exceeds 78 characters.
./lib/lp/
134: E301 expected 1 blank line, found 0
447: E302 expected 2 blank lines, found 1
./lib/lp/
83: 'IBranchSet' imported but unused
81: 'shortlist' imported but unused
./lib/lp/
338: E203 whitespace before ':'
433: E231 missing whitespace after ','
503: E231 missing whitespace after ','
545: E231 missing whitespace after ','
570: E211 whitespace before '('
617: E231 missing whitespace after ','
626: E231 missing whitespace after ','
650: E203 whitespace before ','
722: E202 whitespace before ']'
752: E203 whitespace before ':'
777: E301 expected 1 blank line, found 0
916: E202 whitespace before ')'
924: E202 whitespace before ')'
957: E202 whitespace before '}'
1671: E301 expected 1 blank line, found 2
1780: E301 expected 1 blank line, found 2
1854: E231 missing whitespace after ','
1979: E231 missing whitespace after ','
./lib/lp/
31: E202 whitespace before ')'
58: E231 missing whitespace after ','
135: E202 whitespace before ')'
135: E231 missing whitespace after ','
./lib/lp/
29: 'BugSubscription' imported but unused
29: 'BugTask' imported but unused
./lib/lp/
48: E301 expected 1 blank line, found 0
./lib/lp/
75: E202 whitespace before ')'
./lib/lp/
96: E241 multiple spaces after ':'
96: E222 multiple spaces after operator
147: E302 expected 2 blank lines, found 1
194: E301 expected 1 blank line, found 0
399: E202 whitespace before '}'
415: E301 expected 1 blank line, found 0
481: E231 missing whitespace after ','
527: E221 multiple spaces before operator
588: E222 multiple spaces after operator
774: W602 deprecated form of raising exception
833: E231 missing whitespace after ','
1103: E222 multiple spaces after operator
1105: E222 multiple spaces after operator
1669: E501 line too long (80 characters)
1645: E201 whitespace after '('
1746: E501 line too long (80 characters)
1838: E231 missing whitespace after ','
1669: Line exceeds 78 characters.
1672: Line exceeds 78 characters.
1746: Line exceeds 78 characters.
./lib/lp/
204: E301 expected 1 blank line, found 2
450: E203 whitespace before ':'
665: E222 multiple spaces after operator
990: E202 whitespace before ')'
998: E202 whitespace before ']'
1039: E202 whitespace before ')'
1059: E202 whitespace before ')'
1092: E231 missing whitespace after ','
1096: E231 missing whitespace after ','
1108: E231 missing whitespace after ','
1124: E202 whitespace before ')'
1372: E203 whitespace before ':'
./lib/lp/
295: E301 expected 1 blank line, found 0
374: E301 expected 1 blank line, found 0
525: E301 expected 1 blank line, found 0
633: E301 expected 1 blank line, found 2
740: W601 .has_key() is deprecated, use 'in'
921: E202 whitespace before '}'
1163: E302 expected 2 blank lines, found 1
1863: E302 expected 2 blank lines, found 1
1919: E222 multiple spaces after operator
Hi Brad,
I'm glad you worked did this, since it doesn't look like fun, but it's very important. I'm wondering if the valid_person storm_validator is even necessary, since it appears to only to check whether IPerson. providedBy( ) is true. We can discuss this more when I get back from lunch. I'm marking it needs-fixing until then.
I have just one comment below.
-Edwin
>=== modified file 'lib/lp/ registry/ vocabularies. py' registry/ vocabularies. py 2010-06-04 09:31:21 +0000 registry/ vocabularies. py 2010-07-28 15:12:59 +0000 teamowner == None), y.PRIVATE, y.PRIVATE_ MEMBERSHIP) ) y.PRIVATE) )
>--- lib/lp/
>+++ lib/lp/
>@@ -442,8 +442,7 @@
> private_query = AND(
> Not(Person.
> OR(
>- Person.visibility == PersonVisibilit
>- Person.visibility == PersonVisibilit
>+ Person.visibility == PersonVisibilit
>
You can get rid of the OR() since it only has a single argument.
I'm surprised that it doesn't raise an exception.
> on.person == logged_in_user.id,
> else:
> private_query = AND(
> TeamParticipati