Merge lp:~wgrant/launchpad/bug-1075767 into lp:launchpad
| Status: | Merged | ||||
|---|---|---|---|---|---|
| Approved by: | Steve Kowalik on 2012-11-28 | ||||
| Approved revision: | no longer in the source branch. | ||||
| Merged at revision: | 16320 | ||||
| Proposed branch: | lp:~wgrant/launchpad/bug-1075767 | ||||
| Merge into: | lp:launchpad | ||||
| Diff against target: |
426 lines (+62/-217) 2 files modified
lib/lp/registry/model/person.py (+31/-39) lib/lp/registry/vocabularies.py (+31/-178) |
||||
| To merge this branch: | bzr merge lp:~wgrant/launchpad/bug-1075767 | ||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Steve Kowalik (community) | code | 2012-11-28 | Approve on 2012-11-28 |
|
Review via email:
|
|||
Commit Message
Optimise PersonSet person visibility checks, and simplify person vocab queries.
Description of the Change
This branch fixes and cleans various bits and pieces around person search, particularly with private teams.
I went in to fix bug #1075767 by changing PersonSet's search access checks to use Person.id IN ([... subquery for user's participated teams]), which is hashable and much faster than the existing TeamParticipation join. This was a resounding success. But then I opted to see if the benefits would extend to ValidPersonOrTe
ValidPersonOrTe
In doing this I discovered that PersonSet searches didn't respect the admins-
With the vocabs' hideousness reduced, the branch ended up around -150.
