/** * Pedidos del usuario * @param integer $asignado id de la asignacion * @return mixed */ public function actionPedido($asignado) { //Datos para el gridview $searchModel = new ProyectoPedidoSearch(['asignado' => $asignado]); //Si no es sysadmin if (\Yii::$app->authManager->getAssignment('sysadmin', \Yii::$app->user->id) == null) { $searchModel->estatus = 1; } $dataProvider = $searchModel->search(Yii::$app->request->queryParams); //Datos de la asignacion $asignado = ProyectoUsuarioAsignar::findOne($asignado); return $this->render('pedido', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'asignado' => $asignado]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = ProyectoUsuarioAsignar::find(); //Join para la relacion $query->joinWith(['proyecto']); $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, 'usuario_id' => $this->usuario_id, 'proyecto_id' => $this->proyecto_id, 'accion_especifica_id' => $this->accion_especifica_id, 'proyecto_usuario_asignar.estatus' => 1]); $query->andFilterWhere(['proyecto.aprobado' => $this->aprobado]); return $dataProvider; }