Differential D17326 Diff 41682 src/applications/dashboard/controller/PhabricatorDashboardCopyController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/dashboard/controller/PhabricatorDashboardCopyController.php
Show All 10 Lines | $dashboard = id(new PhabricatorDashboardQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withIDs(array($id)) | ->withIDs(array($id)) | ||||
->needPanels(true) | ->needPanels(true) | ||||
->executeOne(); | ->executeOne(); | ||||
if (!$dashboard) { | if (!$dashboard) { | ||||
return new Aphront404Response(); | return new Aphront404Response(); | ||||
} | } | ||||
$manage_uri = $this->getApplicationURI('manage/'.$dashboard->getID().'/'); | $cancel_uri = $this->getApplicationURI('manage/'.$dashboard->getID().'/'); | ||||
if ($request->isFormPost()) { | if ($request->isFormPost()) { | ||||
$copy = PhabricatorDashboard::initializeNewDashboard($viewer); | $copy = PhabricatorDashboard::initializeNewDashboard($viewer); | ||||
$copy = PhabricatorDashboard::copyDashboard($copy, $dashboard); | $copy = PhabricatorDashboard::copyDashboard($copy, $dashboard); | ||||
$copy->setName(pht('Copy of %s', $copy->getName())); | $copy->setName(pht('Copy of %s', $copy->getName())); | ||||
Show All 12 Lines | if ($request->isFormPost()) { | ||||
$editor = id(new PhabricatorDashboardTransactionEditor()) | $editor = id(new PhabricatorDashboardTransactionEditor()) | ||||
->setActor($viewer) | ->setActor($viewer) | ||||
->setContentSourceFromRequest($request) | ->setContentSourceFromRequest($request) | ||||
->setContinueOnMissingFields(true) | ->setContinueOnMissingFields(true) | ||||
->setContinueOnNoEffect(true) | ->setContinueOnNoEffect(true) | ||||
->applyTransactions($copy, $xactions); | ->applyTransactions($copy, $xactions); | ||||
$manage_uri = $this->getApplicationURI('edit/'.$copy->getID().'/'); | $cancel_uri = $this->getApplicationURI('edit/'.$copy->getID().'/'); | ||||
return id(new AphrontRedirectResponse())->setURI($manage_uri); | return id(new AphrontRedirectResponse())->setURI($cancel_uri); | ||||
} | } | ||||
return $this->newDialog() | return $this->newDialog() | ||||
->setTitle(pht('Copy Dashboard')) | ->setTitle(pht('Copy Dashboard')) | ||||
->appendParagraph( | ->appendParagraph( | ||||
pht( | pht( | ||||
'Create a copy of the dashboard "%s"?', | 'Create a copy of the dashboard "%s"?', | ||||
phutil_tag('strong', array(), $dashboard->getName()))) | phutil_tag('strong', array(), $dashboard->getName()))) | ||||
->addCancelButton($manage_uri) | ->addCancelButton($cancel_uri) | ||||
->addSubmitButton(pht('Create Copy')); | ->addSubmitButton(pht('Create Copy')); | ||||
} | } | ||||
} | } |