Merge remote-tracking branch 'origin/main'

This commit is contained in:
Marwan Alwali 2025-05-05 18:00:19 +03:00
commit 8af81d699c
5 changed files with 23 additions and 15 deletions

View File

@ -1,12 +1,7 @@
#!/bin/bash #!/bin/bash
apt-get update
apt-get install -y libgl1 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
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
pip install --upgrade pip pip install --upgrade pip
pip install -r requirements_dev.txt pip install -r requirements_dev.txt
./apply_initial_migrations.sh ./apply_initial_migrations.sh

View File

@ -483,7 +483,7 @@ class VendorForm(forms.ModelForm):
:type Meta: Type[VendorForm.Meta] :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) 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: class Meta:
model = Vendor model = Vendor

View File

@ -472,7 +472,12 @@ class Car(models.Model):
color = self.colors.exterior.name if self.colors else "" color = self.colors.exterior.name if self.colors else ""
except: except:
pass 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() return hash_object.hexdigest()
def mark_as_sold(self,request): def mark_as_sold(self,request):
@ -865,6 +870,8 @@ class Dealer(models.Model, LocalizedNameMixin):
print(e) print(e)
return None return None
def get_vendors(self):
return VendorModel.objects.filter(entity_model=self.entity)
@property @property
def is_staff_exceed_quota_limit(self): def is_staff_exceed_quota_limit(self):
quota = self.user_quota quota = self.user_quota

View File

@ -1318,6 +1318,12 @@ class CarUpdateView(
def get_success_url(self): def get_success_url(self):
return reverse("car_detail", kwargs={"pk": self.object.pk}) return reverse("car_detail", kwargs={"pk": self.object.pk})
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( class CarDeleteView(
LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, DeleteView LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, DeleteView

View File

@ -164,7 +164,7 @@
<div class="btn-reveal-trigger position-static"> <div class="btn-reveal-trigger position-static">
<button class="btn btn-sm dropdown-toggle dropdown-caret-none transition-none btn-reveal fs-10" type="button" data-bs-toggle="dropdown" data-boundary="window" aria-haspopup="true" aria-expanded="false" data-bs-reference="parent"><span class="fas fa-ellipsis-h fs-10"></span></button> <button class="btn btn-sm dropdown-toggle dropdown-caret-none transition-none btn-reveal fs-10" type="button" data-bs-toggle="dropdown" data-boundary="window" aria-haspopup="true" aria-expanded="false" data-bs-reference="parent"><span class="fas fa-ellipsis-h fs-10"></span></button>
<div class="dropdown-menu dropdown-menu-end py-2"> <div class="dropdown-menu dropdown-menu-end py-2">
<a class="dropdown-item" href="#!">{{ _("View") }}</a> <a class="dropdown-item" href="{% url 'car_detail' car.pk %}">{{ _("View") }}</a>
<a class="dropdown-item" href="#!">{{ _("Export") }}</a> <a class="dropdown-item" href="#!">{{ _("Export") }}</a>
</div> </div>
</div> </div>