Path: blob/master/src/infrastructure/customfield/engineextension/PhabricatorCustomFieldEditEngineExtension.php
12242 views
<?php12final class PhabricatorCustomFieldEditEngineExtension3extends PhabricatorEditEngineExtension {45const EXTENSIONKEY = 'customfield.fields';67public function getExtensionPriority() {8return 5000;9}1011public function isExtensionEnabled() {12return true;13}1415public function getExtensionName() {16return pht('Custom Fields');17}1819public function supportsObject(20PhabricatorEditEngine $engine,21PhabricatorApplicationTransactionInterface $object) {22return ($object instanceof PhabricatorCustomFieldInterface);23}2425public function newBulkEditGroups(PhabricatorEditEngine $engine) {26return array(27id(new PhabricatorBulkEditGroup())28->setKey('custom')29->setLabel(pht('Custom Fields')),30);31}3233public function buildCustomEditFields(34PhabricatorEditEngine $engine,35PhabricatorApplicationTransactionInterface $object) {3637$viewer = $this->getViewer();3839$field_list = PhabricatorCustomField::getObjectFields(40$object,41PhabricatorCustomField::ROLE_EDITENGINE);4243$field_list->setViewer($viewer);4445if ($object->getID()) {46$field_list->readFieldsFromStorage($object);47}4849$results = array();50foreach ($field_list->getFields() as $field) {51$edit_fields = $field->getEditEngineFields($engine);52foreach ($edit_fields as $edit_field) {53$group_key = $edit_field->getBulkEditGroupKey();54if ($group_key === null) {55$edit_field->setBulkEditGroupKey('custom');56}5758$results[] = $edit_field;59}60}6162return $results;63}6465}666768