public function actionAdd($id = 0) { if (!empty($id)) { $Insurance = Insurance::model()->findByPk($id); if (!Yii::app()->user->checkAccess('admin') && ((Yii::app()->getUser()->getProfile()->modules->head != UserModules::DIRECTOR_COMPANY || Yii::app()->user->getProfile()->company_id != $Insurance->user->company_id) && (Yii::app()->getUser()->getProfile()->modules->insurance != '1' || $Insurance->user_id != Yii::app()->user->id) || Yii::app()->getUser()->getProfile()->company->active == '0')) { throw new CHttpException(403); } $Address = $Insurance->address; $ContentManager = null; } else { if (Yii::app()->user->getProfile()->content_manager == '0') { if (!Yii::app()->user->checkAccess('admin') && (Yii::app()->getUser()->getProfile()->modules->head != UserModules::DIRECTOR_COMPANY && Yii::app()->getUser()->getProfile()->modules->insurance != '1' || Yii::app()->getUser()->getProfile()->company->active == '0')) { throw new CHttpException(403); } elseif (!Yii::app()->getUser()->getProfile()->company->validate) { $this->redirect('/complete'); } $ContentManager = null; } else { $ContentManager = new ContentManager(); } $Insurance = new Insurance(); $Address = new Address(); $Address->setscenario('insurance'); } //if(isset($_POST['save'])) { if (!empty($_POST)) { if (!empty($Insurance->address)) { Address::model()->deleteByPk($Insurance->address->address_id); } if (Yii::app()->user->getProfile()->content_manager == '1' && $id == 0) { $ContentManager->setAttributes($_POST['ContentManager'], false); $contentValid = $ContentManager->validate(); } else { $contentValid = true; } $Insurance->setAttributes($_POST['Insurance'], false); $Address->setAttributes($_POST['Address'], false); $valid = $Address->validate(); $valid = $Insurance->validate() && $valid && $contentValid; if ($valid) { if (Yii::app()->user->getProfile()->content_manager == '1' && $id == 0) { $Insurance->user_id = User::createFakeUser($ContentManager); $Insurance->contact_id = $Insurance->user_id; } $Address->save(); $Insurance->address_id = $Address->address_id; $Insurance->save(); $Insurance->autosearch(); // $this->redirect('/insurance'); $this->render('insuranceaddsuccess', ['Insurance' => $Insurance, 'contacts' => User::getContact()]); exit; } } $this->render('add', ['Insurance' => $Insurance, 'Address' => $Address, 'contacts' => User::getContact(), 'ContentManager' => $ContentManager]); }