From 29cb701444bab5aa1815e2fecf6a67c2f20c3f7b Mon Sep 17 00:00:00 2001 From: Luke Faraone Date: Fri, 28 Jun 2013 17:37:15 -0400 Subject: [PATCH] Allow deactivations to cascade to bots (imported from commit 1c42013dab02a8f264e814fef63c84cd03102458) --- zephyr/lib/actions.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/zephyr/lib/actions.py b/zephyr/lib/actions.py index c4e92675d2..a9e375ea3a 100644 --- a/zephyr/lib/actions.py +++ b/zephyr/lib/actions.py @@ -116,7 +116,10 @@ def delete_all_user_sessions(): for session in Session.objects.all(): delete_session(session) -def do_deactivate(user_profile, log=True): +def do_deactivate(user_profile, log=True, _cascade=True): + if not user_profile.is_active: + return + user_profile.is_active = False; user_profile.save(update_fields=["is_active"]) @@ -136,6 +139,11 @@ def do_deactivate(user_profile, log=True): is_active=True)]) tornado_callbacks.send_notification(notice) + if _cascade: + bot_profiles = UserProfile.objects.filter(is_bot=True, is_active=True, + bot_owner=user_profile) + for profile in bot_profiles: + do_deactivate(profile, _cascade=False) def do_change_user_email(user_profile, new_email): old_email = user_profile.email