public function __construct(DifferentialFieldSpecification $spec) { $key = $spec->getStorageKey(); $class = get_class($spec); parent::__construct("Differential field specification for '{$key}' (of class '{$class}') is " . "incompletely implemented: it claims it should appear in a context but " . "does not implement all the required methods for that context."); }
/** * Find audit requests in the "Auditors" field if it is present and trigger * explicit audit requests. */ private function createAuditsFromCommitMessage(PhabricatorRepositoryCommit $commit, PhabricatorRepositoryCommitData $data) { $message = $data->getCommitMessage(); $matches = null; if (!preg_match('/^Auditors:\\s*(.*)$/im', $message, $matches)) { return array(); } $phids = DifferentialFieldSpecification::parseCommitMessageObjectList($matches[1], $include_mailables = false, $allow_partial = true); if (!$phids) { return array(); } $requests = id(new PhabricatorRepositoryAuditRequest())->loadAllWhere('commitPHID = %s', $commit->getPHID()); $requests = mpull($requests, null, 'getAuditorPHID'); foreach ($phids as $phid) { if (isset($requests[$phid])) { continue; } $request = new PhabricatorRepositoryAuditRequest(); $request->setCommitPHID($commit->getPHID()); $request->setAuditorPHID($phid); $request->setAuditStatus(PhabricatorAuditStatusConstants::AUDIT_REQUESTED); $request->setAuditReasons(array('Requested by Author')); $request->save(); $requests[$phid] = $request; } $commit->updateAuditStatus($requests); $commit->save(); return $phids; }
public function __construct(DifferentialFieldSpecification $spec) { $key = $spec->getStorageKey(); $class = get_class($spec); parent::__construct("Differential field specification for '{$key}' (of class '{$class}') is " . "attempting to access data which is not available in this context."); }