update
@ -38,8 +38,8 @@ def decodevin(vin):
|
||||
return result
|
||||
elif result:=elm(vin):
|
||||
return result
|
||||
elif result:=decode_vin_haikalna(vin):
|
||||
return result
|
||||
# elif result:=decode_vin_haikalna(vin):
|
||||
# return result
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
BIN
static/images/car_make/Chevrolet_ZUJVQuH.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
static/images/car_make/Citroen.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
static/images/car_make/Daewoo.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
static/images/car_make/Daihatsu.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
static/images/car_make/Datsun.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
static/images/car_make/Ferrari.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
static/images/car_make/Fiat.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
static/images/car_make/Foton.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
static/images/car_make/Honda.png
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
BIN
static/images/car_make/Hummer.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
static/images/car_make/Hyundai.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
static/images/car_make/Infiniti.png
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
BIN
static/images/car_make/Isuzu.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
static/images/car_make/JAC.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
static/images/car_make/JMC.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
static/images/car_make/Jaguar.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
static/images/car_make/Lamborghini.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
static/images/car_make/Land-Rover.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
static/images/car_make/Lexus.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
static/images/car_make/Maybach.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
static/images/car_make/Mazda.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
static/images/car_make/McLaren.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
static/images/car_make/Mercury.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
static/images/car_make/Mitsubishi.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
static/images/car_make/Opel.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
static/images/car_make/Pontiac.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
static/images/car_make/Seat.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
static/images/car_make/Skoda.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
static/images/car_make/Spectre.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
static/images/car_make/mini.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
@ -44,7 +44,14 @@
|
||||
<h6 class="mb-2 text-body-secondary">{% trans 'last login'|capfirst %}</h6>
|
||||
<h4 class="fs-7 text-body-highlight mb-0">{{ dealer.user.last_login|date:"D M d, Y H:i" }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="text-center me-1">
|
||||
<h6 class="mb-2 text-body-secondary">{% trans 'Total users'|capfirst %}</h6>
|
||||
<h4 class="fs-7 text-body-highlight mb-0">{{ dealer.staff_count }} / {{ allowed_users }}</h4>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<h6 class="mb-2 text-body-secondary">{% trans 'Total cars'|capfirst %}</h6>
|
||||
<h4 class="fs-7 text-body-highlight mb-0">{{ cars_count }} / {{ allowed_cars }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -127,39 +134,22 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-3">
|
||||
<div class="card h-100">
|
||||
<div class="bg-holder" style="background-image:url({% static 'images/bg/bg-2.png' %});background-position:left bottom;background-size:auto;"></div>
|
||||
<div class="card-body d-flex flex-column justify-content-between position-relative align-items-end">
|
||||
<div class="d-flex justify-content-between ">
|
||||
<div class="text-center me-3">
|
||||
<span class="uil-users-alt fs-4 text-primary-light"></span>
|
||||
<h6 class="mb-2 text-body-secondary">{% trans 'Total users'|capfirst %}</h6>
|
||||
<h4 class="fs-7 text-body-highlight mb-0">{{ dealer.staff_count }} / {{ allowed_users }}</h4>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<span class="uil-car-sideview fs-4 text-success-light"></span>
|
||||
<h6 class="mb-2 text-body-secondary">{% trans 'Total cars'|capfirst %}</h6>
|
||||
<h4 class="fs-7 text-body-highlight mb-0">{{ cars_count }} / {{ allowed_cars }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-3">
|
||||
|
||||
<div class="col-12 col-lg-6">
|
||||
<div class="card h-100">
|
||||
<div class="bg-holder" style="background-image:url({% static 'images/bg/bg-left-20.png' %});background-position:left bottom;background-size:auto;"></div>
|
||||
<div class="card-body d-flex flex-column justify-content-between position-relative align-items-end">
|
||||
<div class="d-flex justify-content-between ">
|
||||
<div class="card-body d-flex flex-column justify-content-center position-relative">
|
||||
<h4 class="mb-3">{{ _("Makes you are selling") }}</h4>
|
||||
<div class="d-flex justify-content-center ">
|
||||
<div class="text-center me-3">
|
||||
<div class="row">
|
||||
{% for make in car_makes %}
|
||||
<div class="col-auto">
|
||||
<div class="col my-1">
|
||||
{% if make.logo %}
|
||||
<img src="{{ make.logo.url }}" alt="{{ make.get_local_name }}" class="rounded-circle" style="height: 64px;" />
|
||||
{% endif %}
|
||||
<p>{{ make.get_local_name }}</p>
|
||||
</div>
|
||||
<img src="{{ make.logo.url }}" alt="{{ make.get_local_name }}" class="rounded rounded-1" style="height: 64px;" />
|
||||
{% endif %}
|
||||
<p class="fs-10">{{ make.get_local_name }}</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -6,42 +6,23 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="row my-5">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<!-- Form Header -->
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h4 class="mb-0">{{ _("Update Dealer Information") }}</h4>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<!-- Form Header -->
|
||||
|
||||
<!-- Form Body -->
|
||||
<div class="card-body">
|
||||
<form method="post" enctype="multipart/form-data" class="needs-validation" novalidate>
|
||||
{% csrf_token %}
|
||||
{{ form|crispy }}
|
||||
<h4 class="mb-3">{{ _("Update Dealer Information") }}</h4>
|
||||
|
||||
<!-- Save Button -->
|
||||
<div class="d-grid gap-2 mt-3">
|
||||
<button type="submit" class="btn btn-primary btn-lg">
|
||||
<i class="bi bi-save"></i> {{ _("Save Changes") }}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<form method="post" enctype="multipart/form-data" class="needs-validation" novalidate>
|
||||
{% csrf_token %}
|
||||
{{ form|crispy }}
|
||||
<div class="gap-2 mt-3">
|
||||
<button type="submit" class="btn btn-phoenix-primary btn-sm">
|
||||
<i class="fa fa-save"></i> {{ _("Save") }}
|
||||
</button>
|
||||
<a href="{% url 'dealer_detail' dealer.pk %}" class="btn btn-sm btn-phoenix-secondary">
|
||||
<i class="fas fa-times"></i> {{ _("Cancel") }}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!-- Cancel Button -->
|
||||
<div class="text-center mt-4">
|
||||
<a href="{% url 'dealer_detail' dealer.pk %}" class="btn btn-secondary">
|
||||
{{ _("Back") }}
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
<i class="bi bi-arrow-left-circle"></i>
|
||||
{% else %}
|
||||
<i class="bi bi-arrow-right-circle"></i>
|
||||
{% endif %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -76,7 +76,8 @@
|
||||
</div>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
{% if estimate.invoicemodel_set.first %}
|
||||
<a href="{% url 'invoice_detail' estimate.invoicemodel_set.first.pk %}" class="btn btn-primary btn-lg me-1 mb-1" type="button"><i class="fa-solid fa-receipt"></i> View Invoice</a>
|
||||
<a href="{% url 'invoice_detail' estimate.invoicemodel_set.first.pk %}" class="btn btn-primary btn-sm" type="button"><i class="fa-solid fa-receipt"></i>
|
||||
{{ _("View Invoice")}}</a>
|
||||
{% endif %}
|
||||
|
||||
{% if estimate.status == 'draft' %}
|
||||
|
||||