Path: blob/master/src/applications/dashboard/install/PhabricatorDashboardPortalInstallWorkflow.php
12242 views
<?php12final class PhabricatorDashboardPortalInstallWorkflow3extends PhabricatorDashboardObjectInstallWorkflow {45const WORKFLOWKEY = 'portal';67public function getOrder() {8return 2000;9}1011protected function newWorkflowMenuItem() {12return $this->newMenuItem()13->setHeader(pht('Add to Portal Menu'))14->setImageIcon('fa-compass')15->addAttribute(16pht('Add this dashboard to the menu on a portal.'));17}1819protected function newProfileEngine() {20return new PhabricatorDashboardPortalProfileMenuEngine();21}2223protected function newQuery() {24return new PhabricatorDashboardPortalQuery();25}2627protected function newConfirmDialog($object) {28return $this->newDialog()29->setTitle(pht('Add Dashboard to Portal Menu'))30->appendParagraph(31pht(32'Add the dashboard %s to portal %s?',33$this->getDashboardDisplayName(),34phutil_tag('strong', array(), $object->getName())))35->addSubmitButton(pht('Add to Portal'));36}37protected function newObjectSelectionForm($object) {38$viewer = $this->getViewer();3940if ($object) {41$tokenizer_value = array($object->getPHID());42} else {43$tokenizer_value = array();44}4546return id(new AphrontFormView())47->setViewer($viewer)48->appendInstructions(49pht(50'Select which portal you want to add the dashboard %s to.',51$this->getDashboardDisplayName()))52->appendControl(53id(new AphrontFormTokenizerControl())54->setName('target')55->setLimit(1)56->setLabel(pht('Add to Portal'))57->setValue($tokenizer_value)58->setDatasource(new PhabricatorDashboardPortalDatasource()));59}6061}626364