Using new UserClass instances everywhere:
- No more direct access to g.current_user, unless unavoidable. - Using pillar.auth.current_user instead of g.current_user or flask_login.current_user. - p.a.current_user is never checked against None. - p.a.current_user.is_authenticated or is_anonymous is used, and never together with a negation (instead of 'not is_anon' use 'is_auth'). - No more accessing current_user a a dict. - No more checks for admin role, use capability check instead.
This commit is contained in:
@@ -4,7 +4,7 @@ import logging
|
||||
import datetime
|
||||
from bson import ObjectId, tz_util
|
||||
from eve.methods.get import get
|
||||
from flask import Blueprint, g, current_app, request
|
||||
from flask import Blueprint, current_app, request
|
||||
from pillar.api import utils
|
||||
from pillar.api.utils import authentication, authorization
|
||||
from werkzeug import exceptions as wz_exceptions
|
||||
@@ -201,8 +201,10 @@ def home_project():
|
||||
Eve projections are supported, but at least the following fields must be present:
|
||||
'permissions', 'category', 'user'
|
||||
"""
|
||||
user_id = g.current_user['user_id']
|
||||
roles = g.current_user.get('roles', ())
|
||||
from pillar.auth import current_user
|
||||
|
||||
user_id = current_user.user_id
|
||||
roles = current_user.roles
|
||||
|
||||
log.debug('Possibly creating home project for user %s with roles %s', user_id, roles)
|
||||
if HOME_PROJECT_USERS and not HOME_PROJECT_USERS.intersection(roles):
|
||||
|
@@ -3,12 +3,14 @@ import logging
|
||||
|
||||
from eve.methods.get import get
|
||||
from eve.utils import config as eve_config
|
||||
from flask import Blueprint, request, current_app, g
|
||||
from flask import Blueprint, request, current_app
|
||||
from werkzeug.datastructures import MultiDict
|
||||
from werkzeug.exceptions import InternalServerError
|
||||
|
||||
from pillar.api import utils
|
||||
from pillar.api.utils.authentication import current_user_id
|
||||
from pillar.api.utils.authorization import require_login
|
||||
from werkzeug.datastructures import MultiDict
|
||||
from werkzeug.exceptions import InternalServerError
|
||||
from pillar.auth import current_user
|
||||
|
||||
FIRST_ADDON_VERSION_WITH_HDRI = (1, 4, 0)
|
||||
TL_PROJECTION = utils.dumps({'name': 1, 'url': 1, 'permissions': 1,})
|
||||
@@ -25,8 +27,8 @@ log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def keep_fetching_texture_libraries(proj_filter):
|
||||
groups = g.current_user['groups']
|
||||
user_id = g.current_user['user_id']
|
||||
groups = current_user.group_ids
|
||||
user_id = current_user.user_id
|
||||
|
||||
page = 1
|
||||
max_page = float('inf')
|
||||
|
Reference in New Issue
Block a user