/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { if (Yii::$app->user->identity->id_rol == 1) { $query = Proyecto::find(); } else { $relacion = Relacion::find()->where(['id_Usuario' => Yii::$app->user->identity->id])->all(); $idproyectos = array(); foreach ($relacion as $rel) { $idproyectos[] = $rel->id_Proyecto; } $query = Proyecto::find()->where(['id_Proyecto' => $idproyectos]); } $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_Proyecto' => $this->id_Proyecto, 'id_Anteproyecto' => $this->id_Anteproyecto, 'id_Canvas' => $this->id_Canvas, 'id_canvas2' => $this->id_canvas2, 'id_Negocio' => $this->id_Negocio, 'id_Financiero' => $this->id_Financiero, 'id_Legales' => $this->id_Legales, 'id_Intelectual' => $this->id_Intelectual, 'modulo' => $this->modulo, 'id_Asesor' => $this->id_Asesor]); $query->andFilterWhere(['like', 'nombre_proyecto', $this->nombre_proyecto])->andFilterWhere(['like', 'nombre_corto', $this->nombre_corto])->andFilterWhere(['like', 'descripcion', $this->descripcion])->andFilterWhere(['like', 'area', $this->area])->andFilterWhere(['like', 'resultado', $this->resultado])->andFilterWhere(['like', 'objetivo', $this->objetivo]); return $dataProvider; }
/** * Updates an existing Proyecto model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $file = new UploadForm(); $relacion0 = new Relacion(); $relacion1 = new Relacion(); $relacion2 = new Relacion(); $relacion3 = new Relacion(); $relacion4 = new Relacion(); if ($model->load(Yii::$app->request->post())) { $model->save(); if (isset($_POST['Relacion0'])) { $relacion0->id_Usuario = $_POST['Relacion0']; $relacion0->id_Proyecto = $model->id_Proyecto; $relacion0->save(false); } if (isset($_POST['Relacion1'])) { $relacion1->id_Usuario = $_POST['Relacion1']; $relacion1->id_Proyecto = $model->id_Proyecto; $relacion1->save(false); } if (isset($_POST['Relacion2'])) { $relacion2->id_Usuario = $_POST['Relacion2']; $relacion2->id_Proyecto = $model->id_Proyecto; $relacion2->save(false); } if (isset($_POST['Relacion3'])) { $relacion3->id_Usuario = $_POST['Relacion3']; $relacion3->id_Proyecto = $model->id_Proyecto; $relacion3->save(false); } $relacion4->id_Usuario = Yii::$app->user->identity->id; $relacion4->id_Proyecto = $model->id_Proyecto; $relacion4->save(false); if (Yii::$app->request->isPost) { $file->url = UploadedFile::getInstance($file, 'url'); $file->id_proyecto = $model->id_Proyecto; if ($file->upload()) { // file is uploaded successfully } } return $this->redirect(['view', 'id' => $model->id_Proyecto]); } else { return $this->render('update', ['model' => $model, 'relacion0' => $relacion0, 'relacion1' => $relacion1, 'relacion2' => $relacion2, 'relacion3' => $relacion3, 'relacion4' => $relacion4, 'file' => $file]); } }