Differential D14699 Diff 35551 src/applications/policy/editor/PhabricatorPolicyEditEngineExtension.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/policy/editor/PhabricatorPolicyEditEngineExtension.php
| Show First 20 Lines • Show All 77 Lines • ▼ Show 20 Lines | foreach ($map as $type => $spec) { | ||||
| $description = $spec['description']; | $description = $spec['description']; | ||||
| $edit = $spec['edit']; | $edit = $spec['edit']; | ||||
| $policy_field = id(new PhabricatorPolicyEditField()) | $policy_field = id(new PhabricatorPolicyEditField()) | ||||
| ->setKey($key) | ->setKey($key) | ||||
| ->setLabel($label) | ->setLabel($label) | ||||
| ->setDescription($description) | ->setDescription($description) | ||||
| ->setAliases($aliases) | ->setAliases($aliases) | ||||
| ->setIsCopyable(true) | |||||
| ->setCapability($capability) | ->setCapability($capability) | ||||
| ->setPolicies($policies) | ->setPolicies($policies) | ||||
| ->setTransactionType($type) | ->setTransactionType($type) | ||||
| ->setEditTypeKey($edit) | ->setEditTypeKey($edit) | ||||
| ->setValue($object->getPolicy($capability)); | ->setValue($object->getPolicy($capability)); | ||||
| $fields[] = $policy_field; | $fields[] = $policy_field; | ||||
| if (!($object instanceof PhabricatorSpacesInterface)) { | if (!($object instanceof PhabricatorSpacesInterface)) { | ||||
| if ($capability == PhabricatorPolicyCapability::CAN_VIEW) { | if ($capability == PhabricatorPolicyCapability::CAN_VIEW) { | ||||
| $type_space = PhabricatorTransactions::TYPE_SPACE; | $type_space = PhabricatorTransactions::TYPE_SPACE; | ||||
| if (isset($types[$type_space])) { | if (isset($types[$type_space])) { | ||||
| $space_field = id(new PhabricatorSpaceEditField()) | $space_field = id(new PhabricatorSpaceEditField()) | ||||
| ->setKey('spacePHID') | ->setKey('spacePHID') | ||||
| ->setLabel(pht('Space')) | ->setLabel(pht('Space')) | ||||
| ->setEditTypeKey('space') | ->setEditTypeKey('space') | ||||
| ->setDescription( | ->setDescription( | ||||
| pht('Shifts the object in the Spaces application.')) | pht('Shifts the object in the Spaces application.')) | ||||
| ->setIsCopyable(true) | |||||
| ->setIsReorderable(false) | ->setIsReorderable(false) | ||||
| ->setAliases(array('space', 'policy.space')) | ->setAliases(array('space', 'policy.space')) | ||||
| ->setTransactionType($type_space) | ->setTransactionType($type_space) | ||||
| ->setValue($object->getSpacePHID()); | ->setValue($object->getSpacePHID()); | ||||
| $fields[] = $space_field; | $fields[] = $space_field; | ||||
| $policy_field->setSpaceField($space_field); | $policy_field->setSpaceField($space_field); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| return $fields; | return $fields; | ||||
| } | } | ||||
| } | } | ||||