mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-13 10:22:42 +01:00
ef85f49adc
Summary: This commit doesn't change license of any file. It just makes the license implicit (inherited from LICENSE file in the root directory). We are removing the headers for these reasons: - It wastes space in editors, less code is visible in editor upon opening a file. - It brings noise to diff of the first change of any file every year. - It confuses Git file copy detection when creating small files. - We don't have an explicit license header in other files (JS, CSS, images, documentation). - Using license header in every file is not obligatory: http://www.apache.org/dev/apply-license.html#new. This change is approved by Alma Chao (Lead Open Source and IP Counsel at Facebook). Test Plan: Verified that the license survived only in LICENSE file and that it didn't modify externals. Reviewers: epriestley, davidrecordon Reviewed By: epriestley CC: aran, Korvin Maniphest Tasks: T2035 Differential Revision: https://secure.phabricator.com/D3886
141 lines
3.5 KiB
PHP
141 lines
3.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @group maniphest
|
|
*/
|
|
abstract class ManiphestAuxiliaryFieldSpecification {
|
|
|
|
const RENDER_TARGET_HTML = 'html';
|
|
const RENDER_TARGET_TEXT = 'text';
|
|
|
|
private $label;
|
|
private $auxiliaryKey;
|
|
private $caption;
|
|
private $value;
|
|
|
|
public function setLabel($val) {
|
|
$this->label = $val;
|
|
return $this;
|
|
}
|
|
|
|
public function getLabel() {
|
|
return $this->label;
|
|
}
|
|
|
|
public function setAuxiliaryKey($val) {
|
|
$this->auxiliaryKey = $val;
|
|
return $this;
|
|
}
|
|
|
|
public function getAuxiliaryKey() {
|
|
return $this->auxiliaryKey;
|
|
}
|
|
|
|
public function setCaption($val) {
|
|
$this->caption = $val;
|
|
return $this;
|
|
}
|
|
|
|
public function getCaption() {
|
|
return $this->caption;
|
|
}
|
|
|
|
public function setValue($val) {
|
|
$this->value = $val;
|
|
return $this;
|
|
}
|
|
|
|
public function getValue() {
|
|
return $this->value;
|
|
}
|
|
|
|
public function validate() {
|
|
return true;
|
|
}
|
|
|
|
public function isRequired() {
|
|
return false;
|
|
}
|
|
|
|
public function setType($val) {
|
|
$this->type = $val;
|
|
return $this;
|
|
}
|
|
|
|
public function getType() {
|
|
return $this->type;
|
|
}
|
|
|
|
public function renderControl() {
|
|
return null;
|
|
}
|
|
|
|
public function renderForDetailView() {
|
|
return phutil_escape_html($this->getValue());
|
|
}
|
|
|
|
|
|
/**
|
|
* When the user creates a task, the UI prompts them to "Create another
|
|
* similar task". This copies some fields (e.g., Owner and CCs) but not other
|
|
* fields (e.g., description). If this custom field should also be copied,
|
|
* return true from this method.
|
|
*
|
|
* @return bool True to copy the default value from the template task when
|
|
* creating a new similar task.
|
|
*/
|
|
public function shouldCopyWhenCreatingSimilarTask() {
|
|
return false;
|
|
}
|
|
|
|
|
|
/**
|
|
* Render a verb to appear in email titles when a transaction involving this
|
|
* field occurs. Specifically, Maniphest emails are formatted like this:
|
|
*
|
|
* [Maniphest] [Verb Here] TNNN: Task title here
|
|
* ^^^^^^^^^
|
|
*
|
|
* You should optionally return a title-case verb or short phrase like
|
|
* "Created", "Retitled", "Closed", "Resolved", "Commented On",
|
|
* "Lowered Priority", etc., which describes the transaction.
|
|
*
|
|
* @param ManiphestTransaction The transaction which needs description.
|
|
* @return string|null A short description of the transaction.
|
|
*/
|
|
public function renderTransactionEmailVerb(
|
|
ManiphestTransaction $transaction) {
|
|
return null;
|
|
}
|
|
|
|
|
|
/**
|
|
* Render a short description of the transaction, to appear above comments
|
|
* in the Maniphest transaction log. The string will be rendered after the
|
|
* acting user's name. Examples are:
|
|
*
|
|
* added a comment
|
|
* added alincoln to CC
|
|
* claimed this task
|
|
* created this task
|
|
* closed this task out of spite
|
|
*
|
|
* You should return a similar string, describing the transaction.
|
|
*
|
|
* Note the ##$target## parameter -- Maniphest needs to render transaction
|
|
* descriptions for different targets, like web and email. This method will
|
|
* be called with a ##ManiphestAuxiliaryFieldSpecification::RENDER_TARGET_*##
|
|
* constant describing the intended target.
|
|
*
|
|
* @param ManiphestTransaction The transaction which needs description.
|
|
* @param const Constant describing the rendering target (e.g., html or text).
|
|
* @return string|null Description of the transaction.
|
|
*/
|
|
public function renderTransactionDescription(
|
|
ManiphestTransaction $transaction,
|
|
$target) {
|
|
return 'updated a custom field';
|
|
}
|
|
|
|
|
|
}
|