From 4b7ec9de27718e3b65a9bf32069ac3b0e6e78644 Mon Sep 17 00:00:00 2001 From: ilearnit Date: Wed, 10 Jan 2018 17:28:28 +0800 Subject: [PATCH] Delete user option (#1979) * Remove user all options * delete space * delete space * debug sapce --- seahub/base/accounts.py | 7 +++++++ tests/seahub/base/test_accounts.py | 15 +++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/seahub/base/accounts.py b/seahub/base/accounts.py index 1dc13fb4d3..cbfc35ebab 100644 --- a/seahub/base/accounts.py +++ b/seahub/base/accounts.py @@ -331,6 +331,13 @@ class User(object): if settings.ENABLE_TERMS_AND_CONDITIONS: from termsandconditions.models import UserTermsAndConditions UserTermsAndConditions.objects.filter(username=username).delete() + self.delete_user_options(username) + + def delete_user_options(self, username): + """Remove user's all options. + """ + from seahub.options.models import UserOptions + UserOptions.objects.filter(email=username).delete() def get_and_delete_messages(self): messages = [] diff --git a/tests/seahub/base/test_accounts.py b/tests/seahub/base/test_accounts.py index fd84c23353..37c56ac6cb 100644 --- a/tests/seahub/base/test_accounts.py +++ b/tests/seahub/base/test_accounts.py @@ -1,6 +1,7 @@ from seahub.test_utils import BaseTestCase from seahub.base.accounts import User, RegistrationForm +from seahub.options.models import UserOptions from post_office.models import Email class UserTest(BaseTestCase): @@ -16,6 +17,20 @@ class UserTest(BaseTestCase): # email = Email.objects.all()[0] # print email.html_message + def test_delete_user_options(self): + test_email = '123@123.com' + + assert len(UserOptions.objects.filter(email=test_email)) == 0 + + User.objects.create_user(test_email) + UserOptions.objects.enable_server_crypto(test_email) + + assert len(UserOptions.objects.filter(email=test_email)) == 1 + + user = User.objects.get(email=test_email) + user.delete() + + assert len(UserOptions.objects.filter(email=test_email)) == 0 class UserPermissionsTest(BaseTestCase): def test_permissions(self):