Skip to content

Commit 9af647a

Browse files
renzonrenzon
authored andcommitted
Included tag form last cohort on email marketing domain
close #3790
1 parent 1193314 commit 9af647a

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

pythonpro/domain/subscription_domain.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,17 @@ def activate_subscription_on_all_services(subscription: Subscription, responsibl
8383
memberkit_facade.activate(subscription, responsible, observation)
8484
sync_user_on_discourse(subscription)
8585
subscriber = subscription.subscriber
86+
tags = list(subscription.email_marketing_tags)
87+
if subscription.include_on_cohort:
88+
cohort_facade.subscribe_to_last_cohort(subscriber)
89+
cohort = cohort_facade.find_most_recent_cohort()
90+
tags.append(f'turma-{cohort.slug}')
8691
email_marketing_facade.create_or_update_user.delay(
8792
subscriber.get_full_name(),
8893
subscriber.email,
8994
None,
90-
*subscription.email_marketing_tags,
95+
*tags,
9196
id=subscription.id,
9297
phone=phone
9398
)
94-
if subscription.include_on_cohort:
95-
cohort_facade.subscribe_to_last_cohort(subscriber)
9699
return subscription
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Generated by Django 3.2.4 on 2021-06-10 02:08
2+
3+
import django.db.models.deletion
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
dependencies = [
9+
('django_pagarme', '0005_change_primary_key_to_big_integer'),
10+
('memberkit', '0006_include_cohort_subscription_flag'),
11+
]
12+
13+
operations = [
14+
migrations.AlterField(
15+
model_name='subscription',
16+
name='payment',
17+
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING,
18+
to='django_pagarme.pagarmepayment'),
19+
),
20+
]

pythonpro/memberkit/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class Status(models.TextChoices):
4242
status = models.CharField(max_length=1, choices=Status.choices)
4343
created_at = models.DateTimeField(auto_now_add=True)
4444
updated_at = models.DateTimeField(auto_now=True)
45-
payment = models.OneToOneField('django_pagarme.PagarmePayment', on_delete=models.DO_NOTHING, null=True)
45+
payment = models.OneToOneField('django_pagarme.PagarmePayment', on_delete=models.DO_NOTHING, null=True, blank=True)
4646
subscription_types = models.ManyToManyField(SubscriptionType, related_name='subscriptions')
4747
subscriber = models.ForeignKey(get_user_model(), on_delete=models.DO_NOTHING, null=True,
4848
related_name='subscriptions')

0 commit comments

Comments
 (0)