181 lines
12 KiB
HTML
181 lines
12 KiB
HTML
{% extends 'base.html' %}
|
|
{% load i18n %}
|
|
{% load static %}
|
|
{% block title %}
|
|
{{ _("Customers") |capfirst }}
|
|
{% endblock title %}
|
|
{% block vendors %}<a class="nav-link active">{{ _("Customers") |capfirst }}</a>{% endblock %}
|
|
{% block content %}
|
|
{% if customers or request.GET.q %}
|
|
<div class="row g-3 mt-4">
|
|
<h2 class="mb-2">
|
|
{{ _("Customers") |capfirst }}
|
|
<li class="fas fa-people-group text-primary ms-2"></li>
|
|
</h2>
|
|
<div class="row g-3 justify-content-between mb-4">
|
|
<div class="col-auto">
|
|
<div class="d-md-flex justify-content-between">
|
|
{% if perms.inventory.add_customer %}
|
|
<div>
|
|
<a href="{% url 'customer_create' request.dealer.slug %}"
|
|
class="btn btn-sm btn-phoenix-primary me-4"><span class="fas fa-plus me-2"></span>{{ _("Add Customer") }}</a>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="col-auto">
|
|
<div class="d-flex">{% include 'partials/search_box.html' %}</div>
|
|
</div>
|
|
</div>
|
|
{% if page_obj.object_list or request.GET.q %}
|
|
<div class="table-responsive scrollbar transition">
|
|
<table class="table align-items-center table-flush table-hover">
|
|
<thead>
|
|
<tr class="bg-body-highlight">
|
|
<th></th>
|
|
<th class="sort white-space-nowrap align-middle text-uppercase ps-0"
|
|
scope="col"
|
|
data-sort="name"
|
|
style="width:25%">{{ _("Name") |capfirst }}</th>
|
|
<th class="sort align-middle ps-4 pe-5 text-uppercase border-end border-translucent"
|
|
scope="col"
|
|
data-sort="email"
|
|
style="width:15%">
|
|
<div class="d-inline-flex flex-center">
|
|
<div class="d-flex align-items-center px-1 py-1 bg-success-subtle rounded me-2">
|
|
<span class="text-success-dark" data-feather="mail"></span>
|
|
</div>
|
|
<span>{{ _("email") |capfirst }}</span>
|
|
</div>
|
|
</th>
|
|
<th class="sort align-middle ps-4 pe-5 text-uppercase border-end border-translucent"
|
|
scope="col"
|
|
data-sort="phone"
|
|
style="width:15%;
|
|
min-width: 180px">
|
|
<div class="d-inline-flex flex-center">
|
|
<div class="d-flex align-items-center px-1 py-1 bg-primary-subtle rounded me-2">
|
|
<span class="text-primary-dark" data-feather="phone"></span>
|
|
</div>
|
|
<span>{{ _("Phone Number") }}</span>
|
|
</div>
|
|
</th>
|
|
<th class="sort align-middle ps-4 pe-5 text-uppercase border-end border-translucent"
|
|
scope="col"
|
|
data-sort="contact"
|
|
style="width:15%">
|
|
<div class="d-inline-flex flex-center">
|
|
<div class="d-flex align-items-center px-1 py-1 bg-info-subtle rounded me-2">
|
|
<span class="text-info-dark" data-feather="user"></span>
|
|
</div>
|
|
<span>{{ _("National ID") |capfirst }}</span>
|
|
</div>
|
|
</th>
|
|
<th class="sort align-middle ps-4 pe-5 text-uppercase border-end border-translucent"
|
|
scope="col"
|
|
data-sort="company"
|
|
style="width:15%">
|
|
<div class="d-inline-flex flex-center">
|
|
<div class="d-flex align-items-center px-1 py-1 bg-warning-subtle rounded me-2">
|
|
<span class="text-warning-dark" data-feather="home"></span>
|
|
</div>
|
|
<span>{{ _("Address") |capfirst }}</span>
|
|
</div>
|
|
</th>
|
|
<th class="sort align-middle ps-4 pe-5 text-uppercase border-end border-translucent"
|
|
scope="col"
|
|
data-sort="company"
|
|
style="width:15%">
|
|
<div class="d-inline-flex flex-center">
|
|
<div class="d-flex align-items-center px-1 py-1 bg-warning-subtle rounded me-2">
|
|
<span class="text-warning-dark" data-feather="grid"></span>
|
|
</div>
|
|
<span>{{ _("Active") |capfirst }}</span>
|
|
</div>
|
|
</th>
|
|
<th class="sort align-middle ps-4 pe-5 text-uppercase"
|
|
scope="col"
|
|
data-sort="date"
|
|
style="width:15%">
|
|
{{ _("Create date") }} <span class="text-warning-dark" data-feather="clock"></span>
|
|
</th>
|
|
<th class="sort text-end align-middle pe-0 ps-4" scope="col"></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="list" id="lead-tables-body">
|
|
{% for customer in customers %}
|
|
<!-- Delete Modal -->
|
|
<tr class="hover-actions-trigger btn-reveal-trigger position-static">
|
|
<td></td>
|
|
{% if perms.inventory.view_customer %}
|
|
<td class="name align-middle white-space-nowrap ps-0">
|
|
<div class="d-flex align-items-center">
|
|
<div>
|
|
<a class="fs-8 fw-bold"
|
|
href="{% url 'customer_detail' request.dealer.slug customer.slug %}">{{ customer.full_name }}</a>
|
|
<div class="d-flex align-items-center"></div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
{% endif %}
|
|
<td class="email align-middle white-space-nowrap fw-semibold ps-4 border-end border-translucent">
|
|
<a class="text-body-highlight" href="">{{ customer.email }}</a>
|
|
</td>
|
|
<td class="phone align-middle white-space-nowrap fw-semibold ps-4 border-end border-translucent">
|
|
<a class="text-body-highlight" href="tel:{{ customer.phone }}">{{ customer.phone_number }}</a>
|
|
</td>
|
|
<td class="contact align-middle white-space-nowrap ps-4 border-end border-translucent fw-semibold text-body-highlight">
|
|
{{ customer.national_id }}
|
|
</td>
|
|
<td class="company align-middle white-space-nowrap text-body-tertiary text-opacity-85 ps-4 border-end border-translucent fw-semibold text-body-highlight">
|
|
{{ customer.address }}
|
|
</td>
|
|
<td class="date align-middle white-space-nowrap text-body-tertiary text-opacity-85 ps-4 text-body-tertiary">
|
|
{% if customer.active %}
|
|
<span class="badge badge-phoenix badge-phoenix-success"><i class="fas fa-check"></i> {{ customer.active }}</span>
|
|
{% else %}
|
|
<span class="badge badge-phoenix badge-phoenix-danger"><i class="fas fa-times"></i> {{ customer.active }}</span>
|
|
{% endif %}
|
|
</td>
|
|
<td class="date align-middle white-space-nowrap text-body-tertiary text-opacity-85 ps-4 text-body-tertiary">
|
|
{{ customer.created|date }}
|
|
</td>
|
|
<td class="align-middle white-space-nowrap text-end pe-0 ps-4">
|
|
{% if perms.inventory.change_customer %}
|
|
<a href="{% url 'customer_update' request.dealer.slug customer.slug %}"
|
|
class="btn btn-sm btn-phoenix-primary me-2"
|
|
data-url="{% url 'customer_update' request.dealer.slug customer.slug %}">
|
|
<i class="fas fa-pen"></i>
|
|
</a>
|
|
{% endif %}
|
|
{% if perms.inventory.delete_customer %}
|
|
<button class="btn btn-phoenix-danger btn-sm delete-btn"
|
|
data-url="{% url 'customer_delete' request.dealer.slug customer.slug %}"
|
|
data-message="{{ _("Are you sure you want to delete this customer") }}"
|
|
data-bs-toggle="modal"
|
|
data-bs-target="#deleteModal">
|
|
<i class="fas fa-trash"></i>
|
|
</button>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% empty %}
|
|
<tr>
|
|
<td colspan="6" class="text-center">{% trans "No Customers found." %}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
{% endif %}
|
|
</table>
|
|
{% if page_obj.paginator.num_pages > 1 %}
|
|
<div class="d-flex justify-content-end mt-3">
|
|
<div class="d-flex">{% include 'partials/pagination.html' %}</div>
|
|
</div>
|
|
{% endif %}
|
|
{% include 'modal/delete_modal.html' %}
|
|
{% else %}
|
|
{% url "customer_create" request.dealer.slug as create_customer_url %}
|
|
{% include "empty-illustration-page.html" with value="customer" url=create_customer_url %}
|
|
{% endif %}
|
|
{% endblock %}
|