mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-12 00:26:13 +01:00
62cf4e6b95
Summary: Ref T11114. Ref T12085. I missed a few pieces of cleanup when moving all this stuff over. In particular, load all fields which use Custom Field storage before doing commit-message-related stuff, instead of just the ones that claim they appear on commit messages. Test Plan: Edited revisions and made API calls without apparent issues. See followup on T12085, shortly. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12085, T11114 Differential Revision: https://secure.phabricator.com/D17207
106 lines
2.5 KiB
PHP
106 lines
2.5 KiB
PHP
<?php
|
|
|
|
final class DifferentialBlameRevisionField
|
|
extends DifferentialStoredCustomField {
|
|
|
|
public function getFieldKey() {
|
|
return 'phabricator:blame-revision';
|
|
}
|
|
|
|
public function getFieldKeyForConduit() {
|
|
return 'blameRevision';
|
|
}
|
|
|
|
public function getFieldName() {
|
|
return pht('Blame Revision');
|
|
}
|
|
|
|
public function getFieldDescription() {
|
|
return pht('Stores a reference to what this fixes.');
|
|
}
|
|
|
|
public function shouldDisableByDefault() {
|
|
return true;
|
|
}
|
|
|
|
public function shouldAppearInPropertyView() {
|
|
return true;
|
|
}
|
|
|
|
public function renderPropertyViewLabel() {
|
|
return $this->getFieldName();
|
|
}
|
|
|
|
public function renderPropertyViewValue(array $handles) {
|
|
if (!strlen($this->getValue())) {
|
|
return null;
|
|
}
|
|
|
|
return $this->getValue();
|
|
}
|
|
|
|
public function shouldAppearInEditView() {
|
|
return true;
|
|
}
|
|
|
|
public function shouldAppearInApplicationTransactions() {
|
|
return true;
|
|
}
|
|
|
|
public function getOldValueForApplicationTransactions() {
|
|
return $this->getValue();
|
|
}
|
|
|
|
public function getNewValueForApplicationTransactions() {
|
|
return $this->getValue();
|
|
}
|
|
|
|
public function readValueFromRequest(AphrontRequest $request) {
|
|
$this->setValue($request->getStr($this->getFieldKey()));
|
|
}
|
|
|
|
public function renderEditControl(array $handles) {
|
|
return id(new AphrontFormTextControl())
|
|
->setName($this->getFieldKey())
|
|
->setValue($this->getValue())
|
|
->setLabel($this->getFieldName());
|
|
}
|
|
|
|
public function getApplicationTransactionTitle(
|
|
PhabricatorApplicationTransaction $xaction) {
|
|
$author_phid = $xaction->getAuthorPHID();
|
|
$old = $xaction->getOldValue();
|
|
$new = $xaction->getNewValue();
|
|
|
|
return pht(
|
|
'%s updated the blame revision for this revision.',
|
|
$xaction->renderHandleLink($author_phid));
|
|
}
|
|
|
|
public function getApplicationTransactionTitleForFeed(
|
|
PhabricatorApplicationTransaction $xaction) {
|
|
|
|
$object_phid = $xaction->getObjectPHID();
|
|
$author_phid = $xaction->getAuthorPHID();
|
|
$old = $xaction->getOldValue();
|
|
$new = $xaction->getNewValue();
|
|
|
|
return pht(
|
|
'%s updated the blame revision for %s.',
|
|
$xaction->renderHandleLink($author_phid),
|
|
$xaction->renderHandleLink($object_phid));
|
|
}
|
|
|
|
public function shouldAppearInConduitDictionary() {
|
|
return true;
|
|
}
|
|
|
|
public function shouldAppearInConduitTransactions() {
|
|
return true;
|
|
}
|
|
|
|
protected function newConduitEditParameterType() {
|
|
return new ConduitStringParameterType();
|
|
}
|
|
|
|
}
|