/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($idevento) { $query = CoordenadorHasEvento::find()->where(['evento_idevento' => $idevento]); $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(['usuario_idusuario' => $this->usuario_idusuario, 'evento_idevento' => $this->evento_idevento]); return $dataProvider; }
public function canAccess() { return !Yii::$app->user->isGuest && date("Y-m-d", strtotime($this->dataFim)) >= date('Y-m-d') && (Yii::$app->user->identity->idusuario == $this->responsavel || CoordenadorHasEvento::find()->where(['usuario_idusuario' => Yii::$app->user->identity->idusuario])->andWhere(['evento_idevento' => $this->idevento])->count()) ? true : false; }
public function searchEventosCoodenadores($params) { $status = $params['status']; $inscricoes = $params['inscricoes']; if ($status == 'passado') { $query = CoordenadorHasEvento::find()->where(['usuario_idusuario' => Yii::$app->user->identity->idusuario])->andWhere("evento.dataFim < '" . date('Y-m-d') . "'"); } else { if ($inscricoes == 'fechada') { $query = CoordenadorHasEvento::find()->where(['usuario_idusuario' => Yii::$app->user->identity->idusuario])->andWhere("evento.dataFim >= '" . date('Y-m-d') . "'")->andWhere("allow = '0'"); } else { if ($inscricoes == 'naoiniciada') { $query = CoordenadorHasEvento::find()->where(['usuario_idusuario' => Yii::$app->user->identity->idusuario])->andWhere("evento.dataFim >= '" . date('Y-m-d') . "'")->andWhere("allow = 'null'"); } else { $query = CoordenadorHasEvento::find()->where(['usuario_idusuario' => Yii::$app->user->identity->idusuario])->andWhere("evento.dataFim >= '" . date('Y-m-d') . "'")->andWhere("allow = '1'"); } } } $query->joinWith('evento'); $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; } $dataProvider->sort->attributes['tipo'] = ['asc' => ['titulo' => SORT_ASC], 'desc' => ['titulo' => SORT_DESC]]; $dataProvider->sort->attributes['local'] = ['asc' => ['descricao' => SORT_ASC], 'desc' => ['descricao' => SORT_DESC]]; $query->andFilterWhere(['idevento' => $this->idevento, 'horaIni' => $this->horaIni, 'horaFim' => $this->horaFim, 'vagas' => $this->vagas, 'cargaHoraria' => $this->cargaHoraria, 'allow' => $this->allow, 'responsavel' => $this->responsavel]); $query->andFilterWhere(['like', 'sigla', $this->sigla])->andFilterWhere(['like', 'descricao', $this->descricao])->andFilterWhere(['like', 'dataIni', $this->dataIni])->andFilterWhere(['like', 'dataFim', $this->dataFim])->andFilterWhere(['like', 'imagem', $this->imagem])->andFilterWhere(['like', 'detalhe', $this->detalhe])->andFilterWhere(['like', 'tipo.titulo', $this->tipo])->andFilterWhere(['like', 'local.descricao', $this->descricao]); return $dataProvider; }
/** * Finds the CoordenadorHasEvento model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return CoordenadorHasEvento the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($usuario_idusuario, $evento_idevento) { if (($model = CoordenadorHasEvento::findOne(['usuario_idusuario' => $usuario_idusuario, 'evento_idevento' => $evento_idevento])) !== null) { return $model; } else { throw new NotFoundHttpException('Página não Encontrada.'); } }
/** * Displays a single Evento model. * @param string $id * @return mixed */ public function actionView($id) { $dataProvider = null; $this->findModel($id); Yii::$app->user->isGuest ? $verificaInscrito = 0 : ($verificaInscrito = (new Inscreve())->verificaInscrito(Yii::$app->request->queryParams)); $verificaEncerramento = (new Inscreve())->verificaEncerramento(Yii::$app->request->queryParams); $verificaCredenciamento = (new Inscreve())->verificaCredenciamento(Yii::$app->request->queryParams); $pacote = (new Inscreve())->possuiPacote(Yii::$app->request->queryParams); if ($pacote == 0) { $verificaVagas = (new Inscreve())->possuiVagasEvento(Yii::$app->request->queryParams); } else { $searchModel = new PacoteSearch(); $verificaVagas = $searchModel->searchEventoPacoteDisponivel($id); $verificaVagas = $verificaVagas->getCount(); $dataProvider = $searchModel->searchEventoPacoteDisponivel($id); } $model = $this->findModel($id); if (Yii::$app->user->isGuest) { return $this->render('view', ['model' => $model, 'allow' => $model->allow, 'inscrito' => $verificaInscrito, 'encerrado' => $verificaEncerramento, 'credenciamento' => $verificaCredenciamento, 'existeVagas' => $verificaVagas, 'dataProvider' => $dataProvider]); } else { $responsavel = CoordenadorHasEvento::find()->where(['usuario_idusuario' => Yii::$app->user->identity->idusuario])->andWhere(['evento_idevento' => $model->idevento])->count(); return $this->render('view', ['model' => $model, 'allow' => $model->allow, 'inscrito' => $verificaInscrito, 'encerrado' => $verificaEncerramento, 'credenciamento' => $verificaCredenciamento, 'existeVagas' => $verificaVagas, 'responsavel' => $responsavel, 'dataProvider' => $dataProvider]); } }