mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 16:22:43 +01:00
Add a basic "harbormaster.step.edit" API method
Summary: Ref T13585. Provide a minimal but technically functional "harbormaster.step.edit" API method. Test Plan: Used the web console to modify the URI for a "Make HTTP Request" build step. Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam Maniphest Tasks: T13585 Differential Revision: https://secure.phabricator.com/D21489
This commit is contained in:
parent
bf8707d3a9
commit
34082efb02
3 changed files with 131 additions and 0 deletions
|
@ -1430,6 +1430,8 @@ phutil_register_library_map(array(
|
|||
'HarbormasterBuildStep' => 'applications/harbormaster/storage/configuration/HarbormasterBuildStep.php',
|
||||
'HarbormasterBuildStepCoreCustomField' => 'applications/harbormaster/customfield/HarbormasterBuildStepCoreCustomField.php',
|
||||
'HarbormasterBuildStepCustomField' => 'applications/harbormaster/customfield/HarbormasterBuildStepCustomField.php',
|
||||
'HarbormasterBuildStepEditAPIMethod' => 'applications/harbormaster/conduit/HarbormasterBuildStepEditAPIMethod.php',
|
||||
'HarbormasterBuildStepEditEngine' => 'applications/harbormaster/editor/HarbormasterBuildStepEditEngine.php',
|
||||
'HarbormasterBuildStepEditor' => 'applications/harbormaster/editor/HarbormasterBuildStepEditor.php',
|
||||
'HarbormasterBuildStepGroup' => 'applications/harbormaster/stepgroup/HarbormasterBuildStepGroup.php',
|
||||
'HarbormasterBuildStepImplementation' => 'applications/harbormaster/step/HarbormasterBuildStepImplementation.php',
|
||||
|
@ -7636,6 +7638,8 @@ phutil_register_library_map(array(
|
|||
'PhabricatorStandardCustomFieldInterface',
|
||||
),
|
||||
'HarbormasterBuildStepCustomField' => 'PhabricatorCustomField',
|
||||
'HarbormasterBuildStepEditAPIMethod' => 'PhabricatorEditEngineAPIMethod',
|
||||
'HarbormasterBuildStepEditEngine' => 'PhabricatorEditEngine',
|
||||
'HarbormasterBuildStepEditor' => 'PhabricatorApplicationTransactionEditor',
|
||||
'HarbormasterBuildStepGroup' => 'Phobject',
|
||||
'HarbormasterBuildStepImplementation' => 'Phobject',
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
final class HarbormasterBuildStepEditAPIMethod
|
||||
extends PhabricatorEditEngineAPIMethod {
|
||||
|
||||
public function getAPIMethodName() {
|
||||
return 'harbormaster.step.edit';
|
||||
}
|
||||
|
||||
public function newEditEngine() {
|
||||
return new HarbormasterBuildStepEditEngine();
|
||||
}
|
||||
|
||||
public function getMethodSummary() {
|
||||
return pht(
|
||||
'Apply transactions to create a new build step or edit an existing '.
|
||||
'one.');
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
<?php
|
||||
|
||||
final class HarbormasterBuildStepEditEngine
|
||||
extends PhabricatorEditEngine {
|
||||
|
||||
const ENGINECONST = 'harbormaster.buildstep';
|
||||
|
||||
private $buildPlan;
|
||||
|
||||
public function setBuildPlan(HarbormasterBuildPlan $build_plan) {
|
||||
$this->buildPlan = $build_plan;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getBuildPlan() {
|
||||
if ($this->buildPlan === null) {
|
||||
throw new PhutilInvalidStateException('setBuildPlan');
|
||||
}
|
||||
|
||||
return $this->buildPlan;
|
||||
}
|
||||
|
||||
public function isEngineConfigurable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getEngineName() {
|
||||
return pht('Harbormaster Build Steps');
|
||||
}
|
||||
|
||||
public function getSummaryHeader() {
|
||||
return pht('Edit Harbormaster Build Step Configurations');
|
||||
}
|
||||
|
||||
public function getSummaryText() {
|
||||
return pht('This engine is used to edit Harbormaster build steps.');
|
||||
}
|
||||
|
||||
public function getEngineApplicationClass() {
|
||||
return 'PhabricatorHarbormasterApplication';
|
||||
}
|
||||
|
||||
protected function newEditableObject() {
|
||||
$viewer = $this->getViewer();
|
||||
|
||||
|
||||
$plan = HarbormasterBuildPlan::initializeNewBuildPlan($viewer);
|
||||
$this->setBuildPlan($plan);
|
||||
|
||||
$plan = $this->getBuildPlan();
|
||||
|
||||
$step = HarbormasterBuildStep::initializeNewStep($viewer);
|
||||
|
||||
$step->setBuildPlanPHID($plan->getPHID());
|
||||
$step->attachBuildPlan($plan);
|
||||
|
||||
return $step;
|
||||
}
|
||||
|
||||
protected function newObjectQuery() {
|
||||
return new HarbormasterBuildStepQuery();
|
||||
}
|
||||
|
||||
protected function getObjectCreateTitleText($object) {
|
||||
return pht('Create Build Step');
|
||||
}
|
||||
|
||||
protected function getObjectCreateButtonText($object) {
|
||||
return pht('Create Build Step');
|
||||
}
|
||||
|
||||
protected function getObjectEditTitleText($object) {
|
||||
return pht('Edit Build Step: %s', $object->getName());
|
||||
}
|
||||
|
||||
protected function getObjectEditShortText($object) {
|
||||
return pht('Edit Build Step');
|
||||
}
|
||||
|
||||
protected function getObjectCreateShortText() {
|
||||
return pht('Create Build Step');
|
||||
}
|
||||
|
||||
protected function getObjectName() {
|
||||
return pht('Build Step');
|
||||
}
|
||||
|
||||
protected function getEditorURI() {
|
||||
return '/harbormaster/step/edit/';
|
||||
}
|
||||
|
||||
protected function getObjectCreateCancelURI($object) {
|
||||
return '/harbormaster/step/';
|
||||
}
|
||||
|
||||
protected function getObjectViewURI($object) {
|
||||
$id = $object->getID();
|
||||
return "/harbormaster/step/{$id}/";
|
||||
}
|
||||
|
||||
protected function buildCustomEditFields($object) {
|
||||
$fields = array();
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue