HH/templates/dashboard/partials/feedback_table.html

140 lines
7.0 KiB
HTML

{% load i18n %}
<div class="card table-card">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="mb-0"><i class="bi bi-chat-dots me-2"></i>{% trans "Feedback" %}</h5>
<div>
<button type="button" class="btn btn-sm btn-outline-secondary bulk-action-btn" data-tab="feedback" disabled>
<i class="bi bi-check2-square"></i> Bulk Action
</button>
<a href="{% url 'feedback:feedback_list' %}" class="btn btn-sm btn-primary">
<i class="bi bi-list"></i> View All
</a>
</div>
</div>
<div class="card-body p-0">
{% if data %}
<div class="table-responsive">
<table class="table table-hover mb-0">
<thead>
<tr>
<th width="40"><input type="checkbox" class="form-check-input select-all"></th>
<th>ID</th>
<th>Title</th>
<th>Category</th>
<th>Submitted By</th>
<th>Sentiment</th>
<th>Status</th>
<th>Created</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for feedback_item in data %}
<tr>
<td>
<input type="checkbox" class="form-check-input bulk-checkbox" value="{{ feedback_item.id }}">
</td>
<td><code>{{ feedback_item.id }}</code></td>
<td>
<a href="{% url 'feedback:feedback_detail' feedback_item.id %}" class="text-decoration-none">
{{ feedback_item.title|truncatewords:8 }}
</a>
</td>
<td>{{ feedback_item.category }}</td>
<td>
{% if feedback_item.submitted_by %}
{{ feedback_item.submitted_by.get_full_name }}
{% else %}
<span class="text-muted">-</span>
{% endif %}
</td>
<td>
<span class="badge bg-{{ feedback_item.get_sentiment_color }}">{{ feedback_item.get_sentiment_display }}</span>
</td>
<td>
<span class="badge bg-{{ feedback_item.get_status_color }}">{{ feedback_item.get_status_display }}</span>
</td>
<td>
{{ feedback_item.created_at|date:"M d, Y" }}
</td>
<td>
<div class="btn-group btn-group-sm">
<a href="{% url 'feedback:feedback_detail' feedback_item.id %}" class="btn btn-outline-primary">
<i class="bi bi-eye"></i>
</a>
<a href="{% url 'feedback:feedback_update' feedback_item.id %}" class="btn btn-outline-secondary">
<i class="bi bi-pencil"></i>
</a>
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<!-- Pagination -->
{% if data.has_other_pages %}
<div class="card-footer">
<div class="d-flex justify-content-between align-items-center">
<small class="text-muted">
Showing {{ data.start_index }} to {{ data.end_index }} of {{ data.paginator.count }}
</small>
<nav aria-label="Page navigation">
<ul class="pagination pagination-sm mb-0">
{% if data.has_previous %}
<li class="page-item">
<a class="page-link" href="?page_feedback=1&tab=feedback&date_range={{ request.GET.date_range }}&search={{ request.GET.search }}&status={{ request.GET.status }}">
<i class="bi bi-chevron-double-left"></i>
</a>
</li>
<li class="page-item">
<a class="page-link" href="?page_feedback={{ data.previous_page_number }}&tab=feedback&date_range={{ request.GET.date_range }}&search={{ request.GET.search }}&status={{ request.GET.status }}">
<i class="bi bi-chevron-left"></i>
</a>
</li>
{% else %}
<li class="page-item disabled">
<span class="page-link"><i class="bi bi-chevron-double-left"></i></span>
</li>
<li class="page-item disabled">
<span class="page-link"><i class="bi bi-chevron-left"></i></span>
</li>
{% endif %}
<li class="page-item active">
<span class="page-link">{{ data.number }}</span>
</li>
{% if data.has_next %}
<li class="page-item">
<a class="page-link" href="?page_feedback={{ data.next_page_number }}&tab=feedback&date_range={{ request.GET.date_range }}&search={{ request.GET.search }}&status={{ request.GET.status }}">
<i class="bi bi-chevron-right"></i>
</a>
</li>
<li class="page-item">
<a class="page-link" href="?page_feedback={{ data.paginator.num_pages }}&tab=feedback&date_range={{ request.GET.date_range }}&search={{ request.GET.search }}&status={{ request.GET.status }}">
<i class="bi bi-chevron-double-right"></i>
</a>
</li>
{% else %}
<li class="page-item disabled">
<span class="page-link"><i class="bi bi-chevron-right"></i></span>
</li>
<li class="page-item disabled">
<span class="page-link"><i class="bi bi-chevron-double-right"></i></span>
</li>
{% endif %}
</ul>
</nav>
</div>
</div>
{% endif %}
{% else %}
<div class="p-4 text-center text-muted">
<i class="bi bi-inbox fs-1"></i>
<p class="mt-2">No feedback found</p>
</div>
{% endif %}
</div>
</div>