public function actionFilterOptions($kurs, $attribute) { Yii::$app->response->format = Response::FORMAT_JSON; $kursRecord = Kurs::findOne($kurs); if (!$kursRecord) { throw new NotFoundHttpException(); } switch ($attribute) { case 'podrazdel': return $this->getUnusedPodrazdely($kursRecord); case 'prepodavatel_fiz_lico': return $this->getPrepodavateliFromUnusedTemy($kursRecord); case 'prepodavatel_strukturnoe_podrazdelenie': return $this->getStrukturnyePodrazdeleniyaFromUnusedTemy($kursRecord); case 'nedelya': return $this->getNedeliFromUnusedTemy($kursRecord); } return []; }
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); }