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; }
/** * 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.'); } }
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; }