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; | |||||
| } | } | ||||
| } | } | ||||