/**
  * 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]);
     }
 }
?>
) Entrevista
    (<?php 
if ($model->selec_teste == 1) {
    echo "X";
}
?>
) Testes Psicológicos</td> 
    </tr>

     <tr>
        <td colspan="12"><strong>Sistemas para cadastro de colaborador: </strong>

               <?php 
$query_sistemas = "SELECT descricao FROM sistemas, sistemas_contratacao WHERE contratacao_id = '" . $id . "' AND sistema_id = idsistema";
$sistema = Sistemas::findBySql($query_sistemas)->all();
foreach ($sistema as $sistemas) {
    $Sistemas = $sistemas["descricao"];
    echo $Sistemas . ' / ';
}
?>

      </td> 
    </tr>


     <tr>
        <td colspan="12" align="center"><strong>Assinado eletrônicamente por: </strong><br />
        <?php 
echo $model->colaborador;
?>
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getSistema()
 {
     return $this->hasOne(Sistemas::className(), ['idsistema' => 'sistema_id']);
 }
 /**
  * Finds the Sistemas model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Sistemas the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Sistemas::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }