Example #1
0
 /**
  *
  *  Сохраняет код решения для нужного задания
  *  Если студент не задан, то сохраняем для залогинившегося пользователя
  *
  **/
 public function actionSave($id, $status = null, $student = null)
 {
     // Если студент не задан, то сохраняет для залогинившегося
     if (!isset($student)) {
         $student = $_SESSION['user'];
     }
     $task = Tasks::model()->findByPk($id);
     if ($solution = Solutions::model()->findByAttributes(array("task" => $id, "student" => $student))) {
     } else {
         $solution = new Solutions();
         $solution->student = $student;
         $solution->status = "check";
         $solution->task = $id;
     }
     // обновляем количество полученных поинтов
     $solution->earned = $task->points;
     $solution->course = $task->course;
     $solution->status = "check";
     // запоминаем каждое добавленное значение в решении
     foreach ($_REQUEST['Solutions'] as $key => $value) {
         $solution->{$key} = $value;
     }
     // если был задан статус – добавляем статус
     if (isset($status)) {
         $solution->status = $status;
     }
     if ($solution->save()) {
         Yii::app()->notify->add(" Изменения сохранены", "success");
     } else {
         Yii::app()->notify->add(" Не удалось сохранить изменения", "danger");
         print_r($solution->getErrors());
     }
 }