Page MenuHomePhabricator

Implement query and policy rules for subprojects
ClosedPublic

Authored by epriestley on Dec 23 2015, 2:21 PM.
Tags
None
Referenced Files
F13278277: D14861.diff
Fri, May 31, 7:24 PM
F13262407: D14861.diff
Mon, May 27, 2:06 AM
F13212473: D14861.diff
Fri, May 17, 6:45 AM
F13196036: D14861.diff
Sun, May 12, 10:52 PM
F13181794: D14861.id35938.diff
Thu, May 9, 3:52 PM
F13178615: D14861.diff
Wed, May 8, 8:32 PM
F13175793: D14861.id35928.diff
Wed, May 8, 7:32 AM
Unknown Object (File)
Tue, May 7, 4:07 PM
Subscribers
None
Tokens
"Yellow Medal" token, awarded by Luke081515.2.

Details

Summary

Ref T10010. This implements technical groundwork for subprojects. Specifically, it implements policy rules like Phriction:

  • to see a project, you must be able to see all of its parents (and the project itself).
  • you can edit a project if you can edit any of its parents (or the project itself).

To facilitiate this, we load all project ancestors when querying projects so we can do the view/edit checks.

This does NOT yet implement:

  • proper membership rules for these projects (up next);
  • any kind of UI to let users create subprojects.
Test Plan
  • Added unit tests.
  • Executed unit tests.
  • Browsed Projects (no change in behavior is expected).

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Implement query and policy rules for subprojects.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Dec 23 2015, 4:41 PM
This revision was automatically updated to reflect the committed changes.