mirror of
https://github.com/zulip/zulip.git
synced 2025-11-07 15:33:30 +00:00
Add management command to logout all users.
This is intended to be used logging out users during our deployment of the UserProfile merge, but it could be useful for other things too. (imported from commit bfe896d854f997f7a4d06e5bc0f19ec5b1aa5e69)
This commit is contained in:
@@ -83,7 +83,7 @@ def delete_user_sessions(user_profile):
|
|||||||
if session.get_decoded().get('_auth_user_id') == user_profile.user.id:
|
if session.get_decoded().get('_auth_user_id') == user_profile.user.id:
|
||||||
delete_session(session)
|
delete_session(session)
|
||||||
|
|
||||||
def delete_realm_sessions(realm):
|
def delete_realm_user_sessions(realm):
|
||||||
realm_user_ids = [u.user.id for u in
|
realm_user_ids = [u.user.id for u in
|
||||||
UserProfile.objects.filter(realm=realm)]
|
UserProfile.objects.filter(realm=realm)]
|
||||||
for session in Session.objects.all():
|
for session in Session.objects.all():
|
||||||
|
|||||||
25
zephyr/management/commands/logout_all_users.py
Executable file
25
zephyr/management/commands/logout_all_users.py
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
from optparse import make_option
|
||||||
|
|
||||||
|
from django.core.management.base import BaseCommand
|
||||||
|
|
||||||
|
from zephyr.lib.actions import delete_all_user_sessions, \
|
||||||
|
delete_realm_user_sessions
|
||||||
|
from zephyr.models import Realm
|
||||||
|
|
||||||
|
class Command(BaseCommand):
|
||||||
|
help = "Log out all users."
|
||||||
|
|
||||||
|
option_list = BaseCommand.option_list + (
|
||||||
|
make_option('--realm',
|
||||||
|
dest='realm',
|
||||||
|
action='store',
|
||||||
|
default=None,
|
||||||
|
help="Only logout all users in a particular realm"),
|
||||||
|
)
|
||||||
|
|
||||||
|
def handle(self, *args, **options):
|
||||||
|
if options["realm"]:
|
||||||
|
realm = Realm.objects.get(domain=options["realm"])
|
||||||
|
delete_realm_user_sessions(realm)
|
||||||
|
else:
|
||||||
|
delete_all_user_sessions()
|
||||||
Reference in New Issue
Block a user