mirror of
https://github.com/zulip/zulip.git
synced 2026-07-12 21:04:41 +08:00
Add do_reactivate() action.
(imported from commit fc73d0fdd3a6125b3b31a75c3b108ceb266e528b)
This commit is contained in:
parent
5d14105d1f
commit
bdfd3ed9c2
@ -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:
|
||||
|
||||
@ -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")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user