mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	Add /json/users/<email>/reactivate endpoint.
(imported from commit 7afa29f7718430ea2df7c489ab2af4d93d4ce497)
This commit is contained in:
		@@ -838,7 +838,7 @@ class UserChangesTest(AuthedTestCase):
 | 
			
		||||
        user = get_user_profile_by_email(email)
 | 
			
		||||
        self.assertEqual(new_api_key, user.api_key)
 | 
			
		||||
 | 
			
		||||
class ActivateTest(TestCase):
 | 
			
		||||
class ActivateTest(AuthedTestCase):
 | 
			
		||||
    def test_basics(self):
 | 
			
		||||
        user = get_user_profile_by_email('hamlet@zulip.com')
 | 
			
		||||
        do_deactivate(user)
 | 
			
		||||
@@ -846,6 +846,24 @@ class ActivateTest(TestCase):
 | 
			
		||||
        do_reactivate(user)
 | 
			
		||||
        self.assertTrue(user.is_active)
 | 
			
		||||
 | 
			
		||||
    def test_api(self):
 | 
			
		||||
        admin = get_user_profile_by_email('othello@zulip.com')
 | 
			
		||||
        assign_perm('administer', admin, admin.realm)
 | 
			
		||||
        self.login('othello@zulip.com')
 | 
			
		||||
 | 
			
		||||
        user = get_user_profile_by_email('hamlet@zulip.com')
 | 
			
		||||
        self.assertTrue(user.is_active)
 | 
			
		||||
 | 
			
		||||
        result = self.client.delete('/json/users/hamlet@zulip.com')
 | 
			
		||||
        self.assert_json_success(result)
 | 
			
		||||
        user = get_user_profile_by_email('hamlet@zulip.com')
 | 
			
		||||
        self.assertFalse(user.is_active)
 | 
			
		||||
 | 
			
		||||
        result = self.client.post('/json/users/hamlet@zulip.com/reactivate')
 | 
			
		||||
        self.assert_json_success(result)
 | 
			
		||||
        user = get_user_profile_by_email('hamlet@zulip.com')
 | 
			
		||||
        self.assertTrue(user.is_active)
 | 
			
		||||
 | 
			
		||||
class BotTest(AuthedTestCase):
 | 
			
		||||
    def assert_num_bots_equal(self, count):
 | 
			
		||||
        result = self.client.post("/json/get_bots")
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@ from zerver.lib.actions import bulk_remove_subscriptions, \
 | 
			
		||||
    recipient_for_emails, extract_recipients, do_events_register, \
 | 
			
		||||
    get_status_dict, do_change_enable_offline_email_notifications, \
 | 
			
		||||
    do_update_message, internal_prep_message, \
 | 
			
		||||
    do_send_messages, get_default_subs, do_deactivate, \
 | 
			
		||||
    do_send_messages, get_default_subs, do_deactivate, do_reactivate, \
 | 
			
		||||
    user_email_is_unique, do_invite_users, do_refer_friend, compute_mit_user_fullname, \
 | 
			
		||||
    do_add_alert_words, do_remove_alert_words, do_set_alert_words, get_subscriber_emails, \
 | 
			
		||||
    do_set_muted_topics, do_rename_stream, \
 | 
			
		||||
@@ -2025,6 +2025,18 @@ def deactivate_user_backend(request, user_profile, email):
 | 
			
		||||
    do_deactivate(target)
 | 
			
		||||
    return json_success({})
 | 
			
		||||
 | 
			
		||||
def reactivate_user_backend(request, user_profile, email):
 | 
			
		||||
    try:
 | 
			
		||||
        target = get_user_profile_by_email(email)
 | 
			
		||||
    except UserProfile.DoesNotExist:
 | 
			
		||||
        return json_error('No such user')
 | 
			
		||||
 | 
			
		||||
    if not user_profile.can_admin_user(target):
 | 
			
		||||
        return json_error('Insufficient permission')
 | 
			
		||||
 | 
			
		||||
    do_reactivate(target)
 | 
			
		||||
    return json_success({})
 | 
			
		||||
 | 
			
		||||
def avatar(request, email):
 | 
			
		||||
    try:
 | 
			
		||||
        user_profile = get_user_profile_by_email(email)
 | 
			
		||||
 
 | 
			
		||||
@@ -211,6 +211,8 @@ v1_api_and_json_patterns = patterns('zerver.views',
 | 
			
		||||
    url(r'^users/me/apns_device_token$', 'rest_dispatch',
 | 
			
		||||
        {'POST'  : 'add_apns_device_token',
 | 
			
		||||
         'DELETE': 'remove_apns_device_token'}),
 | 
			
		||||
    url(r'^users/(?P<email>.*)/reactivate$', 'rest_dispatch',
 | 
			
		||||
            {'POST': 'reactivate_user_backend'}),
 | 
			
		||||
    url(r'^users/(?P<email>.*)$', 'rest_dispatch',
 | 
			
		||||
            {'DELETE': 'deactivate_user_backend'}),
 | 
			
		||||
    url(r'^bots/(?P<email>.*)/api_key/regenerate$', 'rest_dispatch',
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user