Differential D19585 Diff 46839 src/applications/project/editor/PhabricatorProjectTransactionEditor.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/editor/PhabricatorProjectTransactionEditor.php
| Show First 20 Lines • Show All 114 Lines • ▼ Show 20 Lines | protected function validateAllTransactions( | ||||
| return $errors; | return $errors; | ||||
| } | } | ||||
| protected function requireCapabilities( | protected function requireCapabilities( | ||||
| PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
| PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
| switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
| case PhabricatorProjectLockTransaction::TRANSACTIONTYPE: | |||||
| PhabricatorPolicyFilter::requireCapability( | |||||
| $this->requireActor(), | |||||
| newv($this->getEditorApplicationClass(), array()), | |||||
| ProjectCanLockProjectsCapability::CAPABILITY); | |||||
| return; | |||||
| case PhabricatorTransactions::TYPE_EDGE: | case PhabricatorTransactions::TYPE_EDGE: | ||||
| switch ($xaction->getMetadataValue('edge:type')) { | switch ($xaction->getMetadataValue('edge:type')) { | ||||
| case PhabricatorProjectProjectHasMemberEdgeType::EDGECONST: | case PhabricatorProjectProjectHasMemberEdgeType::EDGECONST: | ||||
| $old = $xaction->getOldValue(); | $old = $xaction->getOldValue(); | ||||
| $new = $xaction->getNewValue(); | $new = $xaction->getNewValue(); | ||||
| $add = array_keys(array_diff_key($new, $old)); | $add = array_keys(array_diff_key($new, $old)); | ||||
| $rem = array_keys(array_diff_key($old, $new)); | $rem = array_keys(array_diff_key($old, $new)); | ||||
| ▲ Show 20 Lines • Show All 341 Lines • Show Last 20 Lines | |||||