Path: blob/master/src/applications/nuance/controller/NuanceSourceEditController.php
12256 views
<?php12final class NuanceSourceEditController3extends NuanceSourceController {45public function handleRequest(AphrontRequest $request) {6$engine = id(new NuanceSourceEditEngine())7->setController($this);89$id = $request->getURIData('id');10if (!$id) {11$this->requireApplicationCapability(12NuanceSourceManageCapability::CAPABILITY);1314$cancel_uri = $this->getApplicationURI('source/');15$map = NuanceSourceDefinition::getAllDefinitions();16$source_type = $request->getStr('sourceType');17if (!isset($map[$source_type])) {18return $this->buildSourceTypeResponse($cancel_uri);19}2021$engine22->setSourceDefinition($map[$source_type])23->addContextParameter('sourceType', $source_type);24}2526return $engine->buildResponse();27}2829private function buildSourceTypeResponse($cancel_uri) {30$viewer = $this->getViewer();31$request = $this->getRequest();32$map = NuanceSourceDefinition::getAllDefinitions();3334$errors = array();35$e_source = null;36if ($request->isFormPost()) {37$errors[] = pht('You must choose a source type.');38$e_source = pht('Required');39}4041$source_types = id(new AphrontFormRadioButtonControl())42->setName('sourceType')43->setLabel(pht('Source Type'));4445foreach ($map as $type => $definition) {46$source_types->addButton(47$type,48$definition->getName(),49$definition->getSourceDescription());50}5152$form = id(new AphrontFormView())53->setUser($viewer)54->appendChild($source_types)55->appendChild(56id(new AphrontFormSubmitControl())57->setValue(pht('Continue'))58->addCancelButton($cancel_uri));5960$box = id(new PHUIObjectBoxView())61->setFormErrors($errors)62->setHeaderText(pht('Choose Source Type'))63->appendChild($form);6465$crumbs = $this->buildApplicationCrumbs();66$crumbs->addTextCrumb(pht('Sources'), $cancel_uri);67$crumbs->addTextCrumb(pht('New'));6869return $this->newPage()70->setTitle(pht('Choose Source Type'))71->setCrumbs($crumbs)72->appendChild($box);73}7475}767778