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]); }
/** * Creates a new Job model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Job(); if ($model->load(Yii::$app->request->post())) { if ($model->save()) { if (Yii::$app->request->post('save_type') == 'apply') { return $this->redirect(['update', 'id' => (string) $model->_id]); } return $this->redirect(['view', 'id' => (string) $model->_id]); } } else { Yii::$app->view->title = Yii::t($this->module->id, 'Create'); Yii::$app->view->params['breadcrumbs'][] = ['label' => Yii::t($this->module->id, ucfirst($this->module->id)), 'url' => ['index']]; Yii::$app->view->params['breadcrumbs'][] = Yii::$app->view->title; return $this->render('form', ['model' => $model]); } }