Path: blob/master/src/applications/macro/editor/PhabricatorMacroEditEngine.php
12241 views
<?php12final class PhabricatorMacroEditEngine3extends PhabricatorEditEngine {45const ENGINECONST = 'macro.image';67public function getEngineName() {8return pht('Macro Image');9}1011public function getSummaryHeader() {12return pht('Configure Macro Image Forms');13}1415public function getSummaryText() {16return pht('Configure creation and editing of Macro images.');17}1819public function getEngineApplicationClass() {20return 'PhabricatorMacroApplication';21}2223public function isEngineConfigurable() {24return false;25}2627protected function newEditableObject() {28$viewer = $this->getViewer();29return PhabricatorFileImageMacro::initializeNewFileImageMacro($viewer);30}3132protected function newObjectQuery() {33return new PhabricatorMacroQuery();34}3536protected function getObjectCreateTitleText($object) {37return pht('Create New Macro');38}3940protected function getObjectEditTitleText($object) {41return pht('Edit Macro %s', $object->getName());42}4344protected function getObjectEditShortText($object) {45return $object->getName();46}4748protected function getObjectCreateShortText() {49return pht('Create Macro');50}5152protected function getObjectName() {53return pht('Macro');54}5556protected function getObjectViewURI($object) {57return $object->getViewURI();58}5960protected function getEditorURI() {61return $this->getApplication()->getApplicationURI('edit/');62}6364protected function getCreateNewObjectPolicy() {65return $this->getApplication()->getPolicy(66PhabricatorMacroManageCapability::CAPABILITY);67}6869protected function willConfigureFields($object, array $fields) {70if ($this->getIsCreate()) {71$subscribers_field = idx($fields,72PhabricatorSubscriptionsEditEngineExtension::FIELDKEY);73if ($subscribers_field) {74// By default, hide the subscribers field when creating a macro75// because it makes the workflow SO HARD and wastes SO MUCH TIME.76$subscribers_field->setIsHidden(true);77}78}79return $fields;80}8182protected function buildCustomEditFields($object) {8384return array(85id(new PhabricatorTextEditField())86->setKey('name')87->setLabel(pht('Name'))88->setDescription(pht('Macro name.'))89->setConduitDescription(pht('Name of the macro.'))90->setConduitTypeDescription(pht('New macro name.'))91->setTransactionType(PhabricatorMacroNameTransaction::TRANSACTIONTYPE)92->setIsRequired(true)93->setValue($object->getName()),94id(new PhabricatorFileEditField())95->setKey('filePHID')96->setLabel(pht('Image File'))97->setDescription(pht('Image file to import.'))98->setTransactionType(PhabricatorMacroFileTransaction::TRANSACTIONTYPE)99->setConduitDescription(pht('File PHID to import.'))100->setConduitTypeDescription(pht('File PHID.'))101->setValue($object->getFilePHID()),102);103104}105106}107108109