diff --git a/inventory/models.py b/inventory/models.py index 4f20430a..b04c193a 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -2606,7 +2606,7 @@ class CustomGroup(models.Model): "activity", "opportunity", "vendor", - "customer" + "customer", "notes", "tasks", "activity", diff --git a/inventory/views.py b/inventory/views.py index f697bdb6..a04ea1bf 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -3864,6 +3864,15 @@ class BankAccountDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailV template_name = "ledger/bank_accounts/bank_account_detail.html" context_object_name = "bank_account" permission_required = ["django_ledger.view_bankaccountmodel"] + + def get_queryset(self): + dealer = get_object_or_404(models.Dealer, slug=self.kwargs["dealer_slug"]) + query=self.request.GET.get('q') + qs=self.model.objects.filter(entity=dealer.entity) + if query: + qs=apply_search_filters(qs,query) + return qs + return qs class BankAccountUpdateView( @@ -5584,14 +5593,23 @@ class LeadListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): query = self.request.GET.get("q") qs = models.Lead.objects.filter(dealer=dealer).exclude(status="converted") if query: - qs = apply_search_filters(qs, query) + qs = qs.filter(Q(first_name__icontains=query) + | Q(last_name__icontains=query) + | Q(id_car_make__name__icontains=query) + | Q(id_car_model__name__icontains=query) + | Q(email__icontains=query) + | Q(phone_number__icontains=query) + | Q(next_action__icontains=query) + | Q(staff__name__icontains=query)) + if self.request.is_dealer: return qs staffmember = getattr(self.request.user, "staffmember", None) if staff := getattr(staffmember, "staff", None): return qs.filter(staff=staff) return models.Lead.objects.none() - + + class LeadDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailView): """ @@ -6654,12 +6672,15 @@ class OpportunityListView(LoginRequiredMixin,PermissionRequiredMixin, ListView): queryset = models.Opportunity.objects.filter(dealer=dealer, lead__staff=staff) # Search filter - search = self.request.GET.get("search") + search = self.request.GET.get("q") if search: queryset = queryset.filter( - Q(customer__customer_name__icontains=search) + Q(customer__first_name__icontains=search) + | Q(customer__last_name__icontains=search) | Q(customer__email__icontains=search) - ) + + ) + # Stage filter stage = self.request.GET.get("stage") @@ -6947,10 +6968,17 @@ class ItemServiceListView(LoginRequiredMixin, PermissionRequiredMixin, ListView) paginate_by = 30 permission_required = ["inventory.view_additionalservices"] - def get_queryset(self): dealer = get_user_type(self.request) - return models.AdditionalServices.objects.filter(dealer=dealer).all() + query=self.request.GET.get('q') + qs= models.AdditionalServices.objects.filter(dealer=dealer).all() + if query: + qs=apply_search_filters(qs,query) + return qs + + # def get_queryset(self): + # dealer = get_user_type(self.request) + # return models.AdditionalServices.objects.filter(dealer=dealer).all() class ItemExpenseCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView): @@ -7068,9 +7096,18 @@ class ItemExpenseListView(LoginRequiredMixin, PermissionRequiredMixin, ListView) paginate_by = 30 permission_required = ["django_ledger.view_itemmodel"] + # def get_queryset(self): + # dealer = get_user_type(self.request) + # return dealer.entity.get_items_expenses() + def get_queryset(self): dealer = get_user_type(self.request) - return dealer.entity.get_items_expenses() + query=self.request.GET.get('q') + qs= dealer.entity.get_items_expenses() + if query: + qs=apply_search_filters(qs,query) + return qs + class BillListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): @@ -7100,6 +7137,9 @@ class BillListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): def get_queryset(self): dealer = get_user_type(self.request) qs = dealer.entity.get_bills() + query=self.request.GET.get('q') + if query: + qs=qs.filter(vendor__vendor_name__icontains=query) return qs def get_context_data(self, **kwargs): @@ -9917,10 +9957,21 @@ class PurchaseOrderListView(LoginRequiredMixin, PermissionRequiredMixin, ListVie template_name = "purchase_orders/po_list.html" permission_required = ["django_ledger.view_purchaseordermodel"] + # def get_queryset(self): + # dealer = get_object_or_404(models.Dealer, slug=self.kwargs["dealer_slug"]) + # return self.model.objects.filter(entity=dealer.entity) def get_queryset(self): dealer = get_object_or_404(models.Dealer, slug=self.kwargs["dealer_slug"]) - return self.model.objects.filter(entity=dealer.entity) - + query=self.request.GET.get("q") + qs=self.model.objects.filter(entity=dealer.entity) + if query: + qs=apply_search_filters(qs,query) + if self.request.is_dealer: + return qs + staffmember= staffmember = getattr(self.request.user, "staffmember", None) + if staff := getattr(staffmember, "staff", None): + return qs.filter(staff=staff) + return self.model.objects.none() # def get_queryset(self): # dealer = get_user_type(self.request) # entity = dealer.entity diff --git a/templates/bill/bill_detail.html b/templates/bill/bill_detail.html index 5de0d08e..e69548e8 100644 --- a/templates/bill/bill_detail.html +++ b/templates/bill/bill_detail.html @@ -36,210 +36,232 @@ {% endblock %} {% block content %} -
| {% trans 'Item' %} | -{% trans 'Entity Unit' %} | -{% trans 'Unit Cost' %} | -{% trans 'Quantity' %} | -{% trans 'Total' %} | -{% trans 'PO' %} | -
|---|---|---|---|---|---|
|
-
-
-
+
- {{ bill_item.item_model }}- |
- - - {% if bill_item.entity_unit %} - {{ bill_item.entity_unit }} - {% endif %} - - | -- - {{ bill_item.unit_cost | currency_format }} - - | -- {{ bill_item.quantity }} - | -- - {{ bill_item.total_amount | currency_format }} - - | -- {% if bill_item.po_model_id %} - {% if perms.django_ledger.view_purchaseordermodel%} - - {% trans 'View PO' %} - - {% endif %} - {% endif %} - | -
| - | {% trans 'Total' %} | -- - {% currency_symbol %}{{ total_amount__sum | currency_format }} - - | -- | ||
| {% trans 'Item' %} | +{% trans 'Entity Unit' %} | +{% trans 'Unit Cost' %} | +{% trans 'Quantity' %} | +{% trans 'Total' %} | +{% trans 'PO' %} | +
|---|---|---|---|---|---|
|
+
+
+
+
+ {{ bill_item.item_model }}+ |
+ + + {% if bill_item.entity_unit %} + {{ bill_item.entity_unit }} + {% endif %} + + | ++ + {{ bill_item.unit_cost | currency_format }} + + | ++ {{ bill_item.quantity }} + | ++ + {{ bill_item.total_amount | currency_format }} + + | ++ {% if bill_item.po_model_id %} + {% if perms.django_ledger.view_purchaseordermodel%} + + {% trans 'View PO' %} + + {% endif %} + {% endif %} + | +
| + | {% trans 'Total' %} | ++ + {% currency_symbol %}{{ total_amount__sum | currency_format }} + + | ++ | ||
{{tx.customer.phone_number}}
{{ tx.estimate.estimate_number}} @@ -147,7 +147,7 @@ {% endif %}