/**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Expenses();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Expenses'])) {
         $model->attributes = $_POST['Expenses'];
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model));
 }
 /**
  * Creates a new model.
  * @return create view
  */
 public function actionCreate()
 {
     // check if user has permissions to createExpenses
     if (Yii::app()->user->checkAccess('createExpenses')) {
         // create Expenses object model
         $model = new Expenses();
         // if Expenses form exist
         if (isset($_POST['Expenses'])) {
             // set form elements to Expenses model attributes
             $model->attributes = $_POST['Expenses'];
             $model->project_id = Yii::app()->user->getState('project_selected');
             $model->status_id = Status::STATUS_PENDING;
             // validate and save
             if ($model->save()) {
                 // save log
                 $attributes = array('log_date' => date("Y-m-d G:i:s"), 'log_activity' => 'ExpenseCreated', 'log_resourceid' => $model->primaryKey, 'log_type' => Logs::LOG_CREATED, 'user_id' => Yii::app()->user->id, 'module_id' => Yii::app()->controller->id, 'project_id' => $model->project_id);
                 Logs::model()->saveLog($attributes);
                 $project = Projects::model()->findByPk(Yii::app()->user->getState('project_selected'));
                 // send an email to projects managers only
                 $recipientsList = array();
                 $ProjectManagers = Projects::model()->findManagersByProject($project->project_id);
                 $managersArray = array();
                 foreach ($ProjectManagers as $manager) {
                     $managersArray['email'] = $manager->user_email;
                     $managersArray['name'] = $manager->CompleteName;
                     array_push($recipientsList, $managersArray);
                 }
                 // prepare template to send via email
                 $str = $this->renderPartial('//templates/expenses/activity', array('model' => $model, 'projectName' => $project->project_name, 'userposted' => Yii::app()->user->CompleteName, 'applicationName' => Yii::app()->name, 'applicationUrl' => Yii::app()->createAbsoluteUrl('expenses/view', array('id' => $model->primaryKey))), true);
                 Yii::import('application.extensions.phpMailer.yiiPhpMailer');
                 $mailer = new yiiPhpMailer();
                 $subject = Yii::t('email', 'ExpenseCreated') . " - " . $project->project_name;
                 $mailer->pushMail($subject, $str, $recipientsList, Emails::PRIORITY_NORMAL);
                 // to prevent F5 keypress, redirect to create page
                 $this->redirect(array('view', 'id' => $model->expense_id));
             }
         }
         $this->render('create', array('expense' => $model));
     } else {
         throw new CHttpException(403, Yii::t('site', '403_Error'));
     }
 }