예제 #1
0
 /**
  * Специальность, к которой вопрос
  *
  * @return CTerm
  */
 public function getSpeciality()
 {
     if (is_null($this->_speciality)) {
         $this->_speciality = CTaxonomyManager::getCacheSpecialities()->getItem($this->getRecord()->getItemValue("speciality_id"));
     }
     return $this->_speciality;
 }
 public function actionWizardCompleted()
 {
     $speciality = CTaxonomyManager::getCacheSpecialities()->getItem(CRequest::getInt("speciality_id"));
     $year = CTaxonomyManager::getCacheYears()->getItem(CRequest::getInt("year_id"));
     $protocol = CProtocolManager::getDepProtocol(CRequest::getInt("protocol_id"));
     $signer = CStaffManager::getPersonById(CRequest::getInt("signer_id"));
     $disciplines = new CArrayList();
     foreach (CRequest::getArray("discipline") as $i) {
         $disciplines->add($disciplines->getCount(), CDisciplinesManager::getDiscipline($i));
     }
     // бегаем по циклу столько раз, сколько нам билетов нужно
     for ($i = 1; $i <= CRequest::getInt("count"); $i++) {
         $ticket = CFactory::createSebTicket();
         $ticket->setSpeciality($speciality);
         $ticket->setYear($year);
         $ticket->setProtocol($protocol);
         $ticket->setSigner($signer);
         $ticket->setNumber($i);
         foreach ($disciplines->getItems() as $disc) {
             if ($disc->getQuestions()->getCount() == 0) {
                 break;
             }
             $question = $disc->getQuestions()->getShuffled()->getFirstItem();
             $disc->getQuestions()->removeItem($question->getId());
             $ticket->addQuestion($question);
         }
         $ticket->save();
     }
     $this->redirect("?action=index");
 }
 public function actionSave()
 {
     if (CRequest::getInt("id") == 0) {
         $q = CFactory::createSebQuestion();
     } else {
         $q = CSEBQuestionsManager::getQuestion(CRequest::getInt("id"));
     }
     $discipline = CTaxonomyManager::getCacheDisciplines()->getItem(CRequest::getInt("discipline_id"));
     $speciality = CTaxonomyManager::getCacheSpecialities()->getItem(CRequest::getInt("speciality_id"));
     $q->setDiscipline($discipline);
     $q->setSpeciality($speciality);
     $q->setText(CRequest::getString("question"));
     $q->save();
     $this->redirect("?action=index");
 }