diff --git a/core/crm/amo/gateway.py b/core/crm/amo/gateway.py index f03a326c..eb2de7b9 100644 --- a/core/crm/amo/gateway.py +++ b/core/crm/amo/gateway.py @@ -14,6 +14,8 @@ logger = logging.getLogger("django") class AmoCRM: + STATUS_MAP: dict[str, str] = {} + def __init__(self): try: self.instance = CustomerRelationshipManagementProvider.objects.get(name="amo") @@ -170,14 +172,10 @@ class AmoCRM: OrderCrmLink.objects.create(order=order, crm_lead_id=lead_id, crm=self.instance) return lead_id - def update_order_status(self, crm_lead_id: str, new_status_code: str) -> None: - link = OrderCrmLink.objects.filter(crm_lead_id=crm_lead_id).first() - if not link: - return - from core.models import Order + def update_order_status(self, crm_lead_id: str, new_status: str) -> None: + link = OrderCrmLink.objects.get(crm_lead_id=crm_lead_id) - order = Order.objects.get(uuid=link.order_uuid) - if order.status == new_status_code: + if link.order.status == new_status: return - order.status = new_status_code - order.save(update_fields=["status"]) + link.order.status = self.STATUS_MAP.get(new_status) + link.order.save(update_fields=["status"])