mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-28 17:52:43 +01:00
40d3bcb891
Summary: Fixes T11853. To set this up: - Create "Project A". - Join "Project A". - Create a subproject, "Project A Subproject 1". - This causes Project A to become a parent project. - This moves you to be a member of "Project A Subproject 1" instead of "Project A" directly. - Create another subproject, "Project A Subproject 2". - Do not join this subproject. - Set the second subproject's policy to "Visible To: Members of Project A". - Try to edit the second subproject. Before this change, this fails: - When querying projects, we sometime try to skip loading the viewer's membership in ancestor projects as a small optimization. - Via `PhabricatorExtendedPolicyInterface`, we may then return the parent project to the policy filter for extended checks. - The PolicyFilter has an optimization: if we're checking an object, and we already have that object, we can just use the object we already have. This is common and useful. - However, in this case it causes us to reuse an incomplete object (an object without proper membership information). We fail a policy check which we should pass. Instead, don't skip loading the viewer's membership in ancestor projects. Test Plan: - Did all that stuff above. - Could edit the subproject. - Ran `arc unit --everything`. Reviewers: chad Reviewed By: chad Maniphest Tasks: T11853 Differential Revision: https://secure.phabricator.com/D16840 |
||
---|---|---|
.. | ||
PhabricatorProjectColumnPositionQuery.php | ||
PhabricatorProjectColumnQuery.php | ||
PhabricatorProjectColumnTransactionQuery.php | ||
PhabricatorProjectQuery.php | ||
PhabricatorProjectSearchEngine.php | ||
PhabricatorProjectTransactionQuery.php |