Skip to content

Commit 99bf004

Browse files
committed
refatctor mailchimp_utils.subscribe_mailchimp for sync and async versions
1 parent c43b4ee commit 99bf004

File tree

6 files changed

+9
-10
lines changed

6 files changed

+9
-10
lines changed

osf/management/commands/update_mailchimp_email.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def update_mailchimp_email():
1313
for user in OSFUser.objects.filter(deleted__isnull=True):
1414
for list_name, subscription in user.mailchimp_mailing_lists.items():
1515
if subscription:
16-
mailchimp_utils.subscribe_mailchimp(list_name, user._id)
16+
mailchimp_utils.subscribe_mailchimp_async(list_name, user._id)
1717
users_updated += 1
1818

1919
return users_updated

osf/models/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1073,7 +1073,7 @@ def save(self, *args, **kwargs):
10731073
if 'username' in dirty_fields:
10741074
for list_name, subscription in self.mailchimp_mailing_lists.items():
10751075
if subscription:
1076-
mailchimp_utils.subscribe_mailchimp(list_name, self._id)
1076+
mailchimp_utils.subscribe_mailchimp_async(list_name, self._id)
10771077
return ret
10781078

10791079
# Legacy methods

scripts/fix_user_mailchimp.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
setup_django()
1010
from osf.models import OSFUser
1111
from scripts import utils as script_utils
12-
from website.mailchimp_utils import subscribe_mailchimp
12+
from website.mailchimp_utils import subscribe_mailchimp_async
1313
from website import settings
1414

1515
logger = logging.getLogger(__name__)
@@ -31,7 +31,7 @@ def main():
3131
for user in users:
3232
if settings.MAILCHIMP_GENERAL_LIST not in user.mailchimp_mailing_lists:
3333
if not dry:
34-
subscribe_mailchimp(settings.MAILCHIMP_GENERAL_LIST, user._id)
34+
subscribe_mailchimp_async(settings.MAILCHIMP_GENERAL_LIST, user._id)
3535
logger.info(f'User {user._id} has been subscribed to OSF general mailing list')
3636
count += 1
3737

tests/test_mailchimp.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def test_subscribe_called(self, mock_get_mailchimp_api):
3636
mock_get_mailchimp_api.return_value = mock_client
3737
mock_client.lists.get.return_value = {'id': 1, 'list_name': list_name}
3838
list_id = mailchimp_utils.get_list_id_from_name(list_name)
39-
mailchimp_utils.subscribe_mailchimp(list_name, user._id)
39+
mailchimp_utils.subscribe_mailchimp_async(list_name, user._id)
4040
handlers.celery_teardown_request()
4141
mock_client.lists.members.create_or_update.assert_called()
4242

@@ -48,10 +48,9 @@ def test_subscribe_fake_email_does_not_throw_validation_error(self, mock_get_mai
4848
mock_client = mock.MagicMock()
4949
mock_get_mailchimp_api.return_value = mock_client
5050
mock_client.lists.members.create_or_update.side_effect = MailChimpError
51-
mailchimp_utils.subscribe_mailchimp(list_name, user._id)
52-
handlers.celery_teardown_request()
51+
mailchimp_utils.subscribe_mailchimp_async(list_name, user._id)
5352
user.reload()
54-
assert not user.mailchimp_mailing_lists[list_name]
53+
assert not user.mailchimp_mailing_lists
5554

5655
@mock.patch('website.mailchimp_utils.get_mailchimp_api')
5756
def test_unsubscribe_called_with_correct_arguments(self, mock_get_mailchimp_api):

website/mailchimp_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,4 @@ def unsubscribe_mailchimp_async(list_name, user_id, username=None):
118118
def subscribe_on_confirm(user):
119119
# Subscribe user to general OSF mailing list upon account confirmation
120120
if settings.ENABLE_EMAIL_SUBSCRIPTIONS:
121-
subscribe_mailchimp(settings.MAILCHIMP_GENERAL_LIST, user._id)
121+
subscribe_mailchimp_async(settings.MAILCHIMP_GENERAL_LIST, user._id)

website/profile/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ def update_mailchimp_subscription(user, list_name, subscription):
519519
:param boolean subscription: true if user is subscribed
520520
"""
521521
if subscription:
522-
mailchimp_utils.subscribe_mailchimp(list_name, user._id)
522+
mailchimp_utils.subscribe_mailchimp_async(list_name, user._id)
523523
else:
524524
try:
525525
mailchimp_utils.unsubscribe_mailchimp_async(list_name, user._id, username=user.username)

0 commit comments

Comments
 (0)