public function newEditEngineFields(PhabricatorEditEngine $engine, PhabricatorCalendarImport $import) { $fields = array(); if ($engine->getIsCreate()) { $fields[] = id(new PhabricatorFileEditField())->setKey('icsFilePHID')->setLabel(pht('ICS File'))->setDescription(pht('ICS file to import.'))->setTransactionType(PhabricatorCalendarImportICSFileTransaction::TRANSACTIONTYPE)->setConduitDescription(pht('File PHID to import.'))->setConduitTypeDescription(pht('File PHID.')); } return $fields; }
public function newEditEngineFields(PhabricatorEditEngine $engine, PhabricatorCalendarImport $import) { $fields = array(); if ($engine->getIsCreate()) { $fields[] = id(new PhabricatorTextEditField())->setKey('uri')->setLabel(pht('URI'))->setDescription(pht('URI to import.'))->setTransactionType(PhabricatorCalendarImportICSURITransaction::TRANSACTIONTYPE)->setConduitDescription(pht('URI to import.'))->setConduitTypeDescription(pht('New URI.')); } return $fields; }
public function buildCustomEditFields(PhabricatorEditEngine $engine, PhabricatorApplicationTransactionInterface $object) { $viewer = $this->getViewer(); $field_list = PhabricatorCustomField::getObjectFields($object, PhabricatorCustomField::ROLE_EDIT); $field_list->setViewer($viewer); if (!$engine->getIsCreate()) { $field_list->readFieldsFromStorage($object); } $results = array(); foreach ($field_list->getFields() as $field) { $edit_fields = $field->getEditEngineFields($engine); foreach ($edit_fields as $edit_field) { $results[] = $edit_field; } } return $results; }
public function applyConfigurationToFields(PhabricatorEditEngine $engine, array $fields) { $fields = mpull($fields, null, 'getKey'); $values = $this->getProperty('defaults', array()); foreach ($fields as $key => $field) { if ($engine->getIsCreate()) { if (array_key_exists($key, $values)) { $field->readDefaultValueFromConfiguration($values[$key]); } } } $fields = $this->reorderFields($fields); $head_instructions = $this->getProperty('instructions.head'); if (strlen($head_instructions)) { $fields = array('config.instructions.head' => id(new PhabricatorInstructionsEditField())->setKey('config.instructions.head')->setValue($head_instructions)) + $fields; } return $fields; }
public function applyConfigurationToFields(PhabricatorEditEngine $engine, array $fields) { $fields = mpull($fields, null, 'getKey'); $values = $this->getProperty('defaults', array()); foreach ($fields as $key => $field) { if ($engine->getIsCreate()) { if (array_key_exists($key, $values)) { $field->readDefaultValueFromConfiguration($values[$key]); } } } $locks = $this->getFieldLocks(); foreach ($fields as $field) { $key = $field->getKey(); switch (idx($locks, $key)) { case self::LOCK_LOCKED: $field->setIsHidden(false); $field->setIsLocked(true); break; case self::LOCK_HIDDEN: $field->setIsHidden(true); $field->setIsLocked(false); break; case self::LOCK_VISIBLE: $field->setIsHidden(false); $field->setIsLocked(false); break; default: // If we don't have an explicit value, don't make any adjustments. break; } } $fields = $this->reorderFields($fields); $preamble = $this->getPreamble(); if (strlen($preamble)) { $fields = array('config.preamble' => id(new PhabricatorInstructionsEditField())->setKey('config.preamble')->setIsReorderable(false)->setIsDefaultable(false)->setIsLockable(false)->setValue($preamble)) + $fields; } return $fields; }