2014-03-08 02:05:00 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
final class DifferentialAuditorsField
|
|
|
|
extends DifferentialStoredCustomField {
|
|
|
|
|
|
|
|
public function getFieldKey() {
|
|
|
|
return 'phabricator:auditors';
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getFieldName() {
|
|
|
|
return pht('Auditors');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getFieldDescription() {
|
|
|
|
return pht('Allows commits to trigger audits explicitly.');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getValueForStorage() {
|
|
|
|
return json_encode($this->getValue());
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setValueFromStorage($value) {
|
2014-06-20 16:39:37 +02:00
|
|
|
try {
|
|
|
|
$this->setValue(phutil_json_decode($value));
|
|
|
|
} catch (PhutilJSONParserException $ex) {
|
|
|
|
$this->setValue(array());
|
|
|
|
}
|
2014-03-08 02:05:00 +01:00
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function shouldAppearInCommitMessage() {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function shouldAllowEditInCommitMessage() {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2014-03-08 18:13:51 +01:00
|
|
|
public function canDisableField() {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
2014-03-08 02:05:00 +01:00
|
|
|
public function getRequiredHandlePHIDsForCommitMessage() {
|
|
|
|
return nonempty($this->getValue(), array());
|
|
|
|
}
|
|
|
|
|
|
|
|
public function parseCommitMessageValue($value) {
|
|
|
|
return $this->parseObjectList(
|
|
|
|
$value,
|
|
|
|
array(
|
|
|
|
PhabricatorPeoplePHIDTypeUser::TYPECONST,
|
|
|
|
PhabricatorProjectPHIDTypeProject::TYPECONST,
|
|
|
|
));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function renderCommitMessageValue(array $handles) {
|
|
|
|
return $this->renderObjectList($handles);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|