/** * Updates an existing GivenTask model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionGive() { $result = -1; if (Yii::$app->request->post()) { $result = GivenTask::createGivenTask(Yii::$app->request->post()); if ($result) { return $this->redirect(Yii::$app->request->referrer); } } $model = new GivenTask(); $model->status = 0; if ($model->load(Yii::$app->request->post()) && $model->save()) { } else { if (isset(Yii::$app->request->post()['dropdown'])) { $drop = Yii::$app->request->post()['dropdown']; } else { $drop = 0; } if (isset(Yii::$app->request->post()['exersices'])) { return $this->renderAjax('give', ['model' => $model]); } return $this->renderAjax('give', ['model' => $model]); } }
public static function createGivenTask($post) { if (isset($post['exersices']) && isset($post['students']) && isset($post['discipline']) && isset($post['task'])) { $exersices = $post['exersices']; $students = $post['students']; $discipline = $post['discipline']; $teacher = Yii::$app->user->identity->teacher->id; $task = $post['task']; $deadline = 0; if (isset($post['deadline_date'])) { $deadline = Yii::$app->formatter->asTimestamp($post['deadline_date']); } $given_date = date('U'); if (isset($post['given_date'])) { $given_date = Yii::$app->formatter->asTimestamp($post['given_date']); } $group_key = md5($given_date); $noerror = true; foreach ($students as $student) { $model = new GivenTask(); $model->given_date = $given_date; $model->student_id = $student; $model->teacher_id = $teacher; $model->ghd_id = $discipline; $model->task_id = $task; $model->deadline_date = $deadline; $model->group_key = $group_key; if ($model->save()) { foreach ($exersices as $exersice) { $eModel = new GivenExercise(); $eModel->exercise_id = $exersice; $eModel->given_task_id = $model->getPrimaryKey(); $eModel->save(); } } else { $noerror = false; } } return $noerror; } else { return false; } }