diff --git a/inventory/views.py b/inventory/views.py index accc1758..e730fd94 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -2466,7 +2466,7 @@ class CustomerCreateView( success_message = _("Customer created successfully") def form_valid(self, form): - dealer = self.request.kwargs.get("dealer_slug") + dealer = self.kwargs.get("dealer_slug") if customer := models.Customer.objects.filter( dealer=dealer, email=form.instance.email @@ -2690,7 +2690,7 @@ class VendorCreateView( permission_required = ["inventory.add_vendor"] def form_valid(self, form): - dealer = self.request.kwargs["dealer_slug"] + dealer = self.kwargs["dealer_slug"] if vendor := models.Vendor.objects.filter(dealer=dealer,email=form.instance.email).first(): if not vendor.active: messages.error( @@ -3671,7 +3671,7 @@ class OrganizationCreateView(LoginRequiredMixin, PermissionRequiredMixin, Create success_message = _("Organization created successfully") def form_valid(self, form): - dealer = self.request.kwargs["dealer_slug"] + dealer = self.kwargs["dealer_slug"] if organization := models.Organization.objects.filter( dealer=dealer, email=form.instance.email @@ -11156,6 +11156,7 @@ def help_center(request): return render(request, 'support/help_center.html') @login_required +@permission_required('inventory.add_ticket') def create_ticket(request): if not request.is_dealer: return redirect('home') @@ -11174,6 +11175,7 @@ def create_ticket(request): return render(request, 'support/create_ticket.html', {'form': form}) @login_required +@permission_required('inventory.view_ticket') def ticket_list(request): tickets = models.Ticket.objects.all().order_by('-created_at') if request.is_dealer: @@ -11181,10 +11183,13 @@ def ticket_list(request): return render(request, 'support/ticket_list.html', {'tickets': tickets}) @login_required +@permission_required('inventory.change_ticket') def ticket_detail(request, ticket_id): ticket = models.Ticket.objects.get(id=ticket_id) return render(request, 'support/ticket_detail.html', {'ticket': ticket}) + @login_required +@permission_required('inventory.change_ticket') def ticket_mark_resolved(request, ticket_id): ticket = models.Ticket.objects.get(id=ticket_id) ticket.status = 'resolved' @@ -11200,6 +11205,8 @@ def ticket_mark_resolved(request, ticket_id): ) return render(request, 'support/ticket_detail.html', {'ticket': ticket}) +@login_required +@permission_required('inventory.change_ticket') def ticket_update(request, ticket_id): ticket = models.Ticket.objects.get(id=ticket_id)