/** * Creates a new model. * @return create view */ public function actionCreate() { // check if user has permissions to createCompanies if (Yii::app()->user->checkAccess('createCompanies')) { // object models $model = new Companies(); $address = new Address(); // if Companies form exist and was sent if (isset($_POST['Companies'])) { $model->attributes = $_POST['Companies']; $address->attributes = $_POST['Address']; // validate models $valid = $address->validate(); $valid = $model->validate() && $valid; // validation results if ($valid) { // save address $address->save(false); $model->address_id = $address->primaryKey; // save company model if ($model->save(false)) { // create object relation and save $companiesHasUsers = new CompaniesHasUsers(); $companiesHasUsers->company_id = $model->company_id; $companiesHasUsers->user_id = Yii::app()->user->id; if ($companiesHasUsers->save(false)) { // save log $attributes = array('log_date' => date("Y-m-d G:i:s"), 'log_activity' => 'CompanyCreated', 'log_resourceid' => $model->primaryKey, 'log_type' => Logs::LOG_CREATED, 'user_id' => Yii::app()->user->id, 'module_id' => Yii::app()->controller->id); Logs::model()->saveLog($attributes); // to prevent F5 keypress, redirect to view detail page $this->redirect(array('view', 'id' => $model->company_id)); } } } } $this->render('create', array('model' => $model, 'address' => $address)); } else { throw new CHttpException(403, Yii::t('site', '403_Error')); } }