@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
at recaptime-dev/main 107 lines 2.4 kB view raw
1<?php 2 3final class HarbormasterBuildStepEditEngine 4 extends PhabricatorEditEngine { 5 6 const ENGINECONST = 'harbormaster.buildstep'; 7 8 private $buildPlan; 9 10 public function setBuildPlan(HarbormasterBuildPlan $build_plan) { 11 $this->buildPlan = $build_plan; 12 return $this; 13 } 14 15 public function getBuildPlan() { 16 if ($this->buildPlan === null) { 17 throw new PhutilInvalidStateException('setBuildPlan'); 18 } 19 20 return $this->buildPlan; 21 } 22 23 public function isEngineConfigurable() { 24 return false; 25 } 26 27 public function getEngineName() { 28 return pht('Harbormaster Build Steps'); 29 } 30 31 public function getSummaryHeader() { 32 return pht('Edit Harbormaster Build Step Configurations'); 33 } 34 35 public function getSummaryText() { 36 return pht('This engine is used to edit Harbormaster build steps.'); 37 } 38 39 public function getEngineApplicationClass() { 40 return PhabricatorHarbormasterApplication::class; 41 } 42 43 protected function newEditableObject() { 44 $viewer = $this->getViewer(); 45 46 47 $plan = HarbormasterBuildPlan::initializeNewBuildPlan($viewer); 48 $this->setBuildPlan($plan); 49 50 $plan = $this->getBuildPlan(); 51 52 $step = HarbormasterBuildStep::initializeNewStep($viewer); 53 54 $step->setBuildPlanPHID($plan->getPHID()); 55 $step->attachBuildPlan($plan); 56 57 return $step; 58 } 59 60 protected function newObjectQuery() { 61 return new HarbormasterBuildStepQuery(); 62 } 63 64 protected function getObjectCreateTitleText($object) { 65 return pht('Create Build Step'); 66 } 67 68 protected function getObjectCreateButtonText($object) { 69 return pht('Create Build Step'); 70 } 71 72 protected function getObjectEditTitleText($object) { 73 return pht('Edit Build Step: %s', $object->getName()); 74 } 75 76 protected function getObjectEditShortText($object) { 77 return pht('Edit Build Step'); 78 } 79 80 protected function getObjectCreateShortText() { 81 return pht('Create Build Step'); 82 } 83 84 protected function getObjectName() { 85 return pht('Build Step'); 86 } 87 88 protected function getEditorURI() { 89 return '/harbormaster/step/edit/'; 90 } 91 92 protected function getObjectCreateCancelURI($object) { 93 return '/harbormaster/step/'; 94 } 95 96 protected function getObjectViewURI($object) { 97 $id = $object->getID(); 98 return "/harbormaster/step/{$id}/"; 99 } 100 101 protected function buildCustomEditFields($object) { 102 $fields = array(); 103 104 return $fields; 105 } 106 107}