diff --git a/inventory/forms.py b/inventory/forms.py index faa9fd72..be9e8797 100644 --- a/inventory/forms.py +++ b/inventory/forms.py @@ -550,7 +550,7 @@ class CarColorsForm(forms.ModelForm): model = CarColors fields = ["exterior", "interior"] - def __init__(self, *args, **kwargs): + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["exterior"].queryset = ExteriorColors.objects.all() diff --git a/inventory/views.py b/inventory/views.py index b43129e3..00c71a87 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -945,6 +945,37 @@ class CarColorCreate(LoginRequiredMixin, PermissionRequiredMixin, CreateView): context["car"] = get_object_or_404(models.Car, slug=self.kwargs["slug"]) return context +class CarColorsUpdateView( LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, UpdateView): + model = models.CarColors + form_class = forms.CarColorsForm + template_name = "inventory/add_colors.html" + success_message = _("Car finance details updated successfully") + permission_required = ["inventory.change_carfinance"] + + def get_success_url(self): + return reverse("car_detail", kwargs={"slug": self.object.car.slug}) + + def get_form_kwargs(self): + kwargs = super().get_form_kwargs() + kwargs["instance"] = self.get_object() + return kwargs + + def get_initial(self): + initial = super().get_initial() + instance = self.get_object() + dealer = get_user_type(self.request) + selected_items = instance.additional_services.filter(dealer=dealer) + initial["additional_finances"] = selected_items + return initial + + def get_form(self, form_class=None): + form = super().get_form(form_class) + dealer = get_user_type(self.request) + form.fields[ + "additional_finances" + ].queryset = models.AdditionalServices.objects.filter(dealer=dealer) + return form + class CarListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): """ diff --git a/templates/account/user_settings.html b/templates/account/user_settings.html index eec9dfc4..4bb3c987 100644 --- a/templates/account/user_settings.html +++ b/templates/account/user_settings.html @@ -2,7 +2,7 @@ {% load crispy_forms_filters %} {% load i18n static %} {% load allauth account %} -{% block head_title %} +{% block title %} {% trans 'User Settings' %} {% endblock %} {% block content %} diff --git a/templates/admin_management/management.html b/templates/admin_management/management.html index 33943c2b..65c612d4 100644 --- a/templates/admin_management/management.html +++ b/templates/admin_management/management.html @@ -1,4 +1,6 @@ {% extends "base.html" %} +{% load i18n %} +{%block title%} {%trans 'Admin Management' %} {%endblock%} {% block content %}
{% trans "No finance details available." %}
+ {% if perms.inventory.add_carfinance %} + {% trans "Add" %} + {% endif %} {% endcomment %} +