Changeset View
Changeset View
Standalone View
Standalone View
src/applications/audit/editor/PhabricatorAuditEditor.php
Show First 20 Lines • Show All 80 Lines • ▼ Show 20 Lines | protected function applyCustomExternalTransaction( | ||||
switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
case PhabricatorTransactions::TYPE_COMMENT: | case PhabricatorTransactions::TYPE_COMMENT: | ||||
case PhabricatorTransactions::TYPE_SUBSCRIBERS: | case PhabricatorTransactions::TYPE_SUBSCRIBERS: | ||||
case PhabricatorAuditActionConstants::ACTION: | case PhabricatorAuditActionConstants::ACTION: | ||||
case PhabricatorAuditActionConstants::INLINE: | case PhabricatorAuditActionConstants::INLINE: | ||||
return; | return; | ||||
case PhabricatorAuditActionConstants::ADD_AUDITORS: | case PhabricatorAuditActionConstants::ADD_AUDITORS: | ||||
// TODO: For now, these are applied externally. | $new = $xaction->getNewValue(); | ||||
if (!is_array($new)) { | |||||
$new = array(); | |||||
} | |||||
$old = $xaction->getOldValue(); | |||||
if (!is_array($old)) { | |||||
$old = array(); | |||||
} | |||||
$add = array_diff_key($new, $old); | |||||
$actor = $this->requireActor(); | |||||
$requests = $object->getAudits(); | |||||
$requests = mpull($requests, null, 'getAuditorPHID'); | |||||
foreach ($add as $phid) { | |||||
if (isset($requests[$phid])) { | |||||
continue; | |||||
} | |||||
$audit_requested = PhabricatorAuditStatusConstants::AUDIT_REQUESTED; | |||||
$requests[] = id (new PhabricatorRepositoryAuditRequest()) | |||||
->setCommitPHID($object->getPHID()) | |||||
->setAuditorPHID($phid) | |||||
->setAuditStatus($audit_requested) | |||||
->setAuditReasons( | |||||
array( | |||||
'Added by '.$actor->getUsername(), | |||||
)) | |||||
->save(); | |||||
} | |||||
$object->updateAuditStatus($requests); | |||||
$object->attachAudits($requests); | |||||
$object->save(); | |||||
return; | return; | ||||
} | } | ||||
return parent::applyCustomExternalTransaction($object, $xaction); | return parent::applyCustomExternalTransaction($object, $xaction); | ||||
} | } | ||||
protected function sortTransactions(array $xactions) { | protected function sortTransactions(array $xactions) { | ||||
$xactions = parent::sortTransactions($xactions); | $xactions = parent::sortTransactions($xactions); | ||||
▲ Show 20 Lines • Show All 146 Lines • Show Last 20 Lines |