Changeset View
Changeset View
Standalone View
Standalone View
src/applications/maniphest/editor/ManiphestEditEngine.php
- This file was added.
| <?php | |||||
| final class ManiphestEditEngine | |||||
| extends PhabricatorEditEngine { | |||||
| const ENGINECONST = 'maniphest.task'; | |||||
| public function getEngineName() { | |||||
| return pht('Maniphest Tasks'); | |||||
| } | |||||
| public function getEngineApplicationClass() { | |||||
| return 'PhabricatorManiphestApplication'; | |||||
| } | |||||
| protected function newEditableObject() { | |||||
| return ManiphestTask::initializeNewTask($this->getViewer()); | |||||
| } | |||||
| protected function newObjectQuery() { | |||||
| return id(new ManiphestTaskQuery()); | |||||
| } | |||||
| protected function getObjectCreateTitleText($object) { | |||||
| return pht('Create New Task'); | |||||
| } | |||||
| protected function getObjectEditTitleText($object) { | |||||
| return pht('Edit %s %s', $object->getMonogram(), $object->getTitle()); | |||||
| } | |||||
| protected function getObjectEditShortText($object) { | |||||
| return $object->getMonogram(); | |||||
| } | |||||
| protected function getObjectCreateShortText() { | |||||
| return pht('Create Task'); | |||||
| } | |||||
| protected function getCommentViewHeaderText($object) { | |||||
| $is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business'); | |||||
| if (!$is_serious) { | |||||
| return pht('Weigh In'); | |||||
| } | |||||
| return parent::getCommentViewHeaderText($object); | |||||
| } | |||||
| protected function getObjectViewURI($object) { | |||||
| return '/'.$object->getMonogram(); | |||||
| } | |||||
| protected function buildCustomEditFields($object) { | |||||
| // See T4819. | |||||
| $status_map = ManiphestTaskStatus::getTaskStatusMap(); | |||||
| $dup_status = ManiphestTaskStatus::getDuplicateStatus(); | |||||
| if ($object->getStatus() != $dup_status) { | |||||
| unset($status_map[$dup_status]); | |||||
| } | |||||
| $owner_phid = $object->getOwnerPHID(); | |||||
| if ($owner_phid) { | |||||
| $owner_value = array($owner_phid); | |||||
| } else { | |||||
| $owner_value = array(); | |||||
| } | |||||
| $priority_map = ManiphestTaskPriority::getTaskPriorityMap(); | |||||
| return array( | |||||
| id(new PhabricatorTextEditField()) | |||||
| ->setKey('title') | |||||
| ->setLabel(pht('Title')) | |||||
| ->setDescription(pht('Name of the paste.')) | |||||
| ->setTransactionType(ManiphestTransaction::TYPE_TITLE) | |||||
| ->setIsRequired(true) | |||||
| ->setValue($object->getTitle()), | |||||
| id(new PhabricatorSelectEditField()) | |||||
| ->setKey('status') | |||||
| ->setLabel(pht('Status')) | |||||
| ->setDescription(pht('Status of the task.')) | |||||
| ->setTransactionType(ManiphestTransaction::TYPE_STATUS) | |||||
| ->setValue($object->getStatus()) | |||||
| ->setOptions($status_map), | |||||
| id(new PhabricatorUsersEditField()) | |||||
| ->setKey('assigned') | |||||
| ->setAliases(array('assign', 'assignee')) | |||||
| ->setLabel(pht('Assigned To')) | |||||
| ->setDescription(pht('User who is responsible for the task.')) | |||||
| ->setTransactionType(ManiphestTransaction::TYPE_OWNER) | |||||
| ->setValue($owner_value), | |||||
| id(new PhabricatorSelectEditField()) | |||||
| ->setKey('priority') | |||||
| ->setLabel(pht('Priority')) | |||||
| ->setDescription(pht('Priority of the task.')) | |||||
| ->setTransactionType(ManiphestTransaction::TYPE_PRIORITY) | |||||
| ->setValue($object->getPriority()) | |||||
| ->setOptions($priority_map), | |||||
| id(new PhabricatorRemarkupEditField()) | |||||
| ->setKey('description') | |||||
| ->setLabel(pht('Description')) | |||||
| ->setDescription(pht('Task description.')) | |||||
| ->setTransactionType(ManiphestTransaction::TYPE_DESCRIPTION) | |||||
| ->setValue($object->getDescription()), | |||||
| ); | |||||
| } | |||||
| protected function getEditorURI() { | |||||
| // TODO: Remove when cutting over. | |||||
| return $this->getApplication()->getApplicationURI('editpro/'); | |||||
| } | |||||
| } | |||||