Skip to content

Commit

Permalink
feat(Structures): nouveau champ pour stocker le brevo_company_id (#1208)
Browse files Browse the repository at this point in the history
  • Loading branch information
raphodn authored May 13, 2024
1 parent d78c41d commit 046818f
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 10 deletions.
27 changes: 27 additions & 0 deletions lemarche/siaes/migrations/0073_siae_brevo_company_id.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Generated by Django 4.2.13 on 2024-05-13 12:29

from django.db import migrations, models


def populate_brevo_company_id(apps, schema_editor):
Siae = apps.get_model("siaes", "Siae")

for siae in Siae.objects.all():
if siae.extra_data.get("brevo_company_id"):
siae.brevo_company_id = siae.extra_data.get("brevo_company_id")
siae.save()


class Migration(migrations.Migration):
dependencies = [
("siaes", "0072_siae_extra_data"),
]

operations = [
migrations.AddField(
model_name="siae",
name="brevo_company_id",
field=models.CharField(blank=True, max_length=80, null=True, verbose_name="Brevo company id"),
),
migrations.RunPython(populate_brevo_company_id, reverse_code=migrations.RunPython.noop),
]
12 changes: 3 additions & 9 deletions lemarche/siaes/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -830,6 +830,9 @@ class Siae(models.Model):
# admin
notes = GenericRelation("notes.Note", related_query_name="siae")

# services data
brevo_company_id = models.CharField("Brevo company id", max_length=80, blank=True, null=True)

# stats
user_count = models.IntegerField("Nombre d'utilisateurs", default=0)
sector_count = models.IntegerField("Nombre de secteurs d'activité", default=0)
Expand Down Expand Up @@ -1222,10 +1225,6 @@ def sectors_list_string(self, display_max=3):
def sectors_full_list_string(self):
return self.sectors_list_string(display_max=None)

@property
def brevo_company_id(self):
return self.extra_data.get("brevo_company_id")

@cached_property
def stat_view_count_last_3_months(self):
try:
Expand Down Expand Up @@ -1257,11 +1256,6 @@ def get_absolute_url(self):
def get_admin_url(self):
return get_object_admin_url(self)

def set_brevo_id(self, brevo_company_id, with_save=True):
self.extra_data.update({"brevo_company_id": brevo_company_id})
if with_save:
self.save()

def set_super_badge(self):
update_fields_list = ["super_badge"]
siae_super_badge_current_value = self.super_badge
Expand Down
3 changes: 3 additions & 0 deletions lemarche/tenders/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,7 @@ class Tender(models.Model):
validated_at = models.DateTimeField("Date de validation", blank=True, null=True)
first_sent_at = models.DateTimeField("Date du premier envoi", blank=True, null=True)
last_sent_at = models.DateTimeField("Date du dernier envoi", blank=True, null=True)

# admin
notes = GenericRelation("notes.Note", related_query_name="tender")
siae_transactioned = models.BooleanField(
Expand Down Expand Up @@ -612,11 +613,13 @@ class Tender(models.Model):
help_text=ADMIN_FIELD_HELP_TEXT,
default=6,
)

# partner data
partner_approch_id = models.IntegerField("Partenaire APProch : ID", blank=True, null=True)

# services data
brevo_deal_id = models.CharField("Brevo deal id", max_length=80, blank=True, null=True)

# stats
siae_count = models.IntegerField(
"Nombre de structures concernées", help_text=RECALCULATED_FIELD_HELP_TEXT, default=0
Expand Down
3 changes: 2 additions & 1 deletion lemarche/utils/apis/api_brevo.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ def create_or_update_company(siae):
api_response = api_instance.companies_post(siae_brevo_company_body)
logger.info(f"Success Brevo->CompaniesApi->create_or_update_company (create): {api_response}")
# api_response: {'id': '<brevo_company_id>'}
siae.set_brevo_id(api_response.id)
siae.brevo_company_id = api_response.id
siae.save(update_fields=["brevo_company_id"])
except ApiException as e:
logger.error(f"Exception when calling Brevo->CompaniesApi->create_or_update_company (create): {e}")

Expand Down

0 comments on commit 046818f

Please sign in to comment.