/**
  * 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'));
     }
 }