예제 #1
0
 /**
  * Creates a new Monitoria model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Monitoria();
     if ($model->load(Yii::$app->request->post())) {
         //Arquivo Histórico
         $model->file = UploadedFile::getInstance($model, 'file');
         $model->file->saveAs('uploads/historicos/' . $model->file->baseName . '.' . $model->file->extension);
         $model->pathArqHistorico = $model->file->name;
         $model->file = 'uploads/historicos/' . $model->file->baseName . '.' . $model->file->extension;
         if ($model->validate()) {
             //Número do Processo
             $model->numProcs = date("Y") . '/' . str_pad(strval($proxProcesso = Monitoria::find()->count() + 1), 6, '0', STR_PAD_LEFT);
         }
         if ($model->save()) {
             return $this->redirect(['view', 'id' => $model->ID]);
         } else {
             if ($model->errors) {
                 Yii::$app->getSession()->setFlash('danger', $this->convert_multi_array($model->errors));
                 //foreach ($model->getErrors() as $key => $value) {
                 //    Yii::$app->getSession()->setFlash('danger', $key.' - '.$value);
                 //}
                 foreach (Yii::$app->session->getAllFlashes() as $key => $message) {
                     echo '<div class="alert alert-' . $key . '" role="alert">' . $message . '</div>';
                 }
             }
         }
     } else {
         //Número do Processo
         $model->numProcs = '[Novo]';
         //Aluno - Pega aluno baseando-se no CPF do usuário logado
         $aluno = Aluno::findOne(['CPF' => Yii::$app->user->identity->login]);
         $model->IDAluno = $aluno->ID;
         //Status - Aguardando Avaliação
         $model->status = 0;
         //Seleciona o último período de inscrição
         $periodoInscricao = PeriodoInscricaoMonitoria::find()->orderBy(['ID' => SORT_DESC])->one();
         $model->IDperiodoinscr = $periodoInscricao->ID;
         $periodo = $periodoInscricao->ano . '/' . $periodoInscricao->periodo;
         return $this->render('create', ['model' => $model, 'periodo' => $periodo, 'matricula' => $aluno->matricula, 'banco' => $aluno->banco, 'agencia' => $aluno->agencia, 'conta' => $aluno->conta]);
     }
 }
예제 #2
0
 public function actionGerarrelatoriosemestral($id)
 {
     $model = new Monitoria();
     $modelInfo = new ProfessorMonitoria();
     if ($model->load(Yii::$app->request->post())) {
         //Usuario - Pega professor baseando-se no CPF do usuário logado
         $professor = Usuario::findOne(['CPF' => Yii::$app->user->identity->cpf]);
         //Habilitar "extension=php_fileinfo.dll" em C:\xampp\php\php.ini
         $model->fileRelatorioSemestral = UploadedFile::getInstance($model, 'fileRelatorioSemestral');
         $arrayUpdate = ['pathArqRelatorioSemestral' => 'uploads/relatorio-semestral/' . $professor->cpf . '_' . date('Ydm_His') . '.' . $model->fileRelatorioSemestral->extension];
         Yii::$app->db->createCommand()->update('monitoria', $arrayUpdate, 'id=' . $id)->execute();
         $model->fileRelatorioSemestral->saveAs('uploads/relatorio-semestral/' . $professor->cpf . '_' . date('Ydm_His') . '.' . $model->fileRelatorioSemestral->extension);
         return $this->redirect(['professor']);
     } else {
         $model = $this->findModel($id);
         $modelInfo = ProfessorMonitoria::findOne(['id' => $id]);
         return $this->render('_form4', ['model' => $model, 'modelInfo' => $modelInfo]);
     }
 }