From f33875e224aff04e52295e7c45bc9b042583a841 Mon Sep 17 00:00:00 2001 From: ismail Date: Sun, 1 Jun 2025 15:46:48 +0300 Subject: [PATCH] fix the lead activity and tasks migration to opportuninty --- inventory/models.py | 2 +- inventory/views.py | 23 ++++++++++--------- .../crm/opportunities/opportunity_detail.html | 4 +++- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/inventory/models.py b/inventory/models.py index 633aef45..430f3ab0 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -1973,7 +1973,7 @@ class Opportunity(models.Model): self.slug = slugify( f"opportunity {opportinity_for}" ) - super(Opportunity, self).save(*args, **kwargs) + super().save(*args, **kwargs) class Meta: verbose_name = _("Opportunity") diff --git a/inventory/views.py b/inventory/views.py index 116b76c4..0506a0ce 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -5469,16 +5469,14 @@ class OpportunityCreateView(CreateView, SuccessMessageMixin, LoginRequiredMixin) def form_valid(self, form): dealer = get_user_type(self.request) instance = form.save(commit=False) - if self.kwargs.get("slug"): - lead = models.Lead.objects.get(slug=self.kwargs.get("slug"), dealer=dealer) - instance.dealer = dealer - instance.staff = lead.staff - instance.lead = lead - lead.convert_to_customer() - lead.save() - instance.save() + instance.dealer = dealer + instance.staff = instance.lead.staff + instance.save() + instance.lead.convert_to_customer() + instance.lead.save() return super().form_valid(form) + def get_success_url(self): return reverse_lazy("opportunity_detail", kwargs={"slug": self.object.slug}) @@ -5547,17 +5545,20 @@ class OpportunityDetailView(LoginRequiredMixin, DetailView): context["lead_notes"] = models.Notes.objects.filter( content_type__model="lead", object_id=self.object.id ).order_by("-created") + context["lead_notes"] = models.Notes.objects.filter( + content_type__model="lead", object_id=self.object.lead.id + ).order_by("-created") context["notes"] = models.Notes.objects.filter( content_type__model="opportunity", object_id=self.object.id ).order_by("-created") context["lead_activities"] = models.Activity.objects.filter( - content_type__model="lead", object_id=self.object.id + content_type__model="lead", object_id=self.object.lead.id ) context["activities"] = models.Activity.objects.filter( content_type__model="opportunity", object_id=self.object.id ) lead_email_qs = models.Email.objects.filter( - content_type__model="lead", object_id=self.object.id + content_type__model="lead", object_id=self.object.lead.id ) email_qs = models.Email.objects.filter( content_type__model="opportunity", object_id=self.object.id @@ -5572,7 +5573,7 @@ class OpportunityDetailView(LoginRequiredMixin, DetailView): } context["staff_task_form"] = forms.StaffTaskForm() context["lead_tasks"] = models.Tasks.objects.filter( - content_type__model="lead", object_id=self.object.id + content_type__model="lead", object_id=self.object.lead.id ) context["tasks"] = models.Tasks.objects.filter( content_type__model="opportunity", object_id=self.object.id diff --git a/templates/crm/opportunities/opportunity_detail.html b/templates/crm/opportunities/opportunity_detail.html index 2ade7690..d9a61636 100644 --- a/templates/crm/opportunities/opportunity_detail.html +++ b/templates/crm/opportunities/opportunity_detail.html @@ -646,7 +646,9 @@ - + {% for task in lead_tasks %} + {% include "partials/task.html" with task=task content_type="lead" %} + {% endfor %} {% for task in tasks %} {% include "partials/task.html" with task=task content_type="opportunity" %} {% endfor %}