Example #1
0
 /**
  * Displays a particular model.
  *
  * @param integer $id the ID of the model to be displayed
  */
 public function actionView($id)
 {
     $model = $this->loadModel($id);
     $status = new CvStatuses();
     // if it is ajax validation request
     if (isset($_POST['ajax']) && $_POST['ajax'] === 'status-form') {
         echo CActiveForm::validate($status);
         Yii::app()->end();
     }
     // collect user input data
     if (isset($_POST['CvStatuses'])) {
         $status->attributes = $_POST['CvStatuses'];
         if ($status->validate() && $status->save()) {
             $log = new Log();
             $log->action = 'add_status_to_user_' . $id;
             $log->save();
             Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_SUCCESS, 'Ваш статус був доданий!');
             $this->redirect(array('/manage/profiles/view/', 'id' => $id, '#' => 'statuses'));
         }
     }
     if (isset($_POST['CvList'])) {
         $model->status = $_POST['CvList']['status'];
         if ($model->save()) {
             $log = new Log();
             $log->action = 'change_status_to_user_' . $id . "_to_" . $_POST['CvList']['status'];
             $log->save();
             Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_SUCCESS, 'Статус анкети був оновлений!');
             $this->redirect(array('/manage/profiles/view/', 'id' => $id));
         } else {
             $errors = $model->getErrors();
             $errString = '';
             foreach ($errors as $e) {
                 $errString .= implode(", ", $e);
             }
             Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_ERROR, 'Виникли помилки: ' . $errString);
         }
     }
     $statuses = CvStatuses::model()->findAll(array('condition' => 'cv_id=:cv_id', 'params' => array(':cv_id' => $id), 'order' => 'added_time DESC'));
     $criteria = new CDbCriteria();
     $criteria->with = ['positions' => ['together' => true]];
     $criteria->addInCondition('positions.id', $model->positionsIds);
     $criteria->addInCondition('city_id', $model->jobLocationsIds);
     $vacanciesDataProvider = new CActiveDataProvider('Vacancy', ['criteria' => $criteria]);
     $vacanciesDataProvider->sort = false;
     $this->render('view', array('model' => $model, 'status' => $status, 'statuses' => $statuses, 'vacanciesDataProvider' => $vacanciesDataProvider));
 }
Example #2
0
 public function getLatestStatuses()
 {
     $criteria = new CDbCriteria();
     $criteria->condition = 'cv_id = :cv_id';
     $criteria->params = array(':cv_id' => $this->id);
     $criteria->order = "added_time DESC";
     $criteria->limit = 3;
     return CvStatuses::model()->findAll($criteria);
 }