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 |