/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Cargos::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['idcargo' => $this->idcargo, 'status' => $this->status]); $query->andFilterWhere(['like', 'descricao', $this->descricao]); return $dataProvider; }
/** * Updates an existing ProcessoSeletivo model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $session = Yii::$app->session; if (!isset($session['sess_codusuario']) && !isset($session['sess_codcolaborador']) && !isset($session['sess_codunidade']) && !isset($session['sess_nomeusuario']) && !isset($session['sess_coddepartamento']) && !isset($session['sess_codcargo']) && !isset($session['sess_cargo']) && !isset($session['sess_setor']) && !isset($session['sess_unidade']) && !isset($session['sess_responsavelsetor'])) { return $this->redirect('http://portalsenac.am.senac.br'); } //VERIFICA SE O COLABORADOR FAZ PARTE DO SETOR GRH E DO DEPARTAMENTO DE PROCESSO SELETIVO if ($session['sess_codunidade'] != 7 || $session['sess_coddepartamento'] != 82) { $this->layout = 'main-acesso-negado'; return $this->render('/site/acesso_negado'); } else { $model = $this->findModel($id); } //CARGOS $cargos = Cargos::find()->where(['status' => 1])->all(); //Retrieve the stored checkboxes $model->permissions = \yii\helpers\ArrayHelper::getColumn($model->getCargosProcesso()->asArray()->all(), 'cargo_id'); if ($model->load(Yii::$app->request->post()) && $model->save()) { Yii::$app->session->setFlash('success', '<strong>SUCESSO! </strong>O Processo Seletivo do edital <strong>' . $model->numeroEdital . '</strong> foi atualizado no site!</strong>'); return $this->redirect(['index']); } else { return $this->render('update', ['model' => $model, 'cargos' => $cargos]); } }
|-------------------------------------------------------------------------- | Application Routes |-------------------------------------------------------------------------- | | Here is where you can register all of the routes for an application. | It's a breeze. Simply tell Laravel the URIs it should respond to | and give it the controller to call when that URI is requested. | */ //Route::get('/', 'WelcomeController@index'); Route::get('/', 'HomeController@index'); Route::get('prueba', function () { return view('prueba'); $solo = []; dd($solo); $user = \App\Models\Cargos::all()->count('nombre'); dd(json_encode($user)); $json = ['robert' => 'de abreu']; $string = ' { "area": [ { "area": "kothrud" }, { "area": "katraj" } ] }
/** * Creates a new Curriculos model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $this->layout = 'main-curriculos'; $model = new Curriculos(); $curriculosEndereco = new CurriculosEndereco(); $curriculosFormacao = new CurriculosFormacao(); $modelsComplemento = [new CurriculosComplemento()]; $modelsEmpregos = [new CurriculosEmpregos()]; if (isset($_COOKIE['PHPSESSID']) && !empty($_COOKIE['PHPSESSID'])) { session_id($_COOKIE['PHPSESSID']); } session_start(); //session numero de edital e do id do processo $session = Yii::$app->session; $model->edital = $session["numeroEdital"]; $id = $session["id"]; $model->data = date('Y-m-d H:i:s'); //NÚMERO DE INSCRIÇÃO 'ANO CORRENTE + 000000 + ID DO CANDIDATO' $query_id = "SELECT max(id) as id FROM curriculos LIMIT 1"; $last_id = Curriculos::findBySql($query_id)->all(); foreach ($last_id as $value) { $incremento = $value['id']; $incremento++; } $model->numeroInscricao = date('Y') . '00000' . $incremento; $curriculosEndereco->curriculos_id = $incremento; $curriculosFormacao->curriculos_id = $incremento; //localizando somente os cargos que fazem parte do edital selecionado $cargos = Cargos::find()->innerJoinWith('cargosProcessos')->where(['processo_id' => $id])->AndWhere('cargo_id = idcargo')->all(); //Caso não tenha puxado nenhum edital, será redirecionado para a página de processo seletivo if ($model->edital == NULL) { return $this->redirect('http://www.am.senac.br/trabsenac.php'); } if ($model->load(Yii::$app->request->post()) && $curriculosEndereco->load(Yii::$app->request->post()) && $curriculosFormacao->load(Yii::$app->request->post()) && Model::validateMultiple([$model, $curriculosEndereco, $curriculosFormacao])) { //Calcular a idade do candidato $datetime1 = new \DateTime($model->datanascimento, new \DateTimeZone('UTC')); $datetime2 = new \DateTime(); $diff = $datetime1->diff($datetime2); $model->idade = $diff->y; $model->save(false); // skip validation as model is already validated $curriculosEndereco->curriculos_id = $model->id; $curriculosFormacao->curriculos_id = $model->id; $curriculosEndereco->save(false); $curriculosFormacao->save(false); //ENVIA E-MAIL DA INSCRIÇÃO PARA O CANDIDATO Yii::$app->mailer->compose()->setFrom(['*****@*****.**' => 'Processo Seletivo - Senac AM'])->setTo($model->email)->setSubject('Inscrição para o Edital: ' . $model->edital)->setTextBody('Prezado Candidato, confirmamos o envio de seu currículo para concorrer a vaga de ' . $model->cargo . ' para o Edital ' . $model->edital . ' ')->setHtmlBody("Prezado Senhor(a), <strong>" . $model->nome . "</strong><br><br>" . "Recebemos a sua inscrição em nosso processo de seleção com sucesso para o Edital: <strong>" . $model->edital . " </strong>e pedimos que acompanhe em nosso site o resultado das próximas etapas.<br><br>" . "<strong><font color='red'><center>NÃO RESPONDA A ESSE E-MAIL!!!!</center></font></strong><br><br>" . "<strong>INFORMAÇÕES GERAIS</STRONG><br><br>" . "<strong>Número de Inscrição: </strong><font color='red'>" . $model->numeroInscricao . "</font><br><br>" . "<strong>Data do envio: </strong> " . $model->data . "<br>" . "<strong>Processo Seletivo: </strong> " . $model->edital . "<br>" . "<strong>Cargo: </strong> " . $model->cargo . "<br><br>")->send(); //Inserir vários cursos complementares $modelsComplemento = Model::createMultiple(CurriculosComplemento::classname()); Model::loadMultiple($modelsComplemento, Yii::$app->request->post()); //Inserir vários emprgos anteriores $modelsEmpregos = Model::createMultiple(CurriculosEmpregos::classname()); Model::loadMultiple($modelsEmpregos, Yii::$app->request->post()); // validate all models $valid = $model->validate(); $valid = Model::validateMultiple($modelsComplemento) && $valid; $valid2 = $model->validate(); $valid_empregos = Model::validateMultiple($modelsEmpregos) && $valid2; if ($valid && $valid_empregos) { $transaction = \Yii::$app->db->beginTransaction(); try { if ($flag = $model->save(false)) { foreach ($modelsComplemento as $modelComplemento) { //cursos complementares $modelComplemento->curriculos_id = $model->id; if (!($flag = $modelComplemento->save(false))) { $transaction->rollBack(); break; } } foreach ($modelsEmpregos as $modelEmpregos) { //empregos anteriores $modelEmpregos->curriculos_id = $model->id; if (!($flag = $modelEmpregos->save(false))) { $transaction->rollBack(); break; } } } if ($flag) { $transaction->commit(); return $this->redirect('http://www.am.senac.br/trabsenac_success.php'); } } catch (Exception $e) { $transaction->rollBack(); } } return $this->redirect('http://www.am.senac.br/trabsenac_success.php'); } else { return $this->render('create', ['model' => $model, 'cargos' => $cargos, 'curriculosEndereco' => $curriculosEndereco, 'curriculosFormacao' => $curriculosFormacao, 'modelsComplemento' => empty($modelsComplemento) ? [new CurriculosComplemento()] : $modelsComplemento, 'modelsEmpregos' => empty($modelsEmpregos) ? [new CurriculosEmpregos()] : $modelsEmpregos]); } }
/** * Finds the Cargos model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Cargos the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Cargos::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
//RESGATANDO AS INFORMAÇÕES DA ABERTURA DE VAGAS $id = $model->id; ?> <body> <div class="panel panel-primary"> <!-- Default panel contents --> <div class="panel-heading">Cargos Disponíveis</div> <!-- List group --> <ul class="list-group"> <?php $query_cargos = "SELECT descricao FROM cargos, cargos_processo WHERE processo_id = '" . $id . "' AND cargo_id = idcargo"; $cargo = Cargos::findBySql($query_cargos)->all(); foreach ($cargo as $cargos) { $Cargos = $cargos["descricao"]; echo '<li class="list-group-item">' . $Cargos . '</li>'; } ?> </ul> </div> <div class="panel panel-primary"> <!-- Default panel contents --> <div class="panel-heading">Documentos para Download</div> <div class="panel-body"> <p><strong>LISTA DE EDITAIS</strong></p> <ul class="list-group"> <li class='list-group-item'>
/** * @return \yii\db\ActiveQuery */ public function getCargo() { return $this->hasOne(Cargos::className(), ['idcargo' => 'cargo_id']); }
/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { $usuario = User::find($id); $secretarias = Secretaria::all()->lists('descripcion', 'id'); $subsecre = Sub_secretaria::all()->lists('descripcion', 'id'); $perf = Perfiles::all()->lists('nombre', 'id'); $cargos = Cargos::all()->lists('nombre', 'id'); $coor = Coordinacion::all()->lists('nombre', 'id'); return view('usuarios.editar_usuario', ['secre' => $secretarias, 'subsecre' => $subsecre, 'perfil' => $perf, 'cargos' => $cargos, 'coor' => $coor, 'usuario' => $usuario]); }