Merge lp:~jcsackett/launchpad/blueprint-private-traversal-deptree into lp:launchpad
| Status: | Merged |
|---|---|
| Approved by: | j.c.sackett on 2012-12-01 |
| Approved revision: | no longer in the source branch. |
| Merged at revision: | 16333 |
| Proposed branch: | lp:~jcsackett/launchpad/blueprint-private-traversal-deptree |
| Merge into: | lp:launchpad |
| Prerequisite: | lp:~jcsackett/launchpad/blueprint-private-traversal |
| Diff against target: |
240 lines (+134/-12) 4 files modified
lib/lp/blueprints/browser/configure.zcml (+10/-6) lib/lp/blueprints/browser/specificationdependency.py (+39/-0) lib/lp/blueprints/browser/tests/test_specificationdependency.py (+79/-0) lib/lp/blueprints/templates/specification-deptree.pt (+6/-6) |
| To merge this branch: | bzr merge lp:~jcsackett/launchpad/blueprint-private-traversal-deptree |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Richard Harding (community) | 2012-12-01 | Approve on 2012-12-01 | |
|
Review via email:
|
|||
Commit Message
Adjusts Specification:
Description of the Change
Summary
=======
Much as with the SVG graph in Specification:
is not privacy aware and 403s when a person who can't see a dependency or
blocked specification tries to access it. It should, as with the graph, merely
remove the specs the user doesn't have permission for.
Preimp
======
None--extension of previous work.
Implementation
==============
The deptree view has been updated to use the filtered all_deps and all_blocked
methods created in the branch this branch depends on. It has also had new
methods added, "dependencies" and "blocked_specs" that filter the attributes
of the same name from the context. As these are all used multiple times in the
template, they are cachedproperties.
The blocked_specs and dependency portlets used on this page are also adapted
to accept the view rather than the context, so that they can use the new view
methods.
Tests
=====
bin/test -vvct TestDepTree
QA
==
Ensure Specification:
blueprint visibilities.
LoC
===
Part of private projects.
Lint
====
Checking for conflicts and issues in changed files.
Linting changed files:
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
| j.c.sackett (jcsackett) wrote : | # |
> Looks ok to me. As someone not familiar, is there something that tests that if
> you try to pull up where the root itself is non-public?
If you're trying to pull up the root the usual 404 for a spec you can't see occurs, based on our standard privacy rules. See bug #1076477 and the linked branch.

Looks ok to me. As someone not familiar, is there something that tests that if you try to pull up where the root itself is non-public?