This commit is contained in:
Marwan Alwali 2025-05-07 15:05:57 +03:00
parent 5dee96ec09
commit 8e8c462e80
2 changed files with 28 additions and 25 deletions

View File

@ -59,6 +59,7 @@ admin.site.register(models.VatRate)
admin.site.register(ledger_models.CustomerModel) admin.site.register(ledger_models.CustomerModel)
admin.site.register(ledger_models.VendorModel) admin.site.register(ledger_models.VendorModel)
admin.site.register(ledger_models.ItemModel) admin.site.register(ledger_models.ItemModel)
admin.site.register(ledger_models.ItemTransactionModel)
admin.site.register(models.Opportunity) admin.site.register(models.Opportunity)
admin.site.register(models.Notification) admin.site.register(models.Notification)
admin.site.register(models.Lead) admin.site.register(models.Lead)

View File

@ -104,47 +104,48 @@
<table class="table table-sm fs-9 mb-0 border-translucent"> <table class="table table-sm fs-9 mb-0 border-translucent">
<thead> <thead>
<tr> <tr>
<th class="sort white-space-nowrap align-middle ps-0" scope="col" data-sort="projectName" style="width:10%;"> <th class="sort white-space-nowrap align-middle ps-0" scope="col" data-sort="customer_name" style="width:10%;">
{{ _("Customer Name")}}</th> {{ _("Customer Name")}}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="assignees" style="width:5%;">{{ _("Customer Address")}}</th> <th class="sort align-middle ps-3" scope="col" data-sort="customer_address" style="width:5%;">{{ _("Customer Address")}}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="start" style="width:5%;">{{ _("Customer Phone")}}</th> <th class="sort align-middle ps-3" scope="col" data-sort="customer_phone" style="width:5%;">{{ _("Customer Phone")}}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="deadline" style="width:5%;">{{ _("Make") }}</th> <th class="sort align-middle ps-3" scope="col" data-sort="make" style="width:5%;">{{ _("Make") }}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="task" style="width:5%;">{{ _("Model") }}</th> <th class="sort align-middle ps-3" scope="col" data-sort="model" style="width:5%;">{{ _("Model") }}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="task" style="width:5%;">{{ _("VIN") }}</th> <th class="sort align-middle ps-3" scope="col" data-sort="vin" style="width:5%;">{{ _("VIN") }}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="task" style="width:5%;">{{ _("Trim") }}</th> <th class="sort align-middle ps-3" scope="col" data-sort="trim" style="width:5%;">{{ _("Trim") }}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="task" style="width:5%;">{{ _("Price") }}</th> <th class="sort align-middle ps-3" scope="col" data-sort="price" style="width:5%;">{{ _("Price") }}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="task" style="width:7%;">{{ _("Quotation") }}</th> <th class="sort align-middle ps-3" scope="col" data-sort="quotation" style="width:7%;">{{ _("Quotation") }}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="task" style="width:7%;">{{ _("Invoice") }}</th> <th class="sort align-middle ps-3" scope="col" data-sort="invoice" style="width:7%;">{{ _("Invoice") }}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="task" style="width:7%;">{{ _("Staff Member") }}</th> <th class="sort align-middle ps-3" scope="col" data-sort="status" style="width:7%;">{{ _("Status") }}</th>
<th class="sort align-middle ps-3" scope="col" data-sort="staff" style="width:7%;">{{ _("Staff Member") }}</th>
<th class="sort align-middle text-end" scope="col" style="width:10%;"></th> <th class="sort align-middle text-end" scope="col" style="width:10%;"></th>
</tr> </tr>
</thead> </thead>
<tbody class="list" id="project-list-table-body"> <tbody class="list" id="project-list-table-body">
{% for tx in txs %} {% for tx in txs %}
<tr class="position-static"> <tr class="position-static">
<td class="align-middle white-space-nowrap deadline"> <td class="align-middle white-space-nowrap customer_name">
<p class="mb-0 fs-9 text-body">{{tx.customer.customer_name}}</p> <p class="mb-0 fs-9 text-body">{{tx.customer.customer_name}}</p>
</td> </td>
<td class="align-middle white-space-nowrap deadline"> <td class="align-middle white-space-nowrap customer_address">
<p class="mb-0 fs-9 text-body">{{tx.customer.address_1}}</p> <p class="mb-0 fs-9 text-body">{{tx.customer.address_1}}</p>
</td> </td>
<td class="align-middle white-space-nowrap deadline"> <td class="align-middle white-space-nowrap customer_phone">
<p class="mb-0 fs-9 text-body">{{tx.customer.phone}}</p> <p class="mb-0 fs-9 text-body">{{tx.customer.phone}}</p>
</td> </td>
<td class="align-middle time white-space-nowrap projectName">{{tx.info.make}}</td> <td class="align-middle time white-space-nowrap make">{{tx.info.make}}</td>
<td class="align-middle white-space-nowrap start"> <td class="align-middle white-space-nowrap model">
<p class="mb-0 fs-9 text-body">{{tx.info.model}}</p> <p class="mb-0 fs-9 text-body">{{tx.info.model}}</p>
</td> </td>
<td class="align-middle white-space-nowrap deadline"> <td class="align-middle white-space-nowrap vin">
<p class="mb-0 fs-9 text-body">{{tx.info.vin}}</p> <p class="mb-0 fs-9 text-body">{{tx.info.vin}}</p>
</td> </td>
<td class="align-middle white-space-nowrap task"> <td class="align-middle white-space-nowrap trim">
<p class="fw-bo text-body fs-9 mb-0">{{tx.info.trim}}</p> <p class="fw-bo text-body fs-9 mb-0">{{tx.info.trim}}</p>
</td> </td>
<td class="align-middle white-space-nowrap task"> <td class="align-middle white-space-nowrap price">
<p class="fw-bo text-body fs-9 mb-0">{{tx.finance.total}}</p> <p class="fw-bo text-body fs-9 mb-0">{{tx.finance.total}}</p>
</td> </td>
<td class="align-middle white-space-nowrap task"> <td class="align-middle white-space-nowrap quotation">
{% if tx.has_estimate %} {% if tx.has_estimate %}
<p class="fw-bo text-body fs-9 mb-0"> <p class="fw-bo text-body fs-9 mb-0">
<a href="{% url 'estimate_detail' tx.estimate.uuid %}"> <a href="{% url 'estimate_detail' tx.estimate.uuid %}">
@ -155,14 +156,14 @@
{% elif tx.estimate.status == "in_review" %} {% elif tx.estimate.status == "in_review" %}
<span class="badge badge-phoenix badge-phoenix-info">{{tx.estimate.status}}</span> <span class="badge badge-phoenix badge-phoenix-info">{{tx.estimate.status}}</span>
{% elif tx.estimate.status == "approved" %} {% elif tx.estimate.status == "approved" %}
<span class="badge badge-phoenix badge-phoenix-success">{{tx.estimate.status}}</span> <span class="badge badge-phoenix badge-phoenix-primary">{{tx.estimate.status}}</span>
{% elif tx.estimate.status == "completed" %} {% elif tx.estimate.status == "completed" %}
<span class="badge badge-phoenix badge-phoenix-success">{{tx.estimate.status}}</span> <span class="badge badge-phoenix badge-phoenix-success">{{tx.estimate.status}}</span>
{% endif %} {% endif %}
</p> </p>
{% endif %} {% endif %}
</td> </td>
<td class="align-middle white-space-nowrap task"> <td class="align-middle white-space-nowrap invoice">
{% if tx.has_invoice %} {% if tx.has_invoice %}
<p class="fw-bo text-body fs-9 mb-0"> <p class="fw-bo text-body fs-9 mb-0">
<a href="{% url 'invoice_detail' tx.invoice.uuid %}"> <a href="{% url 'invoice_detail' tx.invoice.uuid %}">
@ -173,7 +174,7 @@
{% elif tx.invoice.is_review %} {% elif tx.invoice.is_review %}
<span class="badge badge-phoenix badge-phoenix-info">{{tx.invoice.invoice_status}}</span> <span class="badge badge-phoenix badge-phoenix-info">{{tx.invoice.invoice_status}}</span>
{% elif tx.invoice.is_approved %} {% elif tx.invoice.is_approved %}
<span class="badge badge-phoenix badge-phoenix-info">{{tx.invoice.invoice_status}}</span> <span class="badge badge-phoenix badge-phoenix-primary">{{tx.invoice.invoice_status}}</span>
{% elif tx.invoice.is_completed %} {% elif tx.invoice.is_completed %}
<span class="badge badge-phoenix badge-phoenix-success">{{tx.invoice.invoice_status}}</span> <span class="badge badge-phoenix badge-phoenix-success">{{tx.invoice.invoice_status}}</span>
{% elif tx.invoice.is_paid %} {% elif tx.invoice.is_paid %}
@ -186,8 +187,8 @@
</p> </p>
{% endif %} {% endif %}
</td> </td>
<td class="align-middle white-space-nowrap text-end statuses"> <td class="align-middle white-space-nowrap text-end status">
{% if car.status == "available" %} {% if car.status == "available" %}
<span class="badge badge-phoenix fs-10 badge-phoenix-success">{{car.status}}</span> <span class="badge badge-phoenix fs-10 badge-phoenix-success">{{car.status}}</span>
{% elif car.status == "reserved" %} {% elif car.status == "reserved" %}
@ -198,6 +199,7 @@
<span class="badge badge-phoenix fs-10 badge-phoenix-warning">{{car.status}}</span> <span class="badge badge-phoenix fs-10 badge-phoenix-warning">{{car.status}}</span>
{% endif %} {% endif %}
</td> </td>
<td class="align-middle white-space-nowrap text-center staff"></td>
<td class="align-middle text-end white-space-nowrap pe-0 action"> <td class="align-middle text-end white-space-nowrap pe-0 action">
<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>