Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * 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);
 }
Пример #3
0
 /**
  * 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);
 }
Пример #5
0
 public function testNullFail()
 {
     $this->setExpectedException("InvalidArgumentException");
     $x = null;
     Preconditions::checkNotNull($x, "name");
 }
Пример #6
0
 /**
  * @param CosignServiceCookie $cookie
  * @returns AIS2Login
  */
 public function newLoginUsingCookie(CosignServiceCookie $cookie)
 {
     Preconditions::checkNotNull($cookie, 'cookie');
     return new TwoPhaseLogin(new CosignCookieLogin($cookie), new AIS2LoginImpl());
 }
Пример #7
0
 /**
  * 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;
 }
Пример #8
0
 public function __construct(CosignServiceCookie $cookie)
 {
     Preconditions::checkNotNull($cookie, 'cookie');
     $this->cookie = $cookie;
 }