Add do_reactivate() action.

(imported from commit fc73d0fdd3a6125b3b31a75c3b108ceb266e528b)
This commit is contained in:
Steve Howell
2013-11-15 12:57:44 -05:00
committed by Tim Abbott
parent 5d14105d1f
commit bdfd3ed9c2
2 changed files with 23 additions and 1 deletions

View File

@@ -1055,6 +1055,19 @@ def do_activate_user(user_profile, log=True, join_date=timezone.now()):
notify_created_user(user_profile)
def do_reactivate(user_profile):
# Unlike do_activate_user, this is meant for re-activating existing users,
# so it doesn't reset their password, etc.
user_profile.is_active = True
user_profile.save(update_fields=["is_active"])
domain = user_profile.realm.domain
log_event({'type': 'user_reactivated',
'user': user_profile.email,
'domain': domain})
notify_created_user(user_profile)
def do_change_password(user_profile, password, log=True, commit=True,
hashed_password=False):
if hashed_password:

View File

@@ -19,7 +19,8 @@ from zerver.lib.initial_password import initial_password
from zerver.lib.actions import check_send_message, gather_subscriptions, \
create_stream_if_needed, do_add_subscription, compute_mit_user_fullname, \
do_add_realm_emoji, do_remove_realm_emoji, check_message, do_create_user, \
set_default_streams, get_emails_from_user_ids
set_default_streams, get_emails_from_user_ids, \
do_deactivate, do_reactivate
from zerver.lib.rate_limiter import add_ratelimit_rule, remove_ratelimit_rule
from zerver.lib import bugdown
from zerver.lib import cache
@@ -837,6 +838,14 @@ class UserChangesTest(AuthedTestCase):
user = get_user_profile_by_email(email)
self.assertEqual(new_api_key, user.api_key)
class ActivateTest(TestCase):
def test_basics(self):
user = get_user_profile_by_email('hamlet@zulip.com')
do_deactivate(user)
self.assertFalse(user.is_active)
do_reactivate(user)
self.assertTrue(user.is_active)
class BotTest(AuthedTestCase):
def assert_num_bots_equal(self, count):
result = self.client.post("/json/get_bots")