Changeset View
Changeset View
Standalone View
Standalone View
src/applications/audit/editor/PhabricatorAuditEditor.php
Show First 20 Lines • Show All 153 Lines • ▼ Show 20 Lines | switch ($xaction->getTransactionType()) { | ||||
$add = array_diff_key($new, $old); | $add = array_diff_key($new, $old); | ||||
$actor = $this->requireActor(); | $actor = $this->requireActor(); | ||||
$requests = $object->getAudits(); | $requests = $object->getAudits(); | ||||
$requests = mpull($requests, null, 'getAuditorPHID'); | $requests = mpull($requests, null, 'getAuditorPHID'); | ||||
foreach ($add as $phid) { | foreach ($add as $phid) { | ||||
if (isset($requests[$phid])) { | if (isset($requests[$phid])) { | ||||
$request = $requests[$phid]; | |||||
// Only update an existing request if the current status is not | |||||
// an interesting status. | |||||
if ($request->isInteresting()) { | |||||
continue; | continue; | ||||
} | } | ||||
} else { | |||||
$request = id(new PhabricatorRepositoryAuditRequest()) | |||||
->setCommitPHID($object->getPHID()) | |||||
->setAuditorPHID($phid); | |||||
} | |||||
if ($this->getIsHeraldEditor()) { | if ($this->getIsHeraldEditor()) { | ||||
$audit_requested = $xaction->getMetadataValue('auditStatus'); | $audit_requested = $xaction->getMetadataValue('auditStatus'); | ||||
$audit_reason_map = $xaction->getMetadataValue('auditReasonMap'); | $audit_reason_map = $xaction->getMetadataValue('auditReasonMap'); | ||||
$audit_reason = $audit_reason_map[$phid]; | $audit_reason = $audit_reason_map[$phid]; | ||||
} else { | } else { | ||||
$audit_requested = PhabricatorAuditStatusConstants::AUDIT_REQUESTED; | $audit_requested = PhabricatorAuditStatusConstants::AUDIT_REQUESTED; | ||||
$audit_reason = $this->getAuditReasons($phid); | $audit_reason = $this->getAuditReasons($phid); | ||||
} | } | ||||
$requests[] = id(new PhabricatorRepositoryAuditRequest()) | |||||
->setCommitPHID($object->getPHID()) | $request | ||||
->setAuditorPHID($phid) | |||||
->setAuditStatus($audit_requested) | ->setAuditStatus($audit_requested) | ||||
->setAuditReasons($audit_reason) | ->setAuditReasons($audit_reason) | ||||
->save(); | ->save(); | ||||
$requests[$phid] = $request; | |||||
} | } | ||||
$object->attachAudits($requests); | $object->attachAudits($requests); | ||||
return; | return; | ||||
} | } | ||||
return parent::applyCustomExternalTransaction($object, $xaction); | return parent::applyCustomExternalTransaction($object, $xaction); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 790 Lines • Show Last 20 Lines |