From f6b7afb51c76da16ebd6a1cd4c85e19a7abf825a Mon Sep 17 00:00:00 2001 From: Tatu Wikman Date: Fri, 22 Dec 2023 21:31:05 +0200 Subject: [PATCH] black --- drfx/settings.py | 2 +- .../commands/delete_marked_users.py | 12 ++++++---- users/signals.py | 12 +++++++--- users/tests/test_user_deletion.py | 23 ++++++------------- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/drfx/settings.py b/drfx/settings.py index 4f80a398..6103367a 100644 --- a/drfx/settings.py +++ b/drfx/settings.py @@ -35,7 +35,7 @@ # After user has been marked for deletion, how many days to wait until # really deleting the user and their associated data -USER_DELETION_DAYS=90 +USER_DELETION_DAYS = 90 # https://docs.djangoproject.com/en/4.1/ref/settings/ SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") diff --git a/users/management/commands/delete_marked_users.py b/users/management/commands/delete_marked_users.py index 4a1afc3c..cc64a4c7 100644 --- a/users/management/commands/delete_marked_users.py +++ b/users/management/commands/delete_marked_users.py @@ -8,6 +8,7 @@ logger = logging.getLogger(__name__) + class Command(BaseCommand): help = "Delete all users that have been marked for deletion for more than the cutoff setting" @@ -15,13 +16,16 @@ def handle(self, *args, **options): # some safety margin dt = timezone.now() - timezone.timedelta(days=config.USER_DELETION_DAYS) - logger.info(f" Search for users that have been marked for deletion for over {config.USER_DELETION_DAYS} days") + logger.info( + f" Search for users that have been marked for deletion for over {config.USER_DELETION_DAYS} days" + ) users = CustomUser.objects.filter( - marked_for_deletion_on__isnull=False, - marked_for_deletion_on__lt=dt + marked_for_deletion_on__isnull=False, marked_for_deletion_on__lt=dt ) for user in users: - logger.info(f" Deleting User {user} as it has been marked for deletion over {config.USER_DELETION_DAYS} days") + logger.info( + f" Deleting User {user} as it has been marked for deletion over {config.USER_DELETION_DAYS} days" + ) user.delete() diff --git a/users/signals.py b/users/signals.py index 3abe7ea3..13618d35 100644 --- a/users/signals.py +++ b/users/signals.py @@ -84,7 +84,6 @@ def send_reset_password_email(sender, instance: models.CustomUser, **kwargs): form.save(from_email=from_email, email_template_name=template) - @receiver(post_save, sender=models.MembershipApplication) def application_creation( sender, instance: models.MembershipApplication, created, raw, **kwargs @@ -277,7 +276,11 @@ def handle_marked_for_deletion(sender, instance: models.CustomUser, raw, **kwarg if instance.marked_for_deletion_on: # so the field was changed, mark the user is_active=False and send and email too - logger.info("User marked for deletion, also changing active to false and informing the user {}".format(instance)) + logger.info( + "User marked for deletion, also changing active to false and informing the user {}".format( + instance + ) + ) instance.is_active = False # and send the email @@ -288,10 +291,13 @@ def handle_marked_for_deletion(sender, instance: models.CustomUser, raw, **kwarg subject = _("Your account has been deactivated and marked for deletion") from_email = config.NOREPLY_FROM_ADDRESS to = [instance.email, config.MEMBERSHIP_APPLICATION_NOTIFY_ADDRESS] - plaintext_content = render_to_string("mail/account_deactivated_and_marked_for_deletion.txt", context) + plaintext_content = render_to_string( + "mail/account_deactivated_and_marked_for_deletion.txt", context + ) send_mail(subject, plaintext_content, from_email, to) + # # Signal door access denied # diff --git a/users/tests/test_user_deletion.py b/users/tests/test_user_deletion.py index 01f58d07..e0797464 100644 --- a/users/tests/test_user_deletion.py +++ b/users/tests/test_user_deletion.py @@ -32,7 +32,7 @@ def test_mark_user_for_deletion(self): self.assertEqual(self.user.is_active, True) self.assertIsNone(self.user.marked_for_deletion_on) - self.user.marked_for_deletion_on=timezone.now() + self.user.marked_for_deletion_on = timezone.now() self.user.save() # user was marked is inactive @@ -50,7 +50,7 @@ def test_mark_user_for_deletion(self): mail.outbox = [] # mark again - self.user.marked_for_deletion_on=timezone.now() + self.user.marked_for_deletion_on = timezone.now() self.user.save() # no emails sent @@ -60,7 +60,7 @@ def test_mark_user_for_deletion(self): mail.outbox = [] # remove mark - self.user.marked_for_deletion_on=None + self.user.marked_for_deletion_on = None self.user.save() # user still marked as inactive @@ -82,16 +82,10 @@ def test_user_deletion(self): ) # log entry for the user - models.UsersLog.objects.create( - user=self.user, - message="test" - ) + models.UsersLog.objects.create(user=self.user, message="test") # nfc card - models.NFCCard.objects.create( - user=self.user, - cardid="123" - ) + models.NFCCard.objects.create(user=self.user, cardid="123") # custom invoice models.CustomInvoice.objects.create( @@ -103,9 +97,7 @@ def test_user_deletion(self): # bank transaction that points to the user self.transaction = models.BankTransaction.objects.create( - user=self.user, - date=timezone.now().date(), - amount=10 + user=self.user, date=timezone.now().date(), amount=10 ) # delete the user @@ -132,8 +124,7 @@ def test_user_deletion(self): self.transaction.refresh_from_db() self.assertEqual(self.transaction.user, None) - def tearDown(self): mail.outbox = [] get_user_model().objects.all().delete() - models.MemberService.objects.all().delete() \ No newline at end of file + models.MemberService.objects.all().delete()