/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = USUARIOS::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'status' => $this->status, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'username', $this->username])->andFilterWhere(['like', 'password_hash', $this->password_hash])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'auth_key', $this->auth_key])->andFilterWhere(['like', 'password_reset_token', $this->password_reset_token]); return $dataProvider; }
public static function permisosTramite($tramiteId) { $permisos = [USUARIOS::$LEER => false, USUARIOS::$CREAR => false, USUARIOS::$ACTUALIZAR => false, USUARIOS::$BORRAR => false]; if (Yii::$app->user->isGuest) { return $permisos; } $usuario = USUARIOS::findOne(Yii::$app->user->id); foreach ($usuario->roles as $role) { foreach ($role->tipoTramitesRoles as $tramiteRole) { if ($tramiteRole->tipoTramiteId == $tramiteId) { $permisos[USUARIOS::$LEER] = $permisos[USUARIOS::$LEER] || $tramiteRole->leer; $permisos[USUARIOS::$CREAR] = $permisos[USUARIOS::$CREAR] || $tramiteRole->crear; $permisos[USUARIOS::$ACTUALIZAR] = $permisos[USUARIOS::$ACTUALIZAR] || $tramiteRole->actualizar; $permisos[USUARIOS::$BORRAR] = $permisos[USUARIOS::$BORRAR] || $tramiteRole->borrar; } } } return $permisos; }
public function behaviors() { $permisos = USUARIOS::permisosTramite($this->tipoDeTramite()); return ['access' => ['class' => AccessControl::className(), 'rules' => [['actions' => ['index', 'view'], 'allow' => $permisos[USUARIOS::$LEER]], ['actions' => ['salvar', 'create'], 'allow' => $permisos[USUARIOS::$CREAR]], ['actions' => ['update'], 'allow' => $permisos[USUARIOS::$ACTUALIZAR]], ['actions' => ['delete'], 'allow' => $permisos[USUARIOS::$BORRAR]]]], 'verbs' => ['class' => VerbFilter::className(), 'actions' => ['delete' => ['post']]]]; }
public function actionSignup() { $usuarioActual = UsuariosRoles::find()->where('usuarioId = :id', ['id' => Yii::$app->user->id])->all(); $model = new SignupForm(); $usuarios = USUARIOS::find()->all(); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { return $this->redirect(['roles', 'id' => $user->id]); } } foreach ($usuarioActual as $ur) { if ($ur->roles->nombre == 'Dev' or $ur->roles->nombre == 'Sistemas') { return $this->render('signup', ['model' => $model, 'usuarios' => $usuarios]); } } return $this->goHome(); }
/** * Finds the Empleado model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Empleado the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = USUARIOS::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
<!-- #BODY --> <!-- Possible Classes * 'smart-style-{SKIN#}' * 'smart-rtl' - Switch theme mode to RTL * 'menu-on-top' - Switch to top navigation (no DOM change required) * 'no-menu' - Hides the menu completely * 'hidden-menu' - Hides the main menu but still accessable by hovering over left edge * 'fixed-header' - Fixes the header * 'fixed-navigation' - Fixes the main menu * 'fixed-ribbon' - Fixes breadcrumb * 'fixed-page-footer' - Fixes footer * 'container' - boxed layout mode (non-responsive: will not work with fixed-navigation & fixed-ribbon) --> <body class="menu-on-top pace-done"> <?php $usuarioActual = USUARIOS::find()->where('id = :id',['id'=>Yii::$app->user->id])->one();?> <!-- HEADER --> <header id="header"> <div style=""> </div> <!-- projects dropdown --> <!-- pulled right: nav area --> <div class="pull-right"> <!-- collapse menu button --> <div id="hide-menu" class="btn-header pull-right"> <span> <a href="javascript:void(0);" data-action="toggleMenu" title="Collapse Menu"><i class="fa fa-reorder"></i></a> </span> </div>
/** * @return \yii\db\ActiveQuery */ public function getUsuarios() { return $this->hasMany(USUARIOS::className(), ['id' => 'usuarioId'])->viaTable('UsuariosRoles', ['roleId' => 'id']); }
public function getPermisosPorPaso() { if (!empty($this->_permisosPorPAso)) { return $this->_permisosPorPAso; } if (Yii::$app->user->isGuest) { return $this->permisos; } $pasos = PasosTramite::find()->where(['tipoTramiteId' => $this->tipoDeTramite()])->orderBy('secuencia')->all(); foreach ($pasos as $paso) { $this->_permisosPorPAso[$paso->id] = [USUARIOS::$LEER => false, USUARIOS::$CREAR => false, USUARIOS::$ACTUALIZAR => false, USUARIOS::$BORRAR => false]; } //print_r($this->_permisosPorPAso); $usuario = USUARIOS::findOne(Yii::$app->user->id); foreach ($usuario->roles as $role) { foreach ($role->tipoTramitesRoles as $tramiteRole) { if ($tramiteRole->tipoTramiteId == $this->tipoDeTramite()) { foreach ($tramiteRole->permisosPasoTramites as $paso) { $this->_permisosPorPAso[$paso->pasoTramiteId][USUARIOS::$LEER] = $this->_permisosPorPAso[$paso->pasoTramiteId][USUARIOS::$LEER] || $paso->leer; $this->_permisosPorPAso[$paso->pasoTramiteId][USUARIOS::$CREAR] = $this->_permisosPorPAso[$paso->pasoTramiteId][USUARIOS::$CREAR] || $paso->crear; $this->_permisosPorPAso[$paso->pasoTramiteId][USUARIOS::$ACTUALIZAR] = $this->_permisosPorPAso[$paso->pasoTramiteId][USUARIOS::$ACTUALIZAR] || $paso->actualizar; $this->_permisosPorPAso[$paso->pasoTramiteId][USUARIOS::$BORRAR] = $this->_permisosPorPAso[$paso->pasoTramiteId][USUARIOS::$BORRAR] || $paso->borrar; } } } } return $this->_permisosPorPAso; }