id = idx($data, 'id'); } public function processRequest() { if ($this->id) { $revision = id(new DifferentialRevision())->load($this->id); if (!$revision) { return new Aphront404Response(); } } else { $revision = new DifferentialRevision(); } /* $e_name = true; $errors = array(); $request = $this->getRequest(); if ($request->isFormPost()) { $category->setName($request->getStr('name')); $category->setSequence($request->getStr('sequence')); if (!strlen($category->getName())) { $errors[] = 'Category name is required.'; $e_name = 'Required'; } if (!$errors) { $category->save(); return id(new AphrontRedirectResponse()) ->setURI('/directory/category/'); } } $error_view = null; if ($errors) { $error_view = id(new AphrontErrorView()) ->setTitle('Form Errors') ->setErrors($errors); } */ $e_name = true; $form = new AphrontFormView(); if ($revision->getID()) { $form->setAction('/differential/revision/edit/'.$category->getID().'/'); } else { $form->setAction('/differential/revision/edit/'); } $form ->appendChild( id(new AphrontFormTextAreaControl()) ->setLabel('Name') ->setName('name') ->setValue($revision->getName()) ->setError($e_name)) ->appendChild( id(new AphrontFormTextAreaControl()) ->setLabel('Summary') ->setName('summary') ->setValue($revision->getSummary())) ->appendChild( id(new AphrontFormTextAreaControl()) ->setLabel('Test Plan') ->setName('testplan') ->setValue($revision->getTestPlan()) ->setError($e_testplan)) ->appendChild( id(new AphrontFormTextAreaControl()) ->setLabel('Reviewers') ->setName('reviewers')) ->appendChild( id(new AphrontFormTextAreaControl()) ->setLabel('CC') ->setName('cc')) ->appendChild( id(new AphrontFormTextControl()) ->setLabel('Blame Revision') ->setName('blame') ->setValue($revision->getBlameRevision()) ->setCaption('Revision which broke the stuff which this '. 'change fixes.')) ->appendChild( id(new AphrontFormTextAreaControl()) ->setLabel('Revert') ->setName('revert') ->setValue($revision->getRevertPlan()) ->setCaption('Special steps required to safely revert this change.')) ->appendChild( id(new AphrontFormSubmitControl()) ->setValue('Save')); $panel = new AphrontPanelView(); if ($revision->getID()) { $panel->setHeader('Edit Differential Revision'); } else { $panel->setHeader('Create New Differential Revision'); } $panel->appendChild($form); $panel->setWidth(AphrontPanelView::WIDTH_FORM); $error_view = null; return $this->buildStandardPageResponse( array($error_view, $panel), array( 'title' => 'Edit Differential Revision', )); } }