diff --git a/inventory/forms.py b/inventory/forms.py index d795922a..6cd912b5 100644 --- a/inventory/forms.py +++ b/inventory/forms.py @@ -288,7 +288,7 @@ class CarFinanceForm(forms.ModelForm): class CarLocationForm(forms.ModelForm): class Meta: model = CarLocation - fields = ["car", "showroom", "description"] + fields = ["showroom", "description"] widgets = { "description": forms.Textarea(attrs={"rows": 2, "class": "form-control"}), } diff --git a/inventory/urls.py b/inventory/urls.py index dbef33a1..db4d86fd 100644 --- a/inventory/urls.py +++ b/inventory/urls.py @@ -239,6 +239,11 @@ urlpatterns = [ views.CarLocationCreateView.as_view(), name="add_car_location", ), +path( + "cars//location//update", + views.CarLocationUpdateView.as_view(), + name="update_car_location", + ), path( "cars//location/update/", views.CarTransferCreateView.as_view(), diff --git a/inventory/views.py b/inventory/views.py index 356aace4..63162e9d 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -1020,31 +1020,27 @@ class CarLocationCreateView(LoginRequiredMixin,PermissionRequiredMixin,CreateVie dealer = get_user_type(self.request) form.instance.owner = dealer form.save() - messages.success(self.request, "Car saved successfully.") + messages.success(self.request, "Location saved successfully.") return super().form_valid(form) -class CarLocationUpdateView(LoginRequiredMixin,UpdateView): +class CarLocationUpdateView(LoginRequiredMixin,PermissionRequiredMixin,UpdateView): model = models.CarLocation form_class = forms.CarLocationForm template_name = "inventory/car_location_form.html" + permission_required = ['inventory.update_carlocation'] - def get_form(self, form_class=None): - form = super().get_form(form_class) - form.fields["showroom"].queryset = models.Dealer.objects.all() - form.fields["car"].queryset = models.Car.objects.filter(pk=self.kwargs["car_pk"]) - return form - - def get_initial(self): - initial = super().get_initial() - initial["car"] = get_object_or_404(models.Car, pk=self.kwargs["car_pk"]) - initial["showroom"] = get_object_or_404(models.CarLocation, pk=self.kwargs["pk"]) - return initial + # def get_initial(self): + # initial = super().get_initial() + # initial["car"] = get_object_or_404(models.Car, pk=self.kwargs["car_pk"]) + # return initial def form_valid(self, form): - form.instance.from_dealer = get_user_type(self.request) - form.instance.car.status = "transfer" - form.instance.car.save() + form.instance.car = get_object_or_404(models.Car, pk=self.kwargs["car_pk"]) + dealer = get_user_type(self.request) + form.instance.owner = dealer + form.save() + messages.success(self.request, "Location updated successfully.") return super().form_valid(form) def get_success_url(self): diff --git a/templates/inventory/car_detail.html b/templates/inventory/car_detail.html index c6792620..0a86f5b9 100644 --- a/templates/inventory/car_detail.html +++ b/templates/inventory/car_detail.html @@ -160,7 +160,7 @@ {% if car.finances and not car.get_transfer %} {% if car.location %} {% if car.location.is_owner_showroom %} {% trans 'Our Showroom' %} {% else %} {{ car.location.showroom.get_local_name }} {% endif %} - + {% trans "transfer"|capfirst %} {% else %} {% trans "No location available." %} @@ -177,6 +177,9 @@ {% if not car.get_transfer %} {% if perms.inventory.change_car %} {% trans "Edit" %} + + {% trans "Sell to another dealer"|capfirst %} + {% endif %} {% else %} {% trans "Cannot Edit, Car in Transfer." %} diff --git a/templates/inventory/car_location_form.html b/templates/inventory/car_location_form.html index ad8bb592..94d49763 100644 --- a/templates/inventory/car_location_form.html +++ b/templates/inventory/car_location_form.html @@ -4,11 +4,6 @@ {% block title %}{% trans "Manage Car Location" %}{% endblock %} {% block content %}
- {% if carlocation.exists %} -

{% trans 'Transfer' %}

- {% else %} -

{% trans 'Add' %}

- {% endif %}

{% trans "Manage Car Location" %}