HomePhabricator

Use an extended policy to bind column and board policies together

Description

Use an extended policy to bind column and board policies together

Summary:
Ref T10349. Columns have the same policies as the projects they belong to.

However, the current implementation just returns the policy directly. This usually works, but if the project has a policy like "Members of (This) Project", the policy filter tries to check if the viewer is a member of the column itself. That doesn't work, since columns don't have members. This leads to a situation where columns on "Editable By: Project Members" projects can not be edited.

Instead, return a permissive base policy and then use an extended policy to bind the column policy to the project policy.

Test Plan:

  • Edited a column on an "Editable By: Members of Project" board.
  • Added and ran a unit test covering this case.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10349

Differential Revision: https://secure.phabricator.com/D15268

Details

Provenance
epriestleyAuthored on Feb 13 2016, 6:02 PM
epriestleyPushed on Feb 13 2016, 7:34 PM
Reviewer
chad
Differential Revision
D15268: Use an extended policy to bind column and board policies together
Parents
rP3f50ba90f1d0: On workboards, put older milestone columns on the right
Branches
Unknown
Tags
Unknown
Tasks
T10349: Projects v3 Errata
Build Status
Buildable 10685
Build 13126: Run Core Tests