Differential D15915 Diff 38331 src/applications/owners/editor/PhabricatorOwnersPackageTransactionEditor.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/owners/editor/PhabricatorOwnersPackageTransactionEditor.php
| Show All 14 Lines | public function getTransactionTypes() { | ||||
| $types = parent::getTransactionTypes(); | $types = parent::getTransactionTypes(); | ||||
| $types[] = PhabricatorOwnersPackageTransaction::TYPE_NAME; | $types[] = PhabricatorOwnersPackageTransaction::TYPE_NAME; | ||||
| $types[] = PhabricatorOwnersPackageTransaction::TYPE_OWNERS; | $types[] = PhabricatorOwnersPackageTransaction::TYPE_OWNERS; | ||||
| $types[] = PhabricatorOwnersPackageTransaction::TYPE_AUDITING; | $types[] = PhabricatorOwnersPackageTransaction::TYPE_AUDITING; | ||||
| $types[] = PhabricatorOwnersPackageTransaction::TYPE_DESCRIPTION; | $types[] = PhabricatorOwnersPackageTransaction::TYPE_DESCRIPTION; | ||||
| $types[] = PhabricatorOwnersPackageTransaction::TYPE_PATHS; | $types[] = PhabricatorOwnersPackageTransaction::TYPE_PATHS; | ||||
| $types[] = PhabricatorOwnersPackageTransaction::TYPE_STATUS; | $types[] = PhabricatorOwnersPackageTransaction::TYPE_STATUS; | ||||
| $types[] = PhabricatorOwnersPackageTransaction::TYPE_AUTOREVIEW; | |||||
| $types[] = PhabricatorTransactions::TYPE_VIEW_POLICY; | $types[] = PhabricatorTransactions::TYPE_VIEW_POLICY; | ||||
| $types[] = PhabricatorTransactions::TYPE_EDIT_POLICY; | $types[] = PhabricatorTransactions::TYPE_EDIT_POLICY; | ||||
| return $types; | return $types; | ||||
| } | } | ||||
| protected function getCustomTransactionOldValue( | protected function getCustomTransactionOldValue( | ||||
| Show All 11 Lines | switch ($xaction->getTransactionType()) { | ||||
| return (int)$object->getAuditingEnabled(); | return (int)$object->getAuditingEnabled(); | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_DESCRIPTION: | case PhabricatorOwnersPackageTransaction::TYPE_DESCRIPTION: | ||||
| return $object->getDescription(); | return $object->getDescription(); | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_PATHS: | case PhabricatorOwnersPackageTransaction::TYPE_PATHS: | ||||
| $paths = $object->getPaths(); | $paths = $object->getPaths(); | ||||
| return mpull($paths, 'getRef'); | return mpull($paths, 'getRef'); | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_STATUS: | case PhabricatorOwnersPackageTransaction::TYPE_STATUS: | ||||
| return $object->getStatus(); | return $object->getStatus(); | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_AUTOREVIEW: | |||||
| return $object->getAutoReview(); | |||||
| } | } | ||||
| } | } | ||||
| protected function getCustomTransactionNewValue( | protected function getCustomTransactionNewValue( | ||||
| PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
| PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
| switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_NAME: | case PhabricatorOwnersPackageTransaction::TYPE_NAME: | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_DESCRIPTION: | case PhabricatorOwnersPackageTransaction::TYPE_DESCRIPTION: | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_STATUS: | case PhabricatorOwnersPackageTransaction::TYPE_STATUS: | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_AUTOREVIEW: | |||||
| return $xaction->getNewValue(); | return $xaction->getNewValue(); | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_PATHS: | case PhabricatorOwnersPackageTransaction::TYPE_PATHS: | ||||
| $new = $xaction->getNewValue(); | $new = $xaction->getNewValue(); | ||||
| foreach ($new as $key => $info) { | foreach ($new as $key => $info) { | ||||
| $new[$key]['excluded'] = (int)idx($info, 'excluded'); | $new[$key]['excluded'] = (int)idx($info, 'excluded'); | ||||
| } | } | ||||
| return $new; | return $new; | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_AUDITING: | case PhabricatorOwnersPackageTransaction::TYPE_AUDITING: | ||||
| Show All 39 Lines | switch ($xaction->getTransactionType()) { | ||||
| $object->setAuditingEnabled($xaction->getNewValue()); | $object->setAuditingEnabled($xaction->getNewValue()); | ||||
| return; | return; | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_OWNERS: | case PhabricatorOwnersPackageTransaction::TYPE_OWNERS: | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_PATHS: | case PhabricatorOwnersPackageTransaction::TYPE_PATHS: | ||||
| return; | return; | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_STATUS: | case PhabricatorOwnersPackageTransaction::TYPE_STATUS: | ||||
| $object->setStatus($xaction->getNewValue()); | $object->setStatus($xaction->getNewValue()); | ||||
| return; | return; | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_AUTOREVIEW: | |||||
| $object->setAutoReview($xaction->getNewValue()); | |||||
| return; | |||||
| } | } | ||||
| return parent::applyCustomInternalTransaction($object, $xaction); | return parent::applyCustomInternalTransaction($object, $xaction); | ||||
| } | } | ||||
| protected function applyCustomExternalTransaction( | protected function applyCustomExternalTransaction( | ||||
| PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
| PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
| switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_NAME: | case PhabricatorOwnersPackageTransaction::TYPE_NAME: | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_DESCRIPTION: | case PhabricatorOwnersPackageTransaction::TYPE_DESCRIPTION: | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_AUDITING: | case PhabricatorOwnersPackageTransaction::TYPE_AUDITING: | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_STATUS: | case PhabricatorOwnersPackageTransaction::TYPE_STATUS: | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_AUTOREVIEW: | |||||
| return; | return; | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_OWNERS: | case PhabricatorOwnersPackageTransaction::TYPE_OWNERS: | ||||
| $old = $xaction->getOldValue(); | $old = $xaction->getOldValue(); | ||||
| $new = $xaction->getNewValue(); | $new = $xaction->getNewValue(); | ||||
| $owners = $object->getOwners(); | $owners = $object->getOwners(); | ||||
| $owners = mpull($owners, null, 'getUserPHID'); | $owners = mpull($owners, null, 'getUserPHID'); | ||||
| ▲ Show 20 Lines • Show All 78 Lines • ▼ Show 20 Lines | switch ($type) { | ||||
| 'Package names may not contain commas (",") or exclamation '. | 'Package names may not contain commas (",") or exclamation '. | ||||
| 'marks ("!"). These characters are ambiguous when package '. | 'marks ("!"). These characters are ambiguous when package '. | ||||
| 'names are parsed from the command line.'), | 'names are parsed from the command line.'), | ||||
| $xaction); | $xaction); | ||||
| } | } | ||||
| } | } | ||||
| break; | break; | ||||
| case PhabricatorOwnersPackageTransaction::TYPE_AUTOREVIEW: | |||||
| $map = PhabricatorOwnersPackage::getAutoreviewOptionsMap(); | |||||
| foreach ($xactions as $xaction) { | |||||
| $new = $xaction->getNewValue(); | |||||
| if (empty($map[$new])) { | |||||
| $valid = array_keys($map); | |||||
| $errors[] = new PhabricatorApplicationTransactionValidationError( | |||||
| $type, | |||||
| pht('Invalid'), | |||||
| pht( | |||||
| 'Autoreview setting "%s" is not valid. '. | |||||
| 'Valid settings are: %s.', | |||||
| $new, | |||||
| implode(', ', $valid)), | |||||
| $xaction); | |||||
| } | |||||
| } | |||||
| break; | |||||
| case PhabricatorOwnersPackageTransaction::TYPE_PATHS: | case PhabricatorOwnersPackageTransaction::TYPE_PATHS: | ||||
| if (!$xactions) { | if (!$xactions) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| $old = mpull($object->getPaths(), 'getRef'); | $old = mpull($object->getPaths(), 'getRef'); | ||||
| foreach ($xactions as $xaction) { | foreach ($xactions as $xaction) { | ||||
| $new = $xaction->getNewValue(); | $new = $xaction->getNewValue(); | ||||
| ▲ Show 20 Lines • Show All 131 Lines • Show Last 20 Lines | |||||