mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-01 23:38:37 +00:00
Merge branch '7.1' into master
This commit is contained in:
commit
33a9849555
@ -74,7 +74,7 @@ class OrgsTraffic extends React.Component {
|
|||||||
|
|
||||||
getTrafficList = (month, page) => {
|
getTrafficList = (month, page) => {
|
||||||
const { perPage, sortBy, sortOrder } = this.state;
|
const { perPage, sortBy, sortOrder } = this.state;
|
||||||
const orderBy = `${sortBy}_${sortOrder}`;
|
const orderBy = sortOrder == 'asc' ? sortBy : `${sortBy}_${sortOrder}`;
|
||||||
this.setState({isLoading: true, errorMessage: ''});
|
this.setState({isLoading: true, errorMessage: ''});
|
||||||
seafileAPI.sysAdminListOrgTraffic(month, page, perPage, orderBy).then(res => {
|
seafileAPI.sysAdminListOrgTraffic(month, page, perPage, orderBy).then(res => {
|
||||||
let orgTrafficList = res.data.org_monthly_traffic_list.slice(0);
|
let orgTrafficList = res.data.org_monthly_traffic_list.slice(0);
|
||||||
|
@ -74,7 +74,7 @@ class UsersTraffic extends React.Component {
|
|||||||
|
|
||||||
getTrafficList = (month, page) => {
|
getTrafficList = (month, page) => {
|
||||||
const { perPage, sortBy, sortOrder } = this.state;
|
const { perPage, sortBy, sortOrder } = this.state;
|
||||||
const orderBy = `${sortBy}_${sortOrder}`;
|
const orderBy = sortOrder == 'asc' ? sortBy : `${sortBy}_${sortOrder}`;
|
||||||
this.setState({
|
this.setState({
|
||||||
isLoading: true,
|
isLoading: true,
|
||||||
errorMessage: ''
|
errorMessage: ''
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from fnmatch import fnmatch
|
from fnmatch import fnmatch
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.auth.middleware import RemoteUserMiddleware
|
from django.contrib.auth.middleware import RemoteUserMiddleware
|
||||||
@ -16,11 +18,21 @@ from seahub.base.accounts import User
|
|||||||
from seahub.base.sudo_mode import update_sudo_mode_ts
|
from seahub.base.sudo_mode import update_sudo_mode_ts
|
||||||
from seahub.profile.models import Profile
|
from seahub.profile.models import Profile
|
||||||
from seahub.utils.file_size import get_quota_from_string
|
from seahub.utils.file_size import get_quota_from_string
|
||||||
from seahub.utils.user_permissions import get_user_role
|
|
||||||
|
|
||||||
# Get an instance of a logger
|
# Get an instance of a logger
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
try:
|
||||||
|
conf_dir = os.environ['SEAFILE_CENTRAL_CONF_DIR']
|
||||||
|
sys.path.append(conf_dir)
|
||||||
|
try:
|
||||||
|
from seahub_custom_functions import custom_shibboleth_get_user_role
|
||||||
|
CUSTOM_SHIBBOLETH_GET_USER_ROLE = True
|
||||||
|
except ImportError:
|
||||||
|
CUSTOM_SHIBBOLETH_GET_USER_ROLE = False
|
||||||
|
except KeyError:
|
||||||
|
CUSTOM_SHIBBOLETH_GET_USER_ROLE = False
|
||||||
|
|
||||||
|
|
||||||
class ShibbolethRemoteUserMiddleware(RemoteUserMiddleware):
|
class ShibbolethRemoteUserMiddleware(RemoteUserMiddleware):
|
||||||
"""
|
"""
|
||||||
@ -43,15 +55,15 @@ class ShibbolethRemoteUserMiddleware(RemoteUserMiddleware):
|
|||||||
" 'django.contrib.auth.middleware.AuthenticationMiddleware'"
|
" 'django.contrib.auth.middleware.AuthenticationMiddleware'"
|
||||||
" before the RemoteUserMiddleware class.")
|
" before the RemoteUserMiddleware class.")
|
||||||
|
|
||||||
#To support logout. If this variable is True, do not
|
# To support logout. If this variable is True, do not
|
||||||
#authenticate user and return now.
|
# authenticate user and return now.
|
||||||
if request.session.get(LOGOUT_SESSION_KEY) is True:
|
if request.session.get(LOGOUT_SESSION_KEY) is True:
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
#Delete the shib reauth session key if present.
|
# Delete the shib reauth session key if present.
|
||||||
request.session.pop(LOGOUT_SESSION_KEY, None)
|
request.session.pop(LOGOUT_SESSION_KEY, None)
|
||||||
|
|
||||||
#Locate the remote user header.
|
# Locate the remote user header.
|
||||||
# import pprint; pprint.pprint(request.META)
|
# import pprint; pprint.pprint(request.META)
|
||||||
try:
|
try:
|
||||||
username = request.META[SHIB_USER_HEADER]
|
username = request.META[SHIB_USER_HEADER]
|
||||||
@ -97,10 +109,20 @@ class ShibbolethRemoteUserMiddleware(RemoteUserMiddleware):
|
|||||||
user.save()
|
user.save()
|
||||||
# call make profile.
|
# call make profile.
|
||||||
self.make_profile(user, shib_meta)
|
self.make_profile(user, shib_meta)
|
||||||
|
|
||||||
|
if CUSTOM_SHIBBOLETH_GET_USER_ROLE:
|
||||||
|
user_role = custom_shibboleth_get_user_role(shib_meta)
|
||||||
|
if user_role:
|
||||||
|
ccnet_api.update_role_emailuser(user.email, user_role)
|
||||||
|
else:
|
||||||
user_role = self.update_user_role(user, shib_meta)
|
user_role = self.update_user_role(user, shib_meta)
|
||||||
|
else:
|
||||||
|
user_role = self.update_user_role(user, shib_meta)
|
||||||
|
|
||||||
if user_role:
|
if user_role:
|
||||||
self.update_user_quota(user, user_role)
|
self.update_user_quota(user, user_role)
|
||||||
#setup session.
|
|
||||||
|
# setup session.
|
||||||
self.setup_session(request)
|
self.setup_session(request)
|
||||||
request.shib_login = True
|
request.shib_login = True
|
||||||
|
|
||||||
@ -234,5 +256,6 @@ class ShibbolethRemoteUserMiddleware(RemoteUserMiddleware):
|
|||||||
error = True
|
error = True
|
||||||
return shib_attrs, error
|
return shib_attrs, error
|
||||||
|
|
||||||
|
|
||||||
class ShibbolethValidationError(Exception):
|
class ShibbolethValidationError(Exception):
|
||||||
pass
|
pass
|
||||||
|
Loading…
Reference in New Issue
Block a user