Пример #1
1
 public function actionIndex()
 {
     $prepodavateli = FizLico::findPrepodavateli()->select('fiz_lico.id, familiya, imya, otchestvo')->orderBy('familiya, imya, otchestvo')->listItems(function ($fizLico) {
         return Yii::$app->formatter->asFizLico($fizLico);
     });
     $years = Kurs::find()->select(['god' => 'extract(year from [[plan_prospekt_god]])'])->groupBy('plan_prospekt_god')->orderBy('god')->listItems('god', 'god');
     return $this->render('index', compact('prepodavateli', 'years'));
 }
Пример #2
0
 /**
  * Index action
  *
  * @param integer $kurs
  * @return string
  * @throws BadRequestHttpException
  * @throws NotFoundHttpException
  */
 public function actionIndex($kurs)
 {
     $kursForm = $this->findKursForm($kurs);
     $kursForm->ensureRaspisanieDates();
     $kursRecord = clone $kursForm;
     if ($kursForm->load(Yii::$app->request->post()) && $kursForm->save()) {
         $kursRecord = $kursForm;
     }
     $gridData = new DayData(['kurs' => $kursRecord]);
     $prepodavateli = ArrayHelper::merge(['' => ''], FizLico::findPrepodavateli()->select('fiz_lico.id, familiya, imya, otchestvo')->orderBy('familiya, imya, otchestvo')->listItems(function ($fizLico) {
         return Yii::$app->formatter->asFizLico($fizLico);
     }));
     $auditorii = ArrayHelper::merge(['' => ''], Auditoriya::find()->listItems());
     return $this->render('index', ['gridData' => $gridData, 'kursForm' => $kursForm, 'kursRecord' => $kursRecord, 'auditorii' => $auditorii, 'prepodavateli' => $prepodavateli]);
 }
Пример #3
0
 public function actionSendToUo()
 {
     $kurs = null;
     if (isset($_GET['kurs'])) {
         $kurs = $_GET['kurs'];
     } else {
         throw new \HttpRequestException('kurs get parameter is required');
     }
     $kursRecord = Kurs::findOne($kurs);
     if (!$kursRecord) {
         throw new ErrorException('kurs wirh id ' . $kurs . ' doesn`t exist');
     }
     $kursRecord->data_otpravki_v_uo = date('m/d/Y h:i:s a', time());
     $kursRecord->save();
     $sql = 'SELECT * FROM fiz_lico
             WHERE id IN (
               SELECT fiz_lico
               FROM polzovatel
               WHERE \'uch_otd\' = ANY (roli)
             ) and fiz_lico.email IS NOT NULL';
     $sotrudnikEmails = FizLico::findBySql($sql)->all();
     foreach ($sotrudnikEmails as $sotrudnikEmail) {
         \Yii::$app->mailer->compose('/email/v-uo.php', ['sotrudnik' => $sotrudnikEmail, 'kurs' => $kursRecord])->setSubject('Расписание курса "' . $kursRecord->nazvanie . '" готово к проверке')->setTo($sotrudnikEmail->email)->send();
     }
     $_SESSION['success_msg'] = 'Курс успешно отправлен в учебныйотдел';
     return $this->redirect('/upravlenie-kursami/raspisanie/zanyatie?kurs=' . $kursRecord->id);
 }
Пример #4
0
 public function init()
 {
     parent::init();
     $this->modules = ['raspisanie' => RaspisanieModule::className(), 'potok' => PotokModule::className()];
     $this->activeRelationMap = [\app\records\FizLico::className() => FizLico::className(), \app\records\Kurs::className() => Kurs::className(), \app\records\RabotaFizLica::className() => RabotaFizLica::className()];
 }
Пример #5
0
 public function getPrepodavateli_from_unused_temy()
 {
     $prepodavateliIds = ArrayHelper::getColumn($this->getTemy_with_unused_chasti(), 'prepodavatel_fiz_lico');
     $prepodavateliIds = array_filter(array_unique($prepodavateliIds));
     return FizLico::find()->where(['id' => $prepodavateliIds])->all();
 }