101 lines
6.1 KiB
HTML
101 lines
6.1 KiB
HTML
{% load i18n %}
|
|
<div class="overflow-hidden border border-gray-100 rounded-2xl">
|
|
<div class="bg-gradient-to-r from-sky-50 to-blue-50 px-6 py-4 border-b border-gray-100 flex justify-between items-center">
|
|
<h3 class="font-bold text-lg flex items-center gap-2">
|
|
<i data-lucide="help-circle" class="w-5 h-5 text-sky-500"></i>
|
|
{% trans "Inquiries" %}
|
|
</h3>
|
|
<div class="flex gap-2">
|
|
<button class="bulk-action-btn px-4 py-2 border-2 border-sky-500 text-sky-500 rounded-xl font-semibold hover:bg-sky-50 transition text-sm" data-tab="inquiries" disabled>
|
|
{% trans "Bulk Action" %}
|
|
</button>
|
|
<a href="{% url 'complaints:inquiry_list' %}" class="px-4 py-2 bg-sky-500 text-white rounded-xl font-semibold hover:bg-sky-600 transition text-sm">
|
|
{% trans "View All" %}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="overflow-x-auto">
|
|
<table class="w-full">
|
|
<thead class="bg-gray-50">
|
|
<tr>
|
|
<th class="px-6 py-4 text-left text-xs font-bold text-gray-500 uppercase tracking-wider">
|
|
<input type="checkbox" class="bulk-checkbox-all w-4 h-4 rounded border-gray-300">
|
|
</th>
|
|
<th class="px-6 py-4 text-left text-xs font-bold text-gray-500 uppercase tracking-wider">{% trans "ID" %}</th>
|
|
<th class="px-6 py-4 text-left text-xs font-bold text-gray-500 uppercase tracking-wider">{% trans "Subject" %}</th>
|
|
<th class="px-6 py-4 text-left text-xs font-bold text-gray-500 uppercase tracking-wider">{% trans "Priority" %}</th>
|
|
<th class="px-6 py-4 text-left text-xs font-bold text-gray-500 uppercase tracking-wider">{% trans "Status" %}</th>
|
|
<th class="px-6 py-4 text-left text-xs font-bold text-gray-500 uppercase tracking-wider">{% trans "Due Date" %}</th>
|
|
<th class="px-6 py-4 text-left text-xs font-bold text-gray-500 uppercase tracking-wider">{% trans "Actions" %}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="divide-y divide-gray-50">
|
|
{% for inquiry in data.object_list %}
|
|
<tr class="hover:bg-gray-50 transition">
|
|
<td class="px-6 py-4">
|
|
<input type="checkbox" class="bulk-checkbox w-4 h-4 rounded border-gray-300" value="{{ inquiry.id }}">
|
|
</td>
|
|
<td class="px-6 py-4 text-sm font-semibold text-gray-600">#{{ inquiry.inquiry_number }}</td>
|
|
<td class="px-6 py-4">
|
|
<a href="{% url 'complaints:inquiry_detail' inquiry.pk %}" class="font-semibold text-gray-800 hover:text-sky-500 transition">
|
|
{{ inquiry.subject }}
|
|
</a>
|
|
</td>
|
|
<td class="px-6 py-4">
|
|
<span class="px-2.5 py-1 rounded-lg text-xs font-bold {% if inquiry.priority == 'high' %}bg-orange-100 text-orange-600{% elif inquiry.priority == 'medium' %}bg-yellow-100 text-yellow-600{% else %}bg-gray-100 text-gray-600{% endif %}">
|
|
{{ inquiry.get_priority_display }}
|
|
</span>
|
|
</td>
|
|
<td class="px-6 py-4">
|
|
<span class="px-2.5 py-1 rounded-lg text-xs font-bold {% if inquiry.status == 'open' %}bg-yellow-100 text-yellow-600{% elif inquiry.status == 'in_progress' %}bg-blue-100 text-blue-600{% elif inquiry.status == 'resolved' %}bg-green-100 text-green-600{% else %}bg-gray-100 text-gray-600{% endif %}">
|
|
{{ inquiry.get_status_display }}
|
|
</span>
|
|
</td>
|
|
<td class="px-6 py-4 text-sm text-gray-600">
|
|
{% if inquiry.due_date %}
|
|
{{ inquiry.due_date|date:"M d, Y" }}
|
|
{% else %}
|
|
-
|
|
{% endif %}
|
|
</td>
|
|
<td class="px-6 py-4">
|
|
<a href="{% url 'complaints:inquiry_detail' inquiry.pk %}" class="inline-flex items-center gap-1 text-sky-500 hover:text-sky-600 text-sm font-semibold">
|
|
{% trans "View" %}
|
|
<i data-lucide="arrow-right" class="w-4 h-4"></i>
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
{% empty %}
|
|
<tr>
|
|
<td colspan="7" class="px-6 py-12 text-center text-gray-500">
|
|
<i data-lucide="inbox" class="w-12 h-12 mx-auto mb-3 text-gray-300"></i>
|
|
<p class="font-semibold">{% trans "No inquiries found" %}</p>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% if data.has_other_pages %}
|
|
<div class="px-6 py-4 border-t border-gray-100 flex justify-between items-center">
|
|
<div class="text-sm text-gray-500">
|
|
{% trans "Showing" %} <span class="font-bold">{{ data.start_index }}</span>-<span class="font-bold">{{ data.end_index }}</span> {% trans "of" %} <span class="font-bold">{{ data.paginator.count }}</span> {% trans "inquiries" %}
|
|
</div>
|
|
<div class="flex gap-2">
|
|
{% if data.has_previous %}
|
|
<a href="?page={{ data.previous_page_number }}&tab=inquiries" class="px-3 py-1.5 border border-gray-200 rounded-lg text-sm font-semibold hover:bg-gray-50 transition">
|
|
{% trans "Previous" %}
|
|
</a>
|
|
{% endif %}
|
|
<span class="px-3 py-1.5 bg-sky-500 text-white rounded-lg text-sm font-bold">
|
|
{{ data.number }}
|
|
</span>
|
|
{% if data.has_next %}
|
|
<a href="?page={{ data.next_page_number }}&tab=inquiries" class="px-3 py-1.5 border border-gray-200 rounded-lg text-sm font-semibold hover:bg-gray-50 transition">
|
|
{% trans "Next" %}
|
|
</a>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
</div> |