Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
8af81d699c
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="mb-9">
|
<div class="mb-9">
|
||||||
<div id="projectSummary">
|
<div id="projectSummary">
|
||||||
<div class="row g-3 justify-content-between align-items-end mb-4">
|
<div class="row g-3 justify-content-between align-items-end mb-4">
|
||||||
<div class="col-12 col-sm-auto">
|
<div class="col-12 col-sm-auto">
|
||||||
|
|
||||||
@ -148,7 +148,7 @@
|
|||||||
<td class="align-middle white-space-nowrap">
|
<td class="align-middle white-space-nowrap">
|
||||||
<p class="fw-bold text-body mb-0">{{car.receiving_date|timesince}}</p>
|
<p class="fw-bold text-body mb-0">{{car.receiving_date|timesince}}</p>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td class="align-middle white-space-nowrap statuses">
|
<td class="align-middle white-space-nowrap statuses">
|
||||||
{% if car.status == "available" %}
|
{% if car.status == "available" %}
|
||||||
<span class="badge badge-phoenix fs-11 badge-phoenix-success">{{ _("Available") }}</span>
|
<span class="badge badge-phoenix fs-11 badge-phoenix-success">{{ _("Available") }}</span>
|
||||||
@ -164,13 +164,13 @@
|
|||||||
<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>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@ -198,7 +198,7 @@
|
|||||||
})
|
})
|
||||||
link.classList.add('active')
|
link.classList.add('active')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
function on_before_request() {
|
function on_before_request() {
|
||||||
document.querySelector('.table').classList.toggle('on-before-request')
|
document.querySelector('.table').classList.toggle('on-before-request')
|
||||||
document.querySelector('.model-select').classList.add('on-after-request')
|
document.querySelector('.model-select').classList.add('on-after-request')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user