예제 #1
0
 /**
  * Zisti ci dotycna osoba vyucuje dany predmet v danej roli
  * @param int $pedagogID - id pedagoga
  * @param int $predmetID - id rpedmetu
  * @param String $rola - kod roli
  * @param String $akcia - popis akcie tkoru chce vykonat nad predmetom (aktualne see alebo edit)
  * @return boolean - true ak vyucuje predmet, inakk false
  */
 private function __vyucujePredmet($pedagogID, $predmetID, $rola, $akcia)
 {
     $vyucuje = $this->courses->vyucujePredmet($pedagogID, $predmetID, $rola);
     if (!$vyucuje) {
         $subject = Subjects::getSubjectInfo($predmetID);
         $this->controller->log("Pokus o akciu `{$akcia}` neprideleného predmetu `{$subject}` v roli `{$rola}`");
         $this->controller->flash("Tento predmet vám nebol pridelený.", "error");
     }
     return $vyucuje;
 }
예제 #2
0
 public function save()
 {
     try {
         $this->bind($this->requirements);
         $courseID = $this->requirements->course_id;
         // ak ho nevyucuje nepovoli mu zadat
         if (!$this->canEdit($courseID, "Pract", $this->redirect)) {
             return;
         }
         $lock = $this->session->read($this->getLockName($courseID));
         $this->requirements->save($this->getUserID(), $lock);
         $courseInfo = Subjects::getSubjectInfo($courseID);
         //odoslat notifikaciu
         $this->notificator->sendRequirementChangedMsg("pract/requirements/edit/", $courseID, "Pract");
         $this->log("Vloženie novej požiadavky cvičiaceho na predmet `{$courseInfo}`");
         $this->flash('Požiadavky uložené.', 'info');
         $this->redirect('pract/requirements/index');
     } catch (dataValidationException $ex) {
         // tak treba nacitat data ako pri add
         // BACHA: ak sa zrube validacia do $courseID = sa NEVYKONA !
         $this->__getCommonData($this->requirements->course_id);
         // nastavi iba validne data !
         $this->set("requirement", $ex->checked["requirement"]);
         // nastavi ci bola poziadavka preberana alebo nie
         $this->set("poziadavka_prebrata", $this->requirements->poziadavka_prebrata);
         // nezabudnut nastavit aj ID aby vedel robit kontroly kolizii
         $this->set("actualMetaID", $this->requirements->previousMetaID);
     } catch (RequestModified $ex) {
         // toto sa zrube uz pri save takze $courseID mame
         $hlaska = "Požiadavka bola zmenená iným používateľom.<br/>";
         $hlaska .= "Kliknutim <a href=\"pract/requirements/edit/{$courseID}\" target=\"_BLANK\">sem</a> si otvorte poslednú verziu požiadavky a upravte tú.";
         $this->flash($hlaska, "error");
         $this->__getCommonData($courseID);
         $this->set("requirement", $this->requirements->requirement);
         $this->set("poziadavka_prebrata", $this->requirements->poziadavka_prebrata);
         // nezabudnut nastavit aj ID aby vedel robit kontroly kolizii
         $this->set("actualMetaID", $this->requirements->previousMetaID);
     }
 }
예제 #3
0
 /**
  * Zabezpeci ulozenie poziadavky. Handluje aj pridanie aj upravu existujucej.
  */
 function save()
 {
     try {
         $crses = new Courses();
         $minule = $crses->getMinulorocne($this->getSemesterID());
         $this->set('minule', $minule);
         $checked = $this->bind($this->requirements);
         if (!$this->canEdit($this->requirements->id, "Garant", $this->redirect)) {
             return;
         }
         $this->requirements->save();
         $courseInfo = Subjects::getSubjectInfo($this->requirements->id);
         //poslat notifikaciu
         $this->notificator->sendCourseAssignedMsg($this->requirements);
         $this->log("Vloženie/editácia garantovej požiadavky na predmet `{$courseInfo}`");
         $this->flash('Požiadavky boli uložené.');
         $this->redirect('garant/requirements/index');
     } catch (dataValidationException $ex) {
         $this->set('requirements', $ex->checked);
         $this->__commonData($this->requirements->id);
     }
 }
예제 #4
0
 public function sendChatChangedMsg($comments, $urlPart, $role)
 {
     $userChangedChat = $this->controller->session->read("name");
     $courseID = $comments->course_id;
     $courseInfo = Subjects::getSubjectInfo($courseID);
     $default = array('DATE' => date("d.m.Y H:i", time()), 'COURSE' => $courseInfo, 'USER_CHANGED_CHAT' => $userChangedChat, 'REQUIREMENT' => $comments->metaID, 'LAST_COMMENT' => nl2br($comments->commentText), 'URL' => BASE_URL . "/{$urlPart}/{$courseID}#komentare");
     $message = $this->__createTemplate("messages/chatChanged.tpl", $default);
     $toList = $this->__unify($this->maily->getListForComments($courseID, $role));
     $subject_part = $role == "Pract" ? "k cvičeniu" : "k prednáške";
     $ref = $this->__createRef("requirement.{$role}.chat", $courseID);
     $this->sendNotifyMessage($toList, $message, "[{$courseInfo}] zmenený komentár {$subject_part}", $ref);
 }