From 2c2eba57ac58ef39691726f031d0bd57fc7b41f2 Mon Sep 17 00:00:00 2001 From: ismail <=> Date: Mon, 5 May 2025 17:16:17 +0300 Subject: [PATCH 1/3] fix the get hash function when adding new car --- install.sh | 9 ++------- inventory/forms.py | 2 +- inventory/models.py | 9 ++++++++- inventory/views.py | 6 ++++++ 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index 8c48286a..34962c64 100755 --- a/install.sh +++ b/install.sh @@ -1,12 +1,7 @@ #!/bin/bash -apt-get update -apt-get install -y libgl1 -apt-get install -y libglib2.0-dev -apt-get install -y libzbar0 -apt-get install -y cmake build-essential xmlsec1 libxmlsec1-dev -apt-get install -y pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl -apt-get install -y libssl-dev + +sudo apt-get update && sudo apt-get install libgl1 libglib2.0-dev libzbar0 cmake build-essential xmlsec1 libxmlsec1-dev pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl libssl-dev -y pip install --upgrade pip pip install -r requirements_dev.txt ./apply_initial_migrations.sh diff --git a/inventory/forms.py b/inventory/forms.py index ffa13050..37bc5a6f 100644 --- a/inventory/forms.py +++ b/inventory/forms.py @@ -483,7 +483,7 @@ class VendorForm(forms.ModelForm): :type Meta: Type[VendorForm.Meta] """ phone_number = forms.CharField(label=_("Phone Number"),min_length=10,max_length=10,validators=[RegexValidator(regex='^05[0-9]{8}$')], required=True) - contact_person = forms.CharField(label=_("Phone Number"),min_length=10,max_length=10,validators=[RegexValidator(regex='^05[0-9]{8}$')], required=True) + contact_person = forms.CharField(label=_("Contact Person"),min_length=10,max_length=10,validators=[RegexValidator(regex='^05[0-9]{8}$')], required=True) class Meta: model = Vendor diff --git a/inventory/models.py b/inventory/models.py index d86b18e8..3cac8c54 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -472,7 +472,12 @@ class Car(models.Model): color = self.colors.exterior.name if self.colors else "" except: pass - hash_object.update(f"{self.id_car_make.name}{self.id_car_model.name}{self.year}{self.id_car_serie.name}{self.id_car_trim.name}{color}".encode('utf-8')) + make = self.id_car_make.name if self.id_car_make else "" + model = self.id_car_model.name if self.id_car_model else "" + year = self.year if self.year else 0 + serie = self.id_car_serie.name if self.id_car_serie else "" + trim = self.id_car_trim.name if self.id_car_trim else "" + hash_object.update(f"{make}{model}{year}{serie}{trim}{color}".encode('utf-8')) return hash_object.hexdigest() def mark_as_sold(self,request): @@ -948,6 +953,8 @@ class Dealer(models.Model, LocalizedNameMixin): print(e) return None + def get_vendors(self): + return self.vendors.all() @property def is_staff_exceed_quota_limit(self): quota = self.user_quota diff --git a/inventory/views.py b/inventory/views.py index 718a58a7..c02f14fc 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -1318,6 +1318,12 @@ class CarUpdateView( def get_success_url(self): return reverse("car_detail", kwargs={"pk": self.object.pk}) + def get_form_kwargs(self): + kwargs = super().get_form_kwargs() + kwargs["instance"] = self.get_object() + kwargs["vendor"] = self.get_object().dealer.get_vendors() + return kwargs + class CarDeleteView( LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, DeleteView From 193624810b92251dc03e9f2726db179e0e28153c Mon Sep 17 00:00:00 2001 From: ismail <=> Date: Mon, 5 May 2025 17:49:06 +0300 Subject: [PATCH 2/3] updat the car update vendor issue --- inventory/models.py | 2 +- inventory/views.py | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/inventory/models.py b/inventory/models.py index 3cac8c54..93d36403 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -954,7 +954,7 @@ class Dealer(models.Model, LocalizedNameMixin): return None def get_vendors(self): - return self.vendors.all() + return VendorModel.objects.filter(entity_model=self.entity) @property def is_staff_exceed_quota_limit(self): quota = self.user_quota diff --git a/inventory/views.py b/inventory/views.py index c02f14fc..d341c21b 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -1318,12 +1318,12 @@ class CarUpdateView( def get_success_url(self): return reverse("car_detail", kwargs={"pk": self.object.pk}) - def get_form_kwargs(self): - kwargs = super().get_form_kwargs() - kwargs["instance"] = self.get_object() - kwargs["vendor"] = self.get_object().dealer.get_vendors() - return kwargs - + def get_form(self, form_class=None): + form = super().get_form(form_class) + dealer = get_user_type(self.request) + print(dealer.get_vendors()) + form.fields["vendor"].queryset = dealer.get_vendors() + return form class CarDeleteView( LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, DeleteView From 4394ac8e45873be4d2d5b9562d60ce35b3ad7a73 Mon Sep 17 00:00:00 2001 From: ismail <=> Date: Mon, 5 May 2025 17:54:13 +0300 Subject: [PATCH 3/3] update --- templates/inventory/car_list_view.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/templates/inventory/car_list_view.html b/templates/inventory/car_list_view.html index 57889e3c..970a90de 100644 --- a/templates/inventory/car_list_view.html +++ b/templates/inventory/car_list_view.html @@ -26,7 +26,7 @@ {% block content %}
{{car.receiving_date|timesince}}