/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function searchAluno($params) { $query = Monitoria::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; } //Pega o ID do aluno baseando-se no CPF do usuário logado $aluno = Aluno::findOne(['CPF' => Yii::$app->user->identity->login]); $query->joinWith(['aluno']); $query->joinWith(['disciplinaperiodo']); $query->joinWith(['periodoinscricao']); $query->leftJoin('disciplina', 'disciplina.id = disciplina_periodo.idDisciplina'); $query->leftJoin('curso', 'curso.ID = disciplina_periodo.idCurso'); $query->andFilterWhere(['ID' => $this->ID, 'IDAluno' => $aluno->ID]); $query->andFilterWhere(['like', 'numProcs', $this->numProcs]); $query->andFilterWhere(['like', 'aluno.nome', $this->IDAluno]); $query->andFilterWhere(['like', 'disciplina.nomeDisciplina', $this->IDDisc]); $query->andFilterWhere(['like', 'curso.nome', $this->nomeCurso]); $query->andFilterWhere(['like', 'periodoinscricao.ano', $this->IDperiodoinscr]); $query->orderBy(['ID' => SORT_DESC]); return $dataProvider; }
/** * 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]); } }
public function searchPendencias($params) { $query = Monitoria::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->joinWith(['usuario']); $query->joinWith(['disciplinaperiodo']); $query->joinWith(['periodoinscricao']); $query->leftJoin('disciplina', 'disciplina.id = disciplina_periodo.idDisciplina'); $query->leftJoin('curso', 'curso.id = disciplina_periodo.idCurso'); $query->andFilterWhere(['id' => $this->id, 'status' => '0']); $query->andFilterWhere(['like', 'usuario.name', $this->IDAluno]); $query->andFilterWhere(['like', 'disciplina.nomeDisciplina', $this->IDDisc]); $query->andFilterWhere(['like', 'curso.nome', $this->nomeCurso]); $query->andFilterWhere(['like', 'periodoinscricao.ano', $this->IDperiodoinscr]); $query->orderBy(['id' => SORT_DESC]); return $dataProvider; }
/** * Creates a new Frequencia model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($date) { $model = new Frequencia(); $aluno = Aluno::find()->where(['CPF' => Yii::$app->user->identity->login])->one(); // pesquisa para pegar o id do aluno $moni = Monitoria::find()->where(['IDAluno' => $aluno->ID])->one(); // pesquisa para pegar o id de monitoria do aluno $model->dmy = $date; $model->IDMonitoria = $moni->ID; if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['index']); } else { return $this->renderAjax('create', ['model' => $model]); } }