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')); }
/** * 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]); }
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); }
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()]; }
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(); }