/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new Courses(); $model_1 = new Batches(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Courses'])) { $model_1->attributes = $_POST['Batches']; $model->attributes = $_POST['Courses']; $model->validate(); if ($model_1->validate()) { if ($model->save()) { $list = $_POST['Batches']; if (!$list['start_date']) { $s_d = ""; } else { $s_d = date('Y-m-d', strtotime($list['start_date'])); } if (!$list['end_date']) { $e_d = ""; } else { $e_d = date('Y-m-d', strtotime($list['end_date'])); } $model_1->course_id = Yii::app()->db->getLastInsertId(); $model_1->start_date = $s_d; $model_1->end_date = $e_d; $model_1->save(); $this->redirect(array('/courses')); } } } $this->render('create', array('model' => $model, 'model_1' => $model_1)); }
/** * This function performs the validation work for complex object models. * * In addition to checking the current object, all related objects will * also be validated. If all pass then <code>true</code> is returned; otherwise * an aggreagated array of ValidationFailed objects will be returned. * * @param array $columns Array of column names to validate. * @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise. */ protected function doValidate($columns = null) { if (!$this->alreadyInValidation) { $this->alreadyInValidation = true; $retval = null; $failureMap = array(); // We call the validate method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aUser !== null) { if (!$this->aUser->validate($columns)) { $failureMap = array_merge($failureMap, $this->aUser->getValidationFailures()); } } if ($this->aCategory !== null) { if (!$this->aCategory->validate($columns)) { $failureMap = array_merge($failureMap, $this->aCategory->getValidationFailures()); } } if ($this->aCourses !== null) { if (!$this->aCourses->validate($columns)) { $failureMap = array_merge($failureMap, $this->aCourses->getValidationFailures()); } } if (($retval = UserQuestionTagPeer::doValidate($this, $columns)) !== true) { $failureMap = array_merge($failureMap, $retval); } $this->alreadyInValidation = false; } return !empty($failureMap) ? $failureMap : true; }
public function actionAddDegreeGroup() { //INSERIRE INFO DI UNIVERSITà E CDL if ($_POST['ExamGroup']['courses_id'] != '') { $group = ExamGroup::model()->findByPk($_POST['DegreeGroup']['cid']); } else { $group = DegreeGroup::model()->findByPk($_POST['DegreeGroup']['cid']); } if (!isset($group)) { $course = new Courses(); if ($_POST['ExamGroup']['courses_id'] != '' && !is_numeric($_POST['ExamGroup']['courses_id'])) { $max_id = Courses::model()->find(array('order' => 'cid DESC')); $course->name = $_POST['ExamGroup']['courses_id']; $course->degree_id = $_SESSION['did']; $course->cid = $max_id->cid + 1; $course->validate(); $course->save(); } else { $course->cid = $_POST['ExamGroup']['courses_id']; } if ($_POST['ExamGroup']['courses_id'] != '') { $group = new ExamGroup(); $group->eid = $_POST['DegreeGroup']['cid']; $group->courses_id = $course->cid; $group->degree_id = $_SESSION['did']; } else { $group = new DegreeGroup(); $group->cid = $_POST['DegreeGroup']['cid']; $group->degree_id = $_SESSION['did']; } $group->validate(); $group->save(); } }