diff --git a/inventory/views.py b/inventory/views.py index 125341d9..abf8c59a 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -4256,25 +4256,6 @@ def create_estimate(request, dealer_slug, slug=None): ] items_txs = [] for item in items_list: - # car_instance = ItemModel.objects.filter( - # additional_info__car_info__hash=item.get("item_id") - # ).all() - # for i in car_instance[: int(quantities[0])]: - # items_txs.append( - # { - # "item_number": i.item_number, - # "quantity": 1, - # "unit_cost": i.additional_info.get("car_finance").get( - # "selling_price" - # ), - # "unit_revenue": i.additional_info.get("car_finance").get( - # "selling_price" - # ), - # "total_amount": ( - # i.additional_info.get("car_finance").get("total_vat") - # ), - # } - # ) car_instance = models.Car.objects.filter( hash=item.get("item_id"), finances__is_sold=False, @@ -4349,6 +4330,16 @@ def create_estimate(request, dealer_slug, slug=None): opportunity.estimate = estimate opportunity.save() + # models.ExtraInfo.objects.create( + # content_object=estimate, + # data={ + # "customer": { + # "name": customer.name, + # "phone": customer.phone, + # "email": customer.email, + # } + # }, + # ) url = reverse( "estimate_detail", kwargs={"dealer_slug": dealer.slug, "pk": estimate.pk} ) @@ -5361,8 +5352,8 @@ class LeadListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): permission_required = ["inventory.view_lead"] def get_queryset(self): + dealer = get_object_or_404(models.Dealer, slug=self.kwargs["dealer_slug"]) query = self.request.GET.get("q") - dealer = get_user_type(self.request) qs = models.Lead.objects.filter(dealer=dealer).exclude(status="converted") if query: qs = apply_search_filters(qs, query) @@ -5533,10 +5524,7 @@ def lead_create(request,dealer_slug): ) form.fields["staff"].queryset = form.fields["staff"].queryset.filter( dealer=dealer,staff_member__user__groups__permissions__codename__contains="add_lead") - # form.fields["staff"].queryset = form.fields["staff"].queryset.filter( - # dealer=dealer - # ) - print(form.fields["staff"].queryset) + if hasattr(request.user.staffmember, "staff"): form.initial["staff"] = request.user.staffmember.staff @@ -5553,13 +5541,18 @@ def lead_create(request,dealer_slug): @permission_required("inventory.view_lead", raise_exception=True) def lead_tracking(request,dealer_slug): dealer = get_object_or_404(models.Dealer,slug=dealer_slug) - new = models.Lead.objects.filter(dealer=dealer, status="new") - follow_up = models.Lead.objects.filter( - dealer=dealer, next_action__in=["call", "meeting"] - ) - won = models.Lead.objects.filter(dealer=dealer, status="won") - lose = models.Lead.objects.filter(dealer=dealer, status="lost") - negotiation = models.Lead.objects.filter(dealer=dealer, status="negotiation") + staff = models.Staff.objects.filter(dealer=dealer, staff_member__user=request.user).first() + if staff: + qs = models.Lead.objects.filter(dealer=dealer,staff=staff).exclude(status="converted") + else: + qs = models.Lead.objects.filter(dealer=dealer).exclude(status="converted") + + won = qs.filter(status="won") + new = qs.filter(status="new") + lose = qs.filter(status="lose") + negotiation = qs.filter(status="negotiation") + follow_up = qs.filter(next_action__in=["call", "meeting"]) + context = { "new": new, "follow_up": follow_up,