public function actionPostJob() { $model = new Job(); $model->setScenario('post'); if ($model->load(Yii::$app->request->post())) { if ($model->validate()) { //job functions $jobFunctions = (array) $model->functions; if ($model->function2 && !in_array($model->function2, $jobFunctions)) { array_push($jobFunctions, $model->function2); } if ($model->function3 && !in_array($model->function3, $jobFunctions)) { array_push($jobFunctions, $model->function3); } $model->functions = $jobFunctions; //job industry $jobIndustry = (array) $model->industry; if ($model->industry2 && !in_array($model->industry2, $jobIndustry)) { array_push($jobIndustry, $model->industry2); } $model->industry = $jobIndustry; $model->status = Job::STATUS_NEW; $model->created_by = Yii::$app->user->getId(); $model->created_time = new \MongoDate(); $model->updated_time = new \MongoDate(); try { if ($model->save()) { //set success flash message Yii::$app->getSession()->setFlash('success', ['type' => 'success', 'duration' => 5000, 'icon' => 'fa fa-users', 'message' => Yii::t($this->module->id, Html::encode('Post job successfully.')), 'title' => Yii::t('app', Html::encode('Success'))]); //redirect to list return $this->redirect(['list-job']); } } catch (CDbException $e) { throw new \yii\web\HttpException(405, Yii::t('app', 'Error saving data')); } catch (Exception $e) { throw new \yii\web\HttpException(405, Yii::t('app', 'Error saving data')); } } else { $error_messages = array(); foreach ($model->errors as $attribute => $errors) { foreach ($errors as $error_message) { $error_messages[] = "- " . Yii::t($this->module->id, $error_message); } } $error_messages = implode('<br/>', $error_messages); //set error flash message Yii::$app->getSession()->setFlash('danger', ['type' => 'danger', 'duration' => 5000, 'icon' => 'fa fa-users', 'message' => $error_messages, 'title' => Yii::t('app', Html::encode('Errors'))]); } } else { Yii::$app->view->title = Yii::t($this->module->id, 'Post New Job'); Yii::$app->view->params['breadcrumbs'][] = ['label' => Yii::t($this->module->id, 'Manage Jobs'), 'url' => ['list-job']]; Yii::$app->view->params['breadcrumbs'][] = Yii::$app->view->title; } return $this->render('post-job', ['model' => $model]); }