== Demo and Q/A ==
Create a private branch and propose it for merging. Wait until the diff is
generated. Go to the URL for the diff. Log out. Go to the URL for the diff.
You should get an access denied message.
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
lib/lp/code/model/diff.py
18: [F0401] Unable to import 'lazr.delegates' (No module named delegates)
210: [W0703, Diff.fromFile] Catch "Exception"
lib/lp/code/interfaces/diff.py
20: [F0401] Unable to import 'lazr.restful.fields' (No module named restful)
21: [F0401] Unable to import 'lazr.restful.declarations' (No module named restful)
= Summary =
Fix bug #328271, "Use the restricted librarian for diffs for private branches".
== Proposed fix ==
Use the restricted librarian for diffs of all branches, and let the standard
security mechanisms decide who can view the diffs.
== Pre-implementation notes ==
None
== Implementation details ==
PreviewDiffs are now accessible via the +files path segment, with the same mechanism as Launchpad components.
IPreviewDiff access was allowed to anyone. Now it is only allowed to those who
can access the merge proposal.
== Tests == roposals. txt -t test_getFileByName
bin/test -vt xx-branchmergep
== Demo and Q/A ==
Create a private branch and propose it for merging. Wait until the diff is
generated. Go to the URL for the diff. Log out. Go to the URL for the diff.
You should get an access denied message.
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
Linting changed files: code/browser/ configure. zcml code/configure. zcml /launchpad/ security. py code/browser/ diff.py code/model/ diff.py code/stories/ branches/ xx-branchmergep roposals. txt code/model/ tests/test_ diff.py code/templates/ branchmergeprop osal-diff. pt code/interfaces /diff.py
lib/lp/
lib/lp/
lib/canonical
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
== Pylint notices ==
lib/lp/ code/model/ diff.py
18: [F0401] Unable to import 'lazr.delegates' (No module named delegates)
210: [W0703, Diff.fromFile] Catch "Exception"
lib/lp/ code/interfaces /diff.py fields' (No module named restful) declarations' (No module named restful)
20: [F0401] Unable to import 'lazr.restful.
21: [F0401] Unable to import 'lazr.restful.