clubs: tests for adding mailings

This commit is contained in:
2019-05-09 18:06:11 +02:00
parent d1fb9cc4c3
commit 654099067e
5 changed files with 120 additions and 6 deletions

View File

@ -563,12 +563,18 @@ class ClubMailingView(ClubTabsMixin, CanEditMixin, DetailFormView):
"""
Add mailing subscriptions for each user given and/or for the specified email in form
"""
users_to_save = []
for user in cleaned_data["subscription_users"]:
sub = MailingSubscription(
mailing=cleaned_data["subscription_mailing"], user=user
)
sub.clean()
sub.save()
try:
sub.clean()
except ValidationError as validation_error:
return validation_error
users_to_save.append(sub.save())
if cleaned_data["subscription_email"]:
sub = MailingSubscription(
@ -582,6 +588,10 @@ class ClubMailingView(ClubTabsMixin, CanEditMixin, DetailFormView):
return validation_error
sub.save()
# Save users after we are sure there is no error
for user in users_to_save:
user.save()
return None
def remove_subscription(self, cleaned_data):