The proposal to merge lp:~stevenk/launchpad/use-visibility-filter-spec-depends 
into lp:launchpad has been updated.

Description changed to:

Rewrite the query fragment returned by recursive_{blocked,dependent}_query to 
no longer insert the specification id by string interpolation, and to make use 
of get_specification_privacy_filter() so that specifications that the user can 
not view are not included in the dep tree. This also drops the spec argument to 
the function, since the callers will wrap the resultant string in SQL(), they 
can use params=() to set the specification id.

Write new methods, ISpecification.get{Dependencies,BlockedSpecs}, that will 
filter by an optional user argument based on what that user can see. Call them 
from almost everywhere the old properties were used, with the exception of the 
deptree generation view, which move to these new methods, rather than their 
recursive cousins. Drop ISpecification.blocked_specs since nothing calls it, 
and it isn't exported over the API. ISpecification.dependencies stays, and 
lazr.restful will filter out unseeable specs, with the wart that counts may be 
wrong. This also means that the deptree view also drops its use of the sharing 
service, since it can just call the underlying methods on self.context directly.

This also means that ISpecification.all_{blocked,deps} no longer require the 
sharing service to filter against visible artifacts, and the SQL queries 
perform the heavy lifting.

I've dropped recursive_dependent_query from __all__ since they are both pretty 
much internal-only functions, and I'd like to discourage their use if at all 
possible, but specificationdependency's vocab sadly makes use of 
recursive_blocked_query, so it stays. For now.

For more details, see:
https://code.launchpad.net/~stevenk/launchpad/use-visibility-filter-spec-depends/+merge/144836
-- 
https://code.launchpad.net/~stevenk/launchpad/use-visibility-filter-spec-depends/+merge/144836
Your team Launchpad code reviewers is requested to review the proposed merge of 
lp:~stevenk/launchpad/use-visibility-filter-spec-depends into lp:launchpad.

_______________________________________________
Mailing list: https://launchpad.net/~launchpad-reviewers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~launchpad-reviewers
More help   : https://help.launchpad.net/ListHelp

Reply via email to