mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-25 14:50:29 +00:00
[sysadmin] clear token
clear api/repo-sync token when delete/inactive an user
This commit is contained in:
@@ -15,7 +15,7 @@ from forms import DetailedProfileForm
|
||||
from models import Profile, DetailedProfile
|
||||
from utils import refresh_cache
|
||||
from seahub.auth.decorators import login_required
|
||||
from seahub.utils import is_org_context
|
||||
from seahub.utils import is_org_context, clear_token
|
||||
from seahub.base.accounts import User
|
||||
from seahub.base.templatetags.seahub_tags import email2nickname
|
||||
from seahub.contacts.models import Contact
|
||||
@@ -170,6 +170,7 @@ def delete_user_account(request):
|
||||
|
||||
user = User.objects.get(email=username)
|
||||
user.delete()
|
||||
clear_token(username)
|
||||
|
||||
if is_org_context(request):
|
||||
org_id = request.user.org.org_id
|
||||
|
@@ -27,6 +27,7 @@ from django.http import HttpResponseRedirect, HttpResponse, HttpResponseNotModif
|
||||
from django.utils.http import urlquote
|
||||
from django.views.static import serve as django_static_serve
|
||||
|
||||
from seahub.api2.models import Token, TokenV2
|
||||
import seaserv
|
||||
from seaserv import seafile_api
|
||||
from seaserv import seafserv_rpc, seafserv_threaded_rpc, get_repo, get_commits,\
|
||||
@@ -1173,3 +1174,12 @@ def is_pro_version():
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def clear_token(username):
|
||||
'''
|
||||
clear web api and repo sync token
|
||||
when delete/inactive an user
|
||||
'''
|
||||
Token.objects.filter(user = username).delete()
|
||||
TokenV2.objects.filter(user = username).delete()
|
||||
seafile_api.delete_repo_tokens_by_email(username)
|
||||
|
@@ -34,7 +34,8 @@ import seahub.settings as settings
|
||||
from seahub.settings import INIT_PASSWD, SITE_NAME, \
|
||||
SEND_EMAIL_ON_ADDING_SYSTEM_MEMBER, SEND_EMAIL_ON_RESETTING_USER_PASSWD, \
|
||||
ENABLE_GUEST
|
||||
from seahub.utils import send_html_email, get_user_traffic_list, get_server_id
|
||||
from seahub.utils import send_html_email, get_user_traffic_list, \
|
||||
get_server_id, clear_token
|
||||
from seahub.utils.sysinfo import get_platform_name
|
||||
try:
|
||||
from seahub.settings import ENABLE_TRIAL_ACCOUNT
|
||||
@@ -538,6 +539,7 @@ def user_remove(request, user_id):
|
||||
seafile_api.remove_repo(repo.id)
|
||||
|
||||
user.delete()
|
||||
clear_token(user.email)
|
||||
messages.success(request, _(u'Successfully deleted %s') % user.username)
|
||||
except User.DoesNotExist:
|
||||
messages.error(request, _(u'Failed to delete: the user does not exist'))
|
||||
@@ -670,6 +672,8 @@ def user_toggle_status(request, email):
|
||||
return HttpResponse(json.dumps({'success': True,
|
||||
'email_sent': email_sent,
|
||||
}), content_type=content_type)
|
||||
else:
|
||||
clear_token(user.email)
|
||||
return HttpResponse(json.dumps({'success': True}),
|
||||
content_type=content_type)
|
||||
except User.DoesNotExist:
|
||||
|
Reference in New Issue
Block a user