update for headers and forms and list and also the missing title

This commit is contained in:
Faheedkhan 2025-07-16 21:02:03 +03:00
parent d53e10e45f
commit f5feee2372
37 changed files with 141 additions and 517 deletions

View File

@ -4232,29 +4232,24 @@ def sales_list_view(request, dealer_slug):
item transactions specific to the user's entity.
:rtype: HttpResponse
"""
dealer = get_object_or_404(models.Dealer, slug=dealer_slug)
entity = dealer.entity
print(entity)
staff = getattr(request.user.staffmember, "staff", None)
print(staff)
qs = []
try:
if any([request.is_dealer, request.is_manager, request.is_accountant]):
qs = models.ExtraInfo.get_sale_orders(staff=staff,is_dealer=True)
print(qs)
elif request.is_staff:
qs = models.ExtraInfo.get_sale_orders(staff=staff)
print(qs)
except Exception as e:
print(e)
print(qs[0])
# query = request.GET.get('q')
# # if query:
# # qs = qs.filter(
# # Q(order_number__icontains=query) |
# # Q(customer__name__icontains=query) |
# # Q(item_details__icontains=query)
# # ).distinct()
# for so in qs:
# if query in so.customer_customer
print(qs)
paginator = Paginator(qs, 30)
page_number = request.GET.get("page")
@ -4334,6 +4329,7 @@ class EstimateListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
content_type=ContentType.objects.get_for_model(EstimateModel),
related_content_type=ContentType.objects.get_for_model(models.Staff),
)
eqs=qs
print(qs)
elif self.request.is_staff and self.request.is_sales:
qs = models.ExtraInfo.objects.filter(
@ -4353,13 +4349,7 @@ class EstimateListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
if status:
queryset = queryset.filter(status=status)
# search_query = self.request.GET.get('q', '').strip()
# if search_query:
# queryset = queryset.filter(
# Q(quotation_number__icontains=search_query) |
# Q(customer__name__icontains=search_query)
# ).distinct() #
return queryset

View File

@ -3,51 +3,11 @@
{% load static %}
{% load django_ledger %}
{% load crispy_forms_filters %}
{% block title %}
{{ _("Create Bill") |capfirst }}
{% endblock title %}
{% block content %}
{% comment %} <div class="row justify-content-center">
<div class="col-lg-6">
<div class="card shadow-sm">
<div class="card-header bg-light py-3">
<h2 class="h4 text-center mb-0">{% trans 'Create Bill' %}</h2>
</div>
<form action="{{ form_action_url }}" method="post" id="djl-bill-model-create-form-id">
<div class="card-body">
{% csrf_token %}
{% if po_model %}
<div class="text-center mb-4">
<h3 class="h5">{% trans 'Bill for' %} {{ po_model.po_number }}</h3>
<p class="text-muted mb-3">{% trans 'Bill for' %} {{ po_model.po_title }}</p>
<div class="d-flex flex-column gap-2">
{% for itemtxs in po_itemtxs_qs %}
<span class="badge bg-secondary">{{ itemtxs }}</span>
{% endfor %}
</div>
</div>
{% endif %}
<div class="mb-4">
{{ form|crispy }}
</div>
</div>
<div class="card-footer bg-transparent">
<div class="d-grid gap-2">
<button type="submit"
id="djl-bill-create-button"
class="btn btn-phoenix-primary btn-lg">{% trans 'Create' %}
</button>
<a href="{{request.META.HTTP_REFERER}}"
id="djl-bill-create-back-button"
class="btn btn-phoenix-secondary">{% trans 'Cancel' %}</a>
</div>
</div>
</form>
</div>
</div>
</div> {% endcomment %}
<!---->
@ -56,8 +16,8 @@
<div class="col-lg-8 col-md-10">
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
{% trans 'Create Bill' %}
<h3 class="mb-0 fs-4 text-center">
{% trans 'Create Bill' %}<span class="fas fa-money-bills ms-2 text-primary"></span>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -35,13 +35,14 @@
<div class="row justify-content-center mt-5 mb-3">
<div class="col-lg-8 col-md-10">
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-300 py-3 border-0 rounded-top-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center">
{% if object %}
{{ _("Update Lead") }}
{% else %}
{{ _("Create New Lead") }}
{% endif %}
<li class="fas fa-bullhorn text-primary ms-2"></li>
</h3>
</div>

View File

@ -1,5 +1,8 @@
{% extends "base.html" %}
{% load static i18n %}
{% block title %}
{% trans "Car Bulk Upload"|capfirst %}
{% endblock %}
{% block customCSS %}
<style>
@ -76,7 +79,7 @@
<div class="container mt-4">
<h2>Upload Cars CSV <i class="fa-solid fa-file-csv text-primary"></i></h2>
<div class="d-flex justify-content-end">
<a href="{% static 'sample/cars_sample.csv' %}" class="btn btn-phoenix-success mt-4">
<a href="{% static 'sample/cars_sample.csv' %}" class="btn btn-phoenix-primary mt-4">
<i class="fa-solid fa-file-csv me-2"></i>Download Sample CSV
</a>
</div>

View File

@ -20,10 +20,11 @@
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center">
{% if customer.created %}
<i class="fa-solid fa-user"></i> {{ _("Edit Customer") }}
{{ _("Edit Customer") }}
{% else %}
<i class="fa-solid fa-user"></i> {{ _("Add Customer") }}
{{ _("Add Customer") }}
{% endif %}
<i class="fa-solid fa-user ms-2 text-primary"></i>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -5,25 +5,6 @@
{% block title %}{{ _("Update Dealer Information") }}{% endblock title %}
{% block content %}
{% comment %} <div class="row my-5">
<div class="col-md-8">
<!-- Form Header -->
<h3 class="mb-3">{{ _("Update Dealer Information") }}</h3>
<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-success btn-sm me-2">
<i class="fa fa-save me-1"></i> {{ _("Save") }}
</button>
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
</div>
</form>
</div>
</div> {% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">

View File

@ -1,5 +1,5 @@
{% load i18n static %}
<footer class="footer position-absolute fs-9">
{% comment %} <footer class="footer position-absolute fs-9">
<div class="row g-0 justify-content-between align-items-center h-100">
<div class="col-12 col-sm-auto text-center">
<span class="text-body"> © 2025 {{ _("All right reserved")}}</span>
@ -14,4 +14,40 @@
<span class="uil-trademark-circle fs-10 fw-light text-body-tertiary text-opacity-85"></span>
</div>
</div>
</footer> {% endcomment %}
<footer class="footer position-absolute fs-9 bg-info-subtle">
<div class="row g-0 justify-content-between align-items-center h-100">
<div class="col-12 col-sm-auto text-center text-warning">
<span class="text-body "> © 2025 {{ _("All right reserved")}}</span>
<span class="fw-bold text-warning">Haikal</span>&nbsp;|&nbsp;<span class="fw-bold text-warning">هيكل</span>
</div>
<div class="col-12 col-sm-auto text-center">
<span class="fw-light text-body-tertiary text-opacity-85 g">{{ _("Powered by")}} </span>
<a class="mx-1 text-warning" href="https://tenhal.sa">
<span text-success-subtle>TENHAL</span>&nbsp;|&nbsp;<span>تنحل</span>
</a>
<span class="fas fa-registered fs-10 fw-light text-opacity-85 text-warning"></span>
</div>
</div>
</footer>
{% comment %} <footer class="footer position-absolute fs-9 bg-gray-900 text-white">
<div class="row g-0 justify-content-between align-items-center h-100">
<div class="col-12 col-sm-auto text-center">
<span class="text-body"> © 2025 {{ _("All right reserved")}}</span>
<span class="fw-bold">Haikal</span>&nbsp;|&nbsp;<span class="fw-bold">هيكل</span>
</div>
<div class="col-12 col-sm-auto text-center ">
<span>{{ _("Powered by")}} </span>
<span>
<a class="mx-1 text-white" href="https://tenhal.sa">
<span>TENHAL</span>&nbsp;|&nbsp;<span>تنحل</span>
</a>
<span>
<span class="uil-trademark-circle fs-10"></span>
</div>
</div>
</footer> {% endcomment %}

View File

@ -12,44 +12,6 @@
{% block content %}
{% comment %} <div class="row mt-4">
<div class="row">
<div class="col-sm-9">
<div class="d-sm-flex justify-content-between">
<h3 class="mb-3">
{% if staff.created %}
{{ _("Edit Group") }}
{% else %}
{{ _("Add Group") }}
{% endif %}
</h3>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-9">
<form class="row g-3 mb-9" method="post" class="form" novalidate>
{% csrf_token %}
{{ redirect_field }}
{{ form|crispy }}
{% for error in form.errors %}
<div class="text-danger">{{ error }}</div>
{% endfor %}
<div class="d-flex mb-3">
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-phoenix-danger me-2 "><i class="fa-solid fa-ban me-1"></i> {% trans "Cancel"|capfirst %}</a>
<button class="btn btn-phoenix-success" type="submit">
<i class="fa-solid fa-floppy-disk me-1"></i>
{{ _("Save") }}
</button>
</div>
</form>
</div>
</div>
</div> {% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">

View File

@ -131,7 +131,7 @@
</div>
<div>
<button type="submit" class="btn btn-primary me-2">
<button type="submit" class="btn btn-lg btn-primary me-2">
<i class="fas fa-save me-1"></i>{% trans "Save Changes" %}
</button>
</div>

View File

@ -1,19 +1,19 @@
{% load i18n static %}
{% if user.is_authenticated %}
<nav class="navbar navbar-vertical navbar-expand-lg">
<nav class="navbar navbar-vertical navbar-expand-lg ">
<div class="collapse navbar-collapse" id="navbarVerticalCollapse">
<div class="navbar-vertical-content">
<div class="navbar-vertical-content d-flex flex-column">
<ul class="navbar-nav flex-column" id="navbarVerticalNav">
<li class="nav-item">
<p class="navbar-vertical-label">Apps</p>
<p class="navbar-vertical-label text-primary fs-8 text-truncate">{{request.dealer|default:"Apps"}}</p>
<hr class="navbar-vertical-line" />
{% if perms.inventory.can_view_inventory %}
<div class="nav-item-wrapper">
<a id="inventory-nav" class="nav-link dropdown-indicator label-1 inventory-nav" href="#nv-inventory" role="button" data-bs-toggle="collapse" aria-expanded="false" aria-controls="nv-inventory">
<div class="d-flex align-items-center">
<div class="d-flex align-items-center ">
<div class="dropdown-indicator-icon-wrapper"><span class="fas fa-caret-right dropdown-indicator-icon"></span></div>
<span class="nav-link-icon"><span class="fas fa-warehouse"></span></span><span class="nav-link-text">{% trans "Inventory"|capfirst %}</span>
<span class="nav-link-icon "><span class="fas fa-warehouse"></span></span><span class="nav-link-text ">{% trans "Inventory"|capfirst %}</span>
</div>
</a>
<div class="parent-wrapper label-1">
@ -353,6 +353,38 @@
</div>
</li>
</ul>
{# --- Support & Contact Section (New) --- #}
<div class="mt-auto bg-info-subtle">
<ul class="navbar-nav flex-column">
<li class="nav-item">
<a class="nav-link" href="#">
<div class="d-flex align-items-center">
<span class="nav-link-icon"><span class="fas fa-headphones"></span></span>
<span class="nav-link-text">{% trans 'Haikal Support'|capfirst %}</span>
</div>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<div class="d-flex align-items-center">
<span class="nav-link-icon"><span class="fas fa-phone"></span></span>
<span class="nav-link-text">{% trans 'Haikal Contact'|capfirst %}</span>
</div>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">
<div class="d-flex align-items-center">
<span class="nav-link-icon"><span class="fas fa-robot"></span></span>
<span class="nav-link-text">{% trans 'Haikal Bot'|capfirst %}</span>
</div>
</a>
</li>
</ul>
</div>
{% endif %}
</div>
@ -360,7 +392,7 @@
{% endif %}
<div class="navbar-vertical-footer">
<button class="btn navbar-vertical-toggle border-0 fw-semibold w-100 white-space-nowrap d-flex align-items-center">
<span class="uil uil-left-arrow-to-left fs-8"></span><span class="uil uil-arrow-from-right fs-8"></span><span class="navbar-vertical-footer-text ms-2">Collapsed View</span>
<span class="fas fa-angle-double-left fs-8"></span><span class="fas fa-angle-double-right fs-8"></span><span class="navbar-vertical-footer-text ms-2">Collapsed View</span>
</button>
</div>
</nav>
@ -498,7 +530,7 @@
</div>
{% else %}
<div class="px-3">
<a class="btn btn-phoenix-success d-flex flex-center w-100" href="{% url 'account_login' %}"> <span class="me-2" data-feather="log-in"> </span>{% trans 'Sign In' %}</a>
<a class="btn btn-phoenix-succes d-flex flex-center w-100" href="{% url 'account_login' %}"> <span class="me-2" data-feather="log-in"> </span>{% trans 'Sign In' %}</a>
</div>
<div class="px-3">
<a class="btn btn-phoenix-primary d-flex flex-center w-100" href="{% url 'account_signup' %}"> <span class="me-2" data-feather="user-plus"> </span>{% trans 'Sign Up' %}</a>

View File

@ -6,23 +6,7 @@
{% trans 'Edit Car' %}
{% endblock %}
{% block content %}
{% comment %} <div class="row">
<div class="card rounded shadow mt-3">
<p class="card-header bg-primary text-white rounded-top fw-bold">{% trans 'Edit Car' %}</p>
<div class="card-body">
<form method="post" class="needs-validation" novalidate>
{% csrf_token %} {{ form|crispy }}
<!-- Save and Back Buttons -->
<div class="d-flex justify-content-center mt-4 ms-2">
<a href="{{ request.META.HTTP_REFERER }}" class="btn btn-sm btn-phoenix-danger">{% trans "Back" %}</a>
<button type="submit" class="btn btn-sm btn-phoenix-success ms-2">{% trans 'Save' %}</button>
</div>
</form>
</div>
</div>
</div> {% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">

View File

@ -6,41 +6,6 @@
{% trans "Car Finance Details" %}
{% endblock %}
{% block content %}
{% comment %} <div class="row p-4">
<p class="mb-4">
{% trans "Finance Details for" %}
{{ car.id_car_make.get_local_name }} - {{ car.id_car_model.get_local_name }}
</p>
<!-- Display Validation Errors -->
{% if form.errors %}
<div class="alert alert-danger">
<ul>
{% for field in form %}
{% for error in field.errors %}<li>{{ field.label }}: {{ error }}</li>{% endfor %}
{% endfor %}
{% for error in form.non_field_errors %}<li>{{ error }}</li>{% endfor %}
</ul>
</div>
{% endif %}
<form method="post" class="needs-validation" novalidate>
<div class="row g-1">
<div class="col-lg-4 col-xl-12">
{% csrf_token %}
{{ form|crispy }}
</div>
</div>
<div class="d-flex justify-content-center">
<button class="btn btn-sm btn-phoenix-success me-2" type="submit">
<i class="fa-solid fa-floppy-disk me-1"></i>
<!--<i class="bi bi-save"></i> -->
{{ _("Save") }}
</button>
<a href="{{ request.META.HTTP_REFERER }}" class="btn btn-sm btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
</div>
</form>
</div>
{% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">

View File

@ -1,7 +1,7 @@
{% extends "base.html" %}
{% load i18n static %}
{% block title %}
{% trans "inventory"|capfirst %}
{% trans "Inventory Stats"|capfirst %}
{% endblock %}
{% block content %}
<div class="row justify-content-between">

View File

@ -4,38 +4,16 @@
{% load i18n %}
{% block title %}{{ _("Add New Expense") }}{% endblock title %}
{% block content %}
{% comment %} <div class="row">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header"><h3>{{ _("Add Expense") }}</h3></div>
<div class="card-body">
<form method="post" action="">
{% csrf_token %}
{{ form|crispy }}
<div class="d-flex justify-content-start">
<button class="btn btn-sm btn-phoenix-success me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div> {% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">
<div class="col-lg-8 col-md-10">
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
<h3 class="mb-0 fs-4 text-center">
{{ _("Add Expense") }}
<span class="fas fa-money-bill-wave ms-2 text-primary"></span>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -28,8 +28,9 @@
<div class="col-lg-8 col-md-10">
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
<h3 class="mb-0 fs-4 text-center">
{{ _("Update Expense") }}
<span class="fas fa-money-bill-wave ms-2 text-primary"></span>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -8,7 +8,7 @@
<div class="row mt-4">
<div class="d-flex justify-content-between mb-2">
<h3 class="">{% trans "Expenses" %}</h3>
<h3 class="">{% trans "Expenses" %} <span class="fas fa-money-bill-wave ms-2 text-primary"></span></h3>
{% if perms.django_ledger.add_itemmodel %}
<a href="{% url 'item_expense_create' request.dealer.slug %}" class="btn btn-md btn-phoenix-primary"><i class="fa fa-plus me-2"></i>{% trans "Add Expense" %}</a>
{% endif %}

View File

@ -13,46 +13,20 @@
{% endblock %}
{% block content %}
{% comment %} <div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card bg-body">
<div class="card-header">
{% if service.pk %}
<h3>{{ _("Update Service") }}</h3>
{% else %}
<h3>{{ _("Add Service") }}</h3>
{% endif %}
</div>
<div class="card-body">
<form method="post" action="">
{% csrf_token %}
{{ form|crispy }}
<div class="d-flex justify-content-start">
<button class="btn btn-sm btn-phoenix-success me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i> {{ _("Save") }}</button>
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div> {% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">
<div class="col-lg-8 col-md-10">
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
<h3 class="mb-0 fs-4 text-center">
{% if service.pk %}
{{ _("Update Service") }}
{% else %}
{{ _("Add Service") }}
{% endif %}
<span class="fas fa-tools ms-2 text-primary"></span>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -7,7 +7,7 @@
<div class="row mt-4">
<div class="d-flex justify-content-between mb-2">
<h3 class="">{% trans "Services" %}</h3>
<h3 class="">{% trans "Services" %}<span class="fas fa-tools text-primary ms-2"></span></h3>
{% if perms.inventory.add_additionalservices %}
<a href="{% url 'item_service_create' request.dealer.slug %}" class="btn btn-md btn-phoenix-primary"><i class="fa fa-plus me-2"></i>{% trans "Add Service" %}</a>
{% endif %}

View File

@ -12,44 +12,6 @@
{% block content %}
{% comment %} <div class="container">
<div class="row justify-content-center">
<div class="col-8">
<div class="card shadow rounded bg-body">
<div class="card-header">
<p class="mb-0">
{% if customer.created %}
<!--<i class="bi bi-pencil-square"></i>-->
{{ _("Edit Bank Account") }}
{% else %}
<!--<i class="bi bi-person-plus"></i> -->
{{ _("Add Bank Account") }}
{% endif %}
</p>
</div>
<div class="card-body">
<form method="post" class="form" novalidate>
{% csrf_token %}
{{ form|crispy }}
{% for error in form.errors %}
<div class="text-danger">{{ error }}</div>
{% endfor %}
<div class="d-flex justify-content-start">
<button class="btn btn-sm btn-phoenix-success me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>
<!--<i class="bi bi-save"></i> -->
{{ _("Save") }}
</button>
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div> {% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">
@ -63,7 +25,9 @@
{% else %}
{{ _("Add Bank Account") }}
{% endif %}
<span class="fas fa-bank ms-2 text-primary"></span>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -7,7 +7,7 @@
<div class="row mt-4">
<div class="d-flex justify-content-between mb-2">
<h3 class="">{% trans "Bank Accounts" %}</h3>
<h3 class="">{% trans "Bank Accounts" %}<span class="fas fa-bank ms-2 text-primary"></span></h3>
{% if perms.django_ledger.add_bankaccountmodel%}
<a href="{% url 'bank_account_create' request.dealer.slug %}" class="btn btn-md btn-phoenix-primary"><i class="fa fa-plus me-2"></i>{% trans "Add Bank Account" %}</a>
{% endif %}

View File

@ -6,7 +6,7 @@
{% block content %}
<div class="row mt-4">
<h3 class="text-center">{% trans "Create Bill" %}</h3>
<h3 class="text-center">{% trans "Create Bill" %}<span class="fas fa-money-bills ms-2 text-primary"></span></h3>
<form id="mainForm" method="post" class="needs-validation">
{% csrf_token %}
<div class="row g-3">

View File

@ -13,7 +13,7 @@
<div class="row mt-4">
<div class="d-flex justify-content-between mb-2">
<h3 class="">{% trans "Bills" %}</h3>
<h3 class="">{% trans "Bills" %}<span class="fas fa-money-bills ms-2 text-primary"></span></h3>
{% if perms.django_ledger.add_billmodel %}
<a href="{% url 'bill-create' request.dealer.slug entity.slug %}" class="btn btn-md btn-phoenix-primary"><i class="fa fa-plus me-2"></i>{% trans 'New Bill' %}</a>
{% endif %}

View File

@ -12,57 +12,21 @@
{% endblock %}
{% block content %}
{% comment %}
<div class="row my-5">
<!-- Display Form Errors -->
<div class="card shadow rounded bg-body">
<div class="card-header">
<h4 class="mb-3">
{% if account.created %}
<!--<i class="bi bi-pencil-square"></i>-->
<i class="fa-solid fa-book"></i> {{ _("Edit Account") }}
{% else %}
<!--<i class="bi bi-person-plus"></i> -->
<i class="fa-solid fa-book"></i> {{ _("Add Account") }}
{% endif %}
</h4>
</div>
<div class="card-body">
<form method="post" class="form" novalidate>
{% csrf_token %}
{{ form|crispy }}
{% for error in form.errors %}
<div class="text-danger">{{ error }}</div>
{% endfor %}
<div class="d-flex justify-content-start">
<button class="btn btn-sm btn-phoenix-success me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>
<!--<i class="bi bi-save"></i> -->
{{ _("Save") }}
</button>
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
</div>
</form>
</div>
</div>
</div> {% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">
<div class="col-lg-8 col-md-10">
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
<h3 class="mb-0 fs-4 text-center ">
{% if account.created %}
<i class="fa-solid fa-book"></i> {{ _("Edit Account") }}
{{ _("Edit Account") }}
{% else %}
<i class="fa-solid fa-book"></i> {{ _("Add Account") }}
{{ _("Add Account") }}
{% endif %}
<i class="fa-solid fa-book ms-2 text-primary"></i>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -10,7 +10,7 @@
{% block content %}
<div class="row mt-4">
<div class="d-flex justify-content-between mb-2">
<h3 class=""><i class="fa-solid fa-book"></i> {% trans "Accounts" %}</h3>
<h3 class=""> {% trans "Accounts" %}<i class="fa-solid fa-book ms-2 text-primary"></i></h3>
{% if perms.django_ledger.add_chartofaccountmodel %}
<a href="{% url 'account_create' request.dealer.slug %}" class="btn btn-md btn-phoenix-primary"><i class="fa fa-plus me-2"></i>{% trans 'New Account' %}</a>
{% endif %}

View File

@ -5,33 +5,15 @@
{% block title %}{{ _("Create Ledger") }}{% endblock title %}
{% block content %}
{% comment %} <div class="row mt-4">
<h3 class="text-center">{% trans "Create Ledger" %}</h3>
<form id="mainForm" method="post" class="needs-validation">
{% csrf_token %}
<div class="row g-3">
{{ form|crispy }}
</div>
<div class="d-flex justify-content-center">
<button class="btn btn-sm btn-phoenix-success me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
</div>
</form>
</div> {% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">
<div class="col-lg-8 col-md-10">
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
<h3 class="mb-0 fs-4 text-center">
{% trans "Create Ledger" %}
<span class="fas fa-book-open ms-2 text-primary"></span>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -9,7 +9,7 @@
<div class="row mt-4">
<div class="d-flex justify-content-between mb-2">
<h3 class="">{% trans "Ledger" %}</h3>
<h3 class="">{% trans "Ledger" %} <span class="fas fa-book-open ms-2 text-primary"></span></h3>
{% if perms.django_ledger.add_ledgermodel %}
<a href="{% url 'ledger_create' request.dealer.slug request.dealer.entity.slug %}" class="btn btn-md btn-phoenix-primary"><i class="fa fa-plus me-2"></i>{% trans 'Create Ledger' %}</a>
{% endif %}

View File

@ -28,7 +28,7 @@
<a href="{% url 'invoice_preview_html' invoice.pk %}" class="btn btn-phoenix-primary mt-3"><i class="fas fa-eye"></i>
{{ _("View Invoice")}}</a>
{% endif %}
<a href="{% url 'home' %}" class="btn btn-phoenix-success mt-3">
<a href="{% url 'home' %}" class="btn btn-phoenix-primary mt-3">
<i class="fas fa-home"></i> {{ _("Back to Home")}}
</a>
</div>

View File

@ -16,11 +16,13 @@
<div class="col-lg-8 col-md-10 ">
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
{{ _("Add New Purchase Order") }}
<div class="card-header bg-gray-300 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center ">
{{ _("Add New Purchase Order") }}<span class="fas fa-cart-plus ms-2 text-primary "></span>
</h3>
</div>
<div class="card-body bg-light-subtle">
<form class="row g-3 " method="post" class="form" enctype="multipart/form-data" novalidate >
{% csrf_token %}

View File

@ -15,7 +15,7 @@
{% endif %}
<h2 class="">
{{ _("Purchase Orders") |capfirst }} <li class="fas fa-file-invoice text-primary ms-2"></li>
{{ _("Purchase Orders") |capfirst }} <li class="fas fa-cart-plus text-primary ms-2"></li>
</h2>
<div class="row g-3 justify-content-between mb-4">

View File

@ -61,11 +61,7 @@
</div>
</div>
<!-- Buttons -->
{% comment %} <div class="mt-5 text-center">
<button type="submit" class="btn btn-success me-2" {% if not items %}disabled{% endif %}><i class="fa-solid fa-floppy-disk me-1"></i> {% trans "Save" %}</button>
<a href="{% url 'estimate_list' %}" class="btn btn-danger"><i class="fa-solid fa-ban me-1"></i> {% trans "Cancel" %}</a>
</div> {% endcomment %}
<div class="d-flex justify-content-center">
<button class="btn btn-sm btn-phoenix-success me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>

View File

@ -142,7 +142,7 @@
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
<i class="fa-regular fa-file-lines"></i> {% trans "Create Quotation" %}
{% trans "Create Quotation" %}<i class="fa-regular fa-file-lines me-2"></i>
</h3>
</div>
<div class="card-body bg-light-subtle">
@ -198,73 +198,7 @@
</div>
{% endblock %}
<!---->
{% comment %} {% block content %}
<div class="row mt-4">
{% if not items %}
<div class="alert alert-outline-warning d-flex align-items-center" role="alert">
<i class="fa-solid fa-circle-info fs-6"></i>
<p class="mb-0 flex-1">{{ _("Please add at least one car before creating a quotation.") }}<a class="ms-3 text-body-primary fs-9" href="{% url 'car_add' request.dealer.slug %}"> {{ _("Add Car") }} </a></p>
<button class="btn-close" type="button" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endif %}
{% if not customer_count %}
<div class="alert alert-outline-warning d-flex align-items-center" role="alert">
<i class="fa-solid fa-circle-info fs-6"></i>&nbsp;&nbsp;
<p class="mb-0 flex-1"> {{ _("Please add at least one customer before creating a quotation.") }}<a class="ms-3 text-body-primary fs-9" href="{% url 'customer_create' request.dealer.slug %}"> {{ _("Add Customer") }} </a></p>
<button class="btn-close" type="button" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endif %}
<form id="mainForm" method="post" class="needs-validation {% if not items or not customer_count %}disabled{% endif %}">
<h3 class="text-center"><i class="fa-regular fa-file-lines"></i> {% trans "Create Quotation" %}</h3>
{% csrf_token %}
<div class="row g-3 col-10">
{{ form|crispy }}
<div class="custom-select">
<!-- Hidden native select for form submission -->
<select class="native-select" name="item" required tabindex="-1">
<option value="">Select a car</option>
{% for item in items %}
<option value="{{ item.hash }}"></option>
{% endfor %}
</select>
<!-- Custom select UI -->
<div class="select-trigger">
<div class="selected-value">
<span>Select a car</span>
</div>
<i class="fas fa-chevron-down dropdown-icon"></i>
</div>
<div class="options-container">
{% for item in items %}
<div class="option" data-value="{{ item.hash }}" data-image="{{item.logo}}">
<img src="{{item.logo}}" alt="{{item.model}}">
<span>{{item.make}} {{item.model}} {{item.serie}} {{item.trim}} {{item.color_name}}</span>
<div class="color-box" style="background-color: rgb({{ item.exterior_color }});"></div>
<div class="color-box" style="background-color: rgb({{ item.interior_color }});"></div>
<span style="color:gray;">({{item.hash_count}} in stock)</span>
</div>
{% endfor %}
</div>
</div>
</div>
<div class="d-flex justify-content-center">
<button class="btn btn-sm btn-phoenix-success me-2" type="submit">
<i class="fa-solid fa-floppy-disk me-1"></i>
{{ _("Save") }}
</button>
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-phoenix-danger">
<i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}
</a>
</div>
</form>
</div>
{% endblock content %} {% endcomment %}
{% block customJS %}
<script>

View File

@ -17,6 +17,7 @@
{% else %}
{{ _('Add Sale Order') }}
{% endif %}
<span class="fas fa-shopping-cart text-primary ms-2"></span>
</h3>
</div>
</div>

View File

@ -28,7 +28,7 @@
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
<i class="fa-solid fa-receipt"></i> {{ _("Add Invoice") }}
{{ _("Add Invoice") }}<i class="fa-solid fa-receipt ms-2 text-primary"></i>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -1,7 +1,7 @@
{% extends "base.html" %}
{% load i18n %}
{% load custom_filters %}
{%block title%} {%trans 'Sales'%} {%endblock%}
{%block title%} {%trans 'Sale Orders'%} {%endblock%}
{% block content %}
<section class="mt-2">

View File

@ -12,52 +12,6 @@
{% block content %}
{% comment %} <div class="row">
<div class="row">
<div class="col-sm-9">
<div class="d-sm-flex justify-content-between">
<h3 class="mb-3">
<i class="fa-solid fa-user-tie"></i>
{% if staff.created %}
{{ _("Edit Staff") }}
{% else %}
{{ _("Add Staff") }}
{% endif %}
</h3>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-9">
<form class="row g-3 mb-9" method="post" class="form" enctype="multipart/form-data" novalidate>
{% csrf_token %}
{{ redirect_field }}
{{ form.name|as_crispy_field }}
{{ form.arabic_name|as_crispy_field }}
{{ form.email|as_crispy_field }}
{{ form.phone_number|as_crispy_field }}
{{ form.address|as_crispy_field }}
{{ form.logo|as_crispy_field }}
{{ form.group|as_crispy_field }}
{% for error in form.errors %}
<div class="text-danger">{{ error }}</div>
{% endfor %}
<div class="d-flex mb-3">
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-phoenix-danger me-2"><i class="fa-solid fa-ban me-1"></i> {% trans "Cancel"|capfirst %}</a>
<button class="btn btn-phoenix-success " type="submit">
<i class="fa-solid fa-floppy-disk me-1"></i>
{{ _("Save") }}
</button>
</div>
</form>
</div>
</div>
</div> {% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">

View File

@ -13,61 +13,19 @@
{% block content %}
{% comment %}
<div class="row">
<div class="row">
<div class="col-xl-9">
<div class="d-sm-flex justify-content-between">
<h3 class="mb-3">
{% if vendor.created %}
<!--<i class="bi bi-pencil-square"></i>-->
{{ _("Edit Vendor") }}
{% else %}
<!--<i class="bi bi-person-plus"></i> -->
{{ _("Add Vendor") }}
{% endif %}
</h3>
</div>
</div>
</div>
<div class="row">
<div class="col-xl-9">
<form class="row g-3 mb-9" method="post" class="form" enctype="multipart/form-data" novalidate >
{% csrf_token %}
{{ redirect_field }}
{{ form|crispy }}
{% for error in form.errors %}
<div class="text-danger">{{ error }}</div>
{% endfor %}
<div class="d-flex justify-content-start">
<button class="btn btn-sm btn-phoenix-success me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>
<!--<i class="bi bi-save"></i> -->
{{ _("Save") }}
</button>
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
</div>
</form>
</div>
</div>
</div>
{% endcomment %}
<!---->
<div class="row justify-content-center mt-5 mb-3">
<div class="col-lg-8 col-md-10">
<div class="card shadow-sm border-0 rounded-3">
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
<h3 class="mb-0 fs-4 text-center text-white">
<h3 class="mb-0 fs-4 text-center">
{% if vendor.created %}
{{ _("Edit Vendor") }}
{% else %}
{{ _("Add Vendor") }}
{% endif %}
<span class="fas fa-cube ms-2 text-primary"></span>
</h3>
</div>
<div class="card-body bg-light-subtle">

View File

@ -10,7 +10,8 @@
<div class="d-flex justify-content-between mb-2">
<h3 class="">
{{ _("Vendors") |capfirst }}
</h2>
<span class="fas fa-cube ms-2 text-primary"></span>
</h3>
{% if perms.django_ledger.add_vendormodel %}
<a href="{% url 'vendor_create' request.dealer.slug %}" class="btn btn-md btn-phoenix-primary">
<i class="fa fa-plus me-2"></i>{{ _("Add Vendor") }}