/** * Generate a page content * @param Response $response response data to use to generate output * @return string Generated output to be sent to the browser */ public function display(Response $response) { Preconditions::checkNotNull($response->getTemplate(), "Template not set"); $templateName = 'pages/' . $response->getTemplate() . '.xhtml'; $template = $this->twig->loadTemplate($templateName); $output = $template->render($response->getData()); return $output; }
/** * Invoke an action given its name * * This function requests information necessary to operate on * VSES017 AIS application * * @param Trace $trace trace object * @param string $action action name * @param Context $context fajr context */ public function invokeAction(Trace $trace, $action, Context $context) { Preconditions::checkIsString($action); $request = $context->getRequest(); $response = $context->getResponse(); $session = $context->getSessionStorage(); Preconditions::checkNotNull($request); Preconditions::checkNotNull($response); Preconditions::checkNotNull($session); // check access to application $apps = $session->read('ais/aisApps'); if (!is_array($apps)) { throw new Exception("Interná chyba - zoznam AIS aplikácii je nekorektný."); } if (!in_array(AIS2ApplicationEnum::ADMINISTRACIA_STUDIA, $apps)) { $response->setTemplate('studium/notAvailable'); return; } $screenFactory = $this->factory; $adminStudia = $screenFactory->newAdministraciaStudiaScreen($trace); $this->administraciaStudiaScreen = $adminStudia; $this->studium = $request->getParameter('studium', '0'); $this->zoznamStudii = $adminStudia->getZoznamStudii($trace->addChild("Get Zoznam Studii:")); $this->zapisneListy = $adminStudia->getZapisneListy($trace->addChild('getZapisneListy'), $this->studium); FajrUtils::warnWrongTableStructure($trace, $response, 'zoznam studii', regression\ZoznamStudiiRegression::get(), $this->zoznamStudii->getTableDefinition()); FajrUtils::warnWrongTableStructure($trace, $response, 'zoznam zapisnych listov', regression\ZoznamZapisnychListovRegression::get(), $this->zapisneListy->getTableDefinition()); $zapisneListyData = $this->zapisneListy->getData(); if (count($zapisneListyData) == 0) { $this->zapisnyList = null; $this->terminyHodnoteniaScreen = null; $this->hodnoteniaScreen = null; } else { $this->zapisnyList = $request->getParameter('list'); if ($this->zapisnyList === '') { $lastList = end($zapisneListyData); $this->zapisnyList = $lastList['index']; } $this->terminyHodnoteniaScreen = $screenFactory->newTerminyHodnoteniaScreen($trace, $adminStudia->getZapisnyListIdFromZapisnyListIndex($trace, $this->zapisnyList, VSES017\AdministraciaStudiaScreen::ACTION_TERMINY_HODNOTENIA), $adminStudia->getStudiumIdFromZapisnyListIndex($trace, $this->zapisnyList, VSES017\AdministraciaStudiaScreen::ACTION_TERMINY_HODNOTENIA)); // FIXME: chceme to nejak refaktorovat, aby sme nevytvarali zbytocne // objekty, ktore v konstruktore robia requesty $this->hodnoteniaScreen = $screenFactory->newHodnoteniaPriemeryScreen($trace, $adminStudia->getZapisnyListIdFromZapisnyListIndex($trace, $this->zapisnyList, VSES017\AdministraciaStudiaScreen::ACTION_HODNOTENIA_PRIEMERY)); } $response->set('zoznamStudii', $this->zoznamStudii); $response->set('studium', $this->studium); $response->set('zapisneListy', $this->zapisneListy); $response->set('zapisnyList', $this->zapisnyList); if (array_key_exists($action, $this->actionInfo)) { $info = $this->actionInfo[$action]; if ($info['requiresZapisnyList'] && $this->zapisnyList == null) { $response->set('activeTab', $info['tabName']); $response->setTemplate('studium/chybaZapisnyList'); return; } } parent::invokeAction($trace, $action, $context); }
/** * Generate a page content * * @param Response $response response data to use to generate output * * @returns string Generated output to be sent to the browser */ public function display(Response $response) { Preconditions::checkNotNull($response->getTemplate(), "Template not set"); if ($response->getSkin()) { $skin = $response->getSkin(); } else { $skin = $this->defaultSkin; } $twig = $this->twigFactory->provideTwigForSkin($skin); $templateName = 'pages/' . $response->getTemplate() . '.xhtml'; $template = $twig->loadTemplate($templateName); $output = $template->render($response->getData()); return $output; }
/** * Invoke an action given its name * * This function requests information necessary to operate on * VSST060 AIS application * * @param Trace $trace trace object * @param string $action action name * @param Context $context fajr context */ public function invokeAction(Trace $trace, $action, Context $context) { Preconditions::checkIsString($action); $request = $context->getRequest(); $response = $context->getResponse(); $session = $context->getSessionStorage(); Preconditions::checkNotNull($request); Preconditions::checkNotNull($response); Preconditions::checkNotNull($session); // check access to application $apps = $session->read('ais/aisApps'); if (!is_array($apps)) { throw new Exception("Interná chyba - zoznam AIS aplikácii je nekorektný."); } if (!in_array(AIS2ApplicationEnum::REGISTER_PREDMETOV, $apps)) { $response->setTemplate('predmety/notAvailable'); return; } $screenFactory = $this->factory; $register = $screenFactory->newRegisterPredmetovScreen($trace); $this->registerPredmetovScreen = $register; parent::invokeAction($trace, $action, $context); }
public function testNullFail() { $this->setExpectedException("InvalidArgumentException"); $x = null; Preconditions::checkNotNull($x, "name"); }
/** * @param CosignServiceCookie $cookie * @returns AIS2Login */ public function newLoginUsingCookie(CosignServiceCookie $cookie) { Preconditions::checkNotNull($cookie, 'cookie'); return new TwoPhaseLogin(new CosignCookieLogin($cookie), new AIS2LoginImpl()); }
/** * Return the full url for the specified path. * * @param string $path path to page * * @returns string fully qualified url. */ private function _getUrl($path) { Preconditions::checkNotNull($path, "url path shouldn't be null."); Preconditions::checkIsString($path, "url path should be string."); return self::PROTOCOL . $this->serverName . '/' . $path; }
public function __construct(CosignServiceCookie $cookie) { Preconditions::checkNotNull($cookie, 'cookie'); $this->cookie = $cookie; }