/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Sistemas::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(['idsistema' => $this->idsistema, 'status' => $this->status]); $query->andFilterWhere(['like', 'descricao', $this->descricao]); return $dataProvider; }
/** * Updates an existing Contratacao model. * If update is successful, the browser will be redirected to the 'view' page. * @param string $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 É GERENTE OU SE FAZ PARTE DA EQUIPE DE SELEÇÃO PARA REALIZAR A SOLICITAÇÃO if ($session['sess_responsavelsetor'] == 0 && $session['sess_coddepartamento'] != 82) { $this->layout = 'main-acesso-negado'; return $this->render('/site/acesso_negado'); } else { $model = $this->findModel($id); } $sistemas = Sistemas::find()->where(['status' => 1])->all(); //Retrieve the stored checkboxes $model->permissions = \yii\helpers\ArrayHelper::getColumn($model->getSistemasContratacao()->asArray()->all(), 'sistema_id'); //USUÁRIOS APENAS IRÃO EDITAR AS SOLICITAÇÕES DE CONTRATAÇÃO COM STATUS DE 'EM ELABORAÇÃO' e 'EM CORREÇÃO' if ($model->situacao_id != 1 && $model->situacao_id != 2) { Yii::$app->session->setFlash('warning', '<strong>AVISO! </strong> Não é possível <strong>EDITAR</strong> a Solicitação de Contratação de código: ' . '<strong>' . $id . '</strong>' . ' pois a mesma está com status de ' . '<strong>' . $model->situacao->descricao . '.</strong>'); return $this->redirect(['index']); } $session = Yii::$app->session; $model->cod_colaborador = $session['sess_codcolaborador']; $model->colaborador = $session['sess_nomeusuario']; $model->cargo = $session['sess_cargo']; $model->cod_unidade_solic = $session['sess_codunidade']; $model->unidade = $session['sess_unidade']; $model->data_solicitacao = date('Y-m-d'); $model->hora_solicitacao = date('H:i:s'); $model->nomesituacao = $model->situacao->descricao; if ($model->load(Yii::$app->request->post()) && $model->save()) { //Quando a solicitação é enviada, atualiza a solicitação para RECEBIDO PELO GRH. $connection = Yii::$app->db; $command = $connection->createCommand("UPDATE `db_processos`.`contratacao` SET `situacao_id` = '3' WHERE `id` = '" . $model->id . "' AND `cod_unidade_solic` =" . $session['sess_codunidade']); $command->execute(); //ENVIANDO EMAIL PARA OS RESPONSÁVEL DO PROCESSO SELETIVO INFORMANDO SOBRE O RECEBIMENTO DE UMA NOVA SOLICITAÇÃO DE CONTRATAÇÃO $sql_email = "SELECT emus_email FROM emailusuario_emus,colaborador_col,responsavelambiente_ream,responsaveldepartamento_rede WHERE ream_codunidade = '7' AND rede_coddepartamento = '82' AND rede_codcolaborador = col_codcolaborador AND col_codusuario = emus_codusuario"; $email_solicitacao = Emailusuario::findBySql($sql_email)->all(); foreach ($email_solicitacao as $email) { $email_gerente = $email["emus_email"]; Yii::$app->mailer->compose()->setFrom(['*****@*****.**' => 'Contratação - Senac AM'])->setTo($email_gerente)->setSubject('Solicitação de Contratação - ' . $model->unidade)->setTextBody('Existe uma solicitação de contratação de código: ' . $model->id . ' PENDENTE')->setHtmlBody('<h4>Prezado(a) Senhor(a), <br><br>Existe uma solicitação de contratação de <strong style="color: #337ab7"">código: ' . $model->id . '</strong> PENDENTE. <br> Por favor, não responda esse e-mail. Acesse http://portalsenac.am.senac.br para ANALISAR a solicitação de contratação. <br><br> Atenciosamente, <br> Contratação de Pessoal - Senac AM.</h4>')->send(); } //MENSAGEM DE CONFIRMAÇÃO DA SOLICITAÇÃO DE CONTRATAÇÃO CRIADA COM SUCESSO Yii::$app->session->setFlash('success', '<strong>SUCESSO! </strong> A solicitação de Processo Seletivo de código <strong>' . $model->id . '</strong> foi enviada para a Gerência de Recursos Humanos!</strong>'); return $this->redirect(['index']); } else { return $this->render('update', ['model' => $model, 'sistemas' => $sistemas]); } }