/
qwazarr
/
EducationalPractice
Обзор
Документация
Войти
/
qwazarr
/
EducationalPractice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
modules/admin/controllers/ScheduleController.php
79 строк
2 KB
qwazarr
'Расписание'
28 июн 2026, 17:12
28 июн 2026, 17:12
9d84635
Код
Авторство
О чём код?
<?php namespace app\modules\admin\controllers; use Yii; use app\models\Schedule; use yii\filters\AccessControl; use yii\filters\VerbFilter; use yii\web\Controller; use yii\web\NotFoundHttpException; class ScheduleController extends Controller { public function behaviors() { return [ 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['POST'], ], ], 'access' => [ 'class' => AccessControl::className(), 'rules' => [ [ 'allow' => true, 'roles' => ['@'], ] ] ] ]; } public function actionBulk() { $models = []; foreach (Schedule::getWeekdays() as $day => $name) { $model = Schedule::findOne(['weekday' => $day]); if (!$model) { $model = new Schedule(); $model->weekday = $day; } $models[$day] = $model; } if (Yii::$app->request->isPost) { $postData = Yii::$app->request->post('Schedule'); if ($postData) { foreach ($postData as $day => $data) { if (isset($models[$day])) { $model = $models[$day]; $model->lesson_1 = $data['lesson_1'] ?? null; $model->lesson_2 = $data['lesson_2'] ?? null; $model->lesson_3 = $data['lesson_3'] ?? null; $model->lesson_4 = $data['lesson_4'] ?? null; $model->lesson_5 = $data['lesson_5'] ?? null; $model->save(); } } Yii::$app->session->setFlash('success', 'Расписание сохранено'); return $this->redirect(['bulk']); } } return $this->render('bulk', [ 'models' => $models, 'weekdays' => Schedule::getWeekdays(), 'lessonNumbers' => [1, 2, 3, 4, 5], ]); } }