Page MenuHomePhabricator

D7708.id17410.diff

D7708.id17410.diff

diff --git a/src/applications/harbormaster/controller/HarbormasterPlanViewController.php b/src/applications/harbormaster/controller/HarbormasterPlanViewController.php
--- a/src/applications/harbormaster/controller/HarbormasterPlanViewController.php
+++ b/src/applications/harbormaster/controller/HarbormasterPlanViewController.php
@@ -86,7 +86,29 @@
$step_list = id(new PHUIObjectItemListView())
->setUser($viewer);
foreach ($steps as $step) {
- $implementation = $step->getStepImplementation();
+ $implementation = null;
+ try {
+ $implementation = $step->getStepImplementation();
+ } catch (Exception $ex) {
+ // We can't initialize the implementation. This might be because
+ // it's been renamed or no longer exists.
+ $item = id(new PHUIObjectItemView())
+ ->setObjectName("Step ".$i++)
+ ->setHeader(pht('Unknown Implementation'))
+ ->setBarColor('red')
+ ->addAttribute(pht('This step is not configured correctly.'))
+ ->addAction(
+ id(new PHUIListItemView())
+ ->setIcon('delete')
+ ->addSigil('harbormaster-build-step-delete')
+ ->setWorkflow(true)
+ ->setRenderNameAsTooltip(true)
+ ->setName(pht("Delete"))
+ ->setHref(
+ $this->getApplicationURI("step/delete/".$step->getID()."/")));
+ $step_list->addItem($item);
+ continue;
+ }
$item = id(new PHUIObjectItemView())
->setObjectName("Step ".$i++)
->setHeader($implementation->getName());

File Metadata

Mime Type
text/x-diff
Storage Engine
amazon-s3
Storage Format
Raw Data
Storage Handle
phabricator/vk/6a/5bq572a4mkqpsc2b
Default Alt Text
D7708.id17410.diff (1 KB)

Event Timeline