public function actionEventos($from, $to) { $date = new \Datetime(null); $hoje = $date->getTimestamp() + $date->getOffset(); $de = date("Y-m-d", $from / 1000); $para = date("Y-m-d", $to / 1000); $model = Eventos::find()->joinWith('atividade')->where(['>=', 'd_ini', $de])->orWhere(['<=', 'd_ter', $de])->orWhere(['<=', 'd_ter', $para])->andWhere(['atividades.empresa_id' => Yii::$app->session->get('empresa')])->all(); $d = ['success' => 1]; foreach ($model as $dados) { $d['result'][] = ['id' => $dados['id'], 'title' => $dados['atividade']['atividade'], 'url' => Url::to(['evento/visualizar', 'id' => $dados['id']]), 'class' => Yii::$app->AgobUtils->cssStatus($dados['status'], $dados['d_ter']), 'start' => strtotime($dados['d_ini']) . '000', 'end' => strtotime($dados['d_ter']) . '000', 'dias' => Yii::$app->AgobUtils->diffDias($dados['d_ter']), 'status' => $dados['status']]; } echo json_encode($d); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Eventos::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(['id' => $this->id, 'atividade_id' => $this->atividade_id, 'd_ini' => $this->d_ini, 'd_ter' => $this->d_ter]); $query->andFilterWhere(['like', 'status', $this->status])->andFilterWhere(['like', 'status_observacao', $this->status_observacao]); return $dataProvider; }
/** * Updates Eventos into database * * @param Eventos $eventos * @param array $input * * @return Eventos */ public function update($eventos, $input) { $eventos->fill($input); $eventos->save(); return $eventos; }
/** * Finds the Eventos model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Eventos the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Eventos::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * Creates a new Atividades model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCadastrar() { $model = new Atividades(); if (Yii::$app->request->post()) { $transaction = Atividades::getDb()->beginTransaction(); try { $postAtividades = Yii::$app->request->post()['Atividades']; $model->load(Yii::$app->request->post()); $model->empresa_id = Yii::$app->session->get('empresa'); if ($model->save()) { switch ($model->repetir) { case "0": $modelEventos = new Eventos(); $modelEventos->atividade_id = $model->id; $modelEventos->dia_inteiro = $model->dia_inteiro; $modelEventos->d_ini = $postAtividades['data_inicio']; $modelEventos->d_ter = $postAtividades['data_termino']; $modelEventos->h_ini = $postAtividades['hora_inicio']; $modelEventos->h_ter = $postAtividades['hora_termino']; $modelEventos->status = $postAtividades['status']; $modelEventos->status_observacao = $postAtividades['status_observacao']; if (!$modelEventos->save()) { throw new \yii\web\HttpException(500, 'Erro ao salvar evento para a atividade. Volte e tente novamente!'); } break; case "1": $days = $this->getInterval($this->a_day, $postAtividades['data_inicio'], $postAtividades['data_termino'], $postAtividades['repetir_termina'], $postAtividades['repetir_val'], $postAtividades['condicional_dia_util']); break; case "2": $days = $this->getInterval($this->a_week, $postAtividades['data_inicio'], $postAtividades['data_termino'], $postAtividades['repetir_termina'], $postAtividades['repetir_val'], $postAtividades['condicional_dia_util']); break; case "3": $days = $this->getInterval($this->a_month, $postAtividades['data_inicio'], $postAtividades['data_termino'], $postAtividades['repetir_termina'], $postAtividades['repetir_val'], $postAtividades['condicional_dia_util']); break; case "4": $days = $this->getInterval($this->a_year, $postAtividades['data_inicio'], $postAtividades['data_termino'], $postAtividades['repetir_termina'], $postAtividades['repetir_val'], $postAtividades['condicional_dia_util']); break; } if ($model->repetir != 0) { for ($i = 0; $i < count($days); $i++) { $modelEventos = new Eventos(); $modelEventos->atividade_id = $model->id; $modelEventos->dia_inteiro = $model->dia_inteiro; $modelEventos->d_ini = $days[$i]['start']; $modelEventos->d_ter = $days[$i]['end']; $modelEventos->h_ini = $postAtividades['hora_inicio']; $modelEventos->h_ter = $postAtividades['hora_termino']; $modelEventos->status = $postAtividades['status']; $modelEventos->status_observacao = $postAtividades['status_observacao']; if (!$modelEventos->save()) { throw new \yii\web\HttpException(500, 'Erro ao salvar evento para a atividade. Volte e tente novamente!'); } } } $transaction->commit(); return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('cadastrar', ['model' => $model]); } } catch (Exception $e) { $transaction->rollBack(); throw $e; } } else { return $this->render('cadastrar', ['model' => $model]); } }