Changeset View
Changeset View
Standalone View
Standalone View
src/applications/release/editor/ReleaseChangeRequestEditEngine.php
- This file was added.
<?php | |||||
final class ReleaseChangeRequestEditEngine | |||||
extends PhabricatorEditEngine { | |||||
const ENGINECONST = 'release.change'; | |||||
public function getEngineName() { | |||||
return pht('Release Change Requests'); | |||||
} | |||||
public function isEngineConfigurable() { | |||||
// This hides it from the quick-create menu, because the built-in form | |||||
// doesn't actually do anything. | |||||
return false; | |||||
} | |||||
protected function getObjectName() { | |||||
return pht('Release Change Request'); | |||||
} | |||||
public function getSummaryHeader() { | |||||
return pht('Configure Change Requests Forms'); | |||||
} | |||||
public function getSummaryText() { | |||||
return pht('Configure editing Release Change Requests.'); | |||||
} | |||||
public function getEngineApplicationClass() { | |||||
return 'PhabricatorReleaseApplication'; | |||||
} | |||||
protected function newEditableObject() { | |||||
return new ReleaseChangeRequest(); | |||||
} | |||||
protected function newObjectQuery() { | |||||
return id(new ReleaseChangeRequestQuery()) | |||||
->needRequestObjects(true); | |||||
} | |||||
protected function getObjectCreateTitleText($object) { | |||||
return pht('Request a new Change to a Release'); | |||||
} | |||||
protected function getObjectEditTitleText($object) { | |||||
return pht('Edit Change Request %s', $object->getTitle()); | |||||
} | |||||
protected function getEditorURI() { | |||||
return '/release/change/edit/'; | |||||
} | |||||
protected function getObjectEditShortText($object) { | |||||
return $object->getTitle(); | |||||
} | |||||
protected function getObjectCreateShortText() { | |||||
return pht('New Change Request'); | |||||
} | |||||
protected function getCreateNewObjectPolicy() { | |||||
// TODO new capability. | |||||
return $this->getApplication()->getPolicy( | |||||
PhabricatorReleaseReleaseDefaultEditCapability::CAPABILITY); | |||||
} | |||||
protected function getCommentViewHeaderText($object) { | |||||
return pht('Discuss Change'); | |||||
} | |||||
protected function getCommentViewButtonText($object) { | |||||
return pht('Comment'); | |||||
} | |||||
protected function getObjectViewURI($object) { | |||||
return $object->getURI(); | |||||
} | |||||
protected function buildCustomEditFields($object) { | |||||
$states = ReleaseChangeRequest::getStatusMap(); | |||||
$is_edit_form = !$this->getIsCreate(); | |||||
return array( | |||||
id(new PhabricatorSelectEditField()) | |||||
->setKey('state') | |||||
->setLabel(pht('State')) | |||||
->setTransactionType( | |||||
ReleaseChangeRequestStateTransaction::TRANSACTIONTYPE) | |||||
->setIsCopyable(true) | |||||
->setOptions($states) | |||||
->setValue($object->getStatus()), | |||||
); | |||||
} | |||||
} |