Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/engine/PhabricatorProjectEditEngine.php
Show First 20 Lines • Show All 170 Lines • ▼ Show 20 Lines | protected function buildCustomEditFields($object) { | ||||
} | } | ||||
if ($milestone) { | if ($milestone) { | ||||
$milestone_phid = $milestone->getPHID(); | $milestone_phid = $milestone->getPHID(); | ||||
} else { | } else { | ||||
$milestone_phid = null; | $milestone_phid = null; | ||||
} | } | ||||
return array( | $fields = array( | ||||
id(new PhabricatorHandlesEditField()) | id(new PhabricatorHandlesEditField()) | ||||
->setKey('parent') | ->setKey('parent') | ||||
->setLabel(pht('Parent')) | ->setLabel(pht('Parent')) | ||||
->setDescription(pht('Create a subproject of an existing project.')) | ->setDescription(pht('Create a subproject of an existing project.')) | ||||
->setConduitDescription( | ->setConduitDescription( | ||||
pht('Choose a parent project to create a subproject beneath.')) | pht('Choose a parent project to create a subproject beneath.')) | ||||
->setConduitTypeDescription(pht('PHID of the parent project.')) | ->setConduitTypeDescription(pht('PHID of the parent project.')) | ||||
->setAliases(array('parentPHID')) | ->setAliases(array('parentPHID')) | ||||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | $fields = array( | ||||
->setKey('slugs') | ->setKey('slugs') | ||||
->setLabel(pht('Additional Hashtags')) | ->setLabel(pht('Additional Hashtags')) | ||||
->setTransactionType(PhabricatorProjectTransaction::TYPE_SLUGS) | ->setTransactionType(PhabricatorProjectTransaction::TYPE_SLUGS) | ||||
->setDescription(pht('Additional project slugs.')) | ->setDescription(pht('Additional project slugs.')) | ||||
->setConduitDescription(pht('Change project slugs.')) | ->setConduitDescription(pht('Change project slugs.')) | ||||
->setConduitTypeDescription(pht('New list of slugs.')) | ->setConduitTypeDescription(pht('New list of slugs.')) | ||||
->setValue($slugs), | ->setValue($slugs), | ||||
); | ); | ||||
$can_edit_members = (!$milestone) && | |||||
(!$object->isMilestone()) && | |||||
(!$object->getHasSubprojects()); | |||||
if ($can_edit_members) { | |||||
// Show this on the web UI when creating a project, but not when editing | |||||
// one. It is always available via Conduit. | |||||
$conduit_only = !$this->getIsCreate(); | |||||
$members_field = id(new PhabricatorUsersEditField()) | |||||
->setKey('members') | |||||
->setAliases(array('memberPHIDs')) | |||||
->setLabel(pht('Initial Members')) | |||||
->setIsConduitOnly($conduit_only) | |||||
->setUseEdgeTransactions(true) | |||||
->setTransactionType(PhabricatorTransactions::TYPE_EDGE) | |||||
->setMetadataValue( | |||||
'edge:type', | |||||
PhabricatorProjectProjectHasMemberEdgeType::EDGECONST) | |||||
->setDescription(pht('Initial project members.')) | |||||
->setConduitDescription(pht('Set project members.')) | |||||
->setConduitTypeDescription(pht('New list of members.')) | |||||
->setValue(array()); | |||||
$members_field->setViewer($this->getViewer()); | |||||
$edit_add = $members_field->getConduitEditType('members.add') | |||||
->setConduitDescription(pht('Add members.')); | |||||
$edit_set = $members_field->getConduitEditType('members.set') | |||||
->setConduitDescription( | |||||
pht('Set members, overwriting the current value.')); | |||||
$edit_rem = $members_field->getConduitEditType('members.remove') | |||||
->setConduitDescription(pht('Remove members.')); | |||||
$fields[] = $members_field; | |||||
} | |||||
return $fields; | |||||
} | } | ||||
} | } |