← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~jcsackett/launchpad/private-blueprint-dependencies into lp:launchpad

 

The proposal to merge lp:~jcsackett/launchpad/private-blueprint-dependencies into lp:launchpad has been updated.

Description changed to:

Summary
=======
The dependencies between blueprints can lead to a mix of public and non public
blueprints that are dependent on each other. To make this safe, we need to be
able to redact the private portion of the dependencies on public blueprint
pages for users who can't see them. Additionally, as a sensible reduction in
complexity, we will not allow public blueprints to depend on private ones.

This branch covers that latter portion; a subsequent branch will handle the
redaction.

Preimp
======
Spoke with Orange squad.

Implementation
==============
Specification.createDependency checks if the dependency is non public when the specification is public; if it is, it raises an exception. This exception is caught in the link action in the view so that the field error can be set.

Tests
=====
bin/test -vvc -t test_add_forbids_private_as_dependency_for_public -t test_forbid_public_private_dependency

QA
==
Attempt to set a private blueprint as a dependency for a public one. You will
receive an error message informing you it's not allowed.

LoC
===
Part of private projects.

Lint
====

Checking for conflicts and issues in changed files.

Linting changed files:
  lib/lp/blueprints/browser/tests/test_specificationdependency.py
  lib/lp/blueprints/browser/specificationdependency.py

For more details, see:
https://code.launchpad.net/~jcsackett/launchpad/private-blueprint-dependencies/+merge/136756
-- 
https://code.launchpad.net/~jcsackett/launchpad/private-blueprint-dependencies/+merge/136756
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~jcsackett/launchpad/private-blueprint-dependencies into lp:launchpad.


References