/** * Code to create a form to edit the @{class:NuanceItem} you are defining. * * return @{class:AphrontFormView} */ private function renderEditForm(PhabricatorApplicationTransactionValidationException $ex = null) { $user = $this->requireActor(); $source = $this->requireSourceObject(); $policies = $this->loadSourceObjectPolicies($user, $source); $e_name = null; if ($ex) { $e_name = $ex->getShortMessage(NuanceSourceTransaction::TYPE_NAME); } $form = id(new AphrontFormView())->setUser($user)->appendChild(id(new AphrontFormTextControl())->setLabel(pht('Name'))->setName('name')->setError($e_name)->setValue($source->getName())); $form = $this->augmentEditForm($form, $ex); $form->appendChild(id(new AphrontFormPolicyControl())->setUser($user)->setCapability(PhabricatorPolicyCapability::CAN_VIEW)->setPolicyObject($source)->setPolicies($policies)->setName('viewPolicy'))->appendChild(id(new AphrontFormPolicyControl())->setUser($user)->setCapability(PhabricatorPolicyCapability::CAN_EDIT)->setPolicyObject($source)->setPolicies($policies)->setName('editPolicy'))->appendChild(id(new AphrontFormSubmitControl())->addCancelButton($source->getURI())->setValue(pht('Save'))); return $form; }
protected function getValidationExceptionShortMessage(PhabricatorApplicationTransactionValidationException $ex, PhabricatorEditField $field) { $xaction_type = $field->getTransactionType(); if ($xaction_type === null) { return null; } return $ex->getShortMessage($xaction_type); }