mirror of
https://github.com/veops/cmdb.git
synced 2025-08-08 14:50:56 +08:00
upgrade flask to 2.3.2 and replace g.user with current_user
This commit is contained in:
@@ -6,6 +6,7 @@ import time
|
||||
import six
|
||||
from flask import abort
|
||||
from flask import current_app
|
||||
from sqlalchemy import or_
|
||||
|
||||
from api.extensions import db
|
||||
from api.lib.perm.acl.app import AppCRUD
|
||||
@@ -212,18 +213,16 @@ class RoleCRUD(object):
|
||||
|
||||
@staticmethod
|
||||
def search(q, app_id, page=1, page_size=None, user_role=True, is_all=False, user_only=False):
|
||||
query = db.session.query(Role).filter(Role.deleted.is_(False))
|
||||
query1 = query.filter(Role.app_id == app_id).filter(Role.uid.is_(None))
|
||||
query2 = query.filter(Role.app_id.is_(None)).filter(Role.uid.is_(None))
|
||||
query = query1.union(query2)
|
||||
|
||||
if user_role:
|
||||
query1 = db.session.query(Role).filter(Role.deleted.is_(False)).filter(Role.uid.isnot(None))
|
||||
query = query.union(query1)
|
||||
|
||||
if user_only:
|
||||
if user_only: # only user role
|
||||
query = db.session.query(Role).filter(Role.deleted.is_(False)).filter(Role.uid.isnot(None))
|
||||
|
||||
else:
|
||||
query = db.session.query(Role).filter(Role.deleted.is_(False)).filter(
|
||||
or_(Role.app_id == app_id, Role.app_id.is_(None)))
|
||||
if not user_role: # only virtual role
|
||||
query = query.filter(Role.uid.is_(None))
|
||||
|
||||
if not is_all:
|
||||
role_ids = list(HasResourceRoleCache.get(app_id).keys())
|
||||
query = query.filter(Role.id.in_(role_ids))
|
||||
|
Reference in New Issue
Block a user