162 lines
6.5 KiB
HTML
162 lines
6.5 KiB
HTML
{% extends "base.html" %}
|
|
{% block content %}
|
|
|
|
<div class="container mt-4">
|
|
|
|
<div class="d-flex flex-column flex-md-row justify-content-between align-items-md-center mb-3">
|
|
<h4 class="mb-3 mb-md-0">Subcontractor List</h4>
|
|
|
|
<a href="{{ url_for('subcontractor.add_subcontractor') }}" class="btn btn-primary btn-sm">
|
|
+ Add Subcontractor
|
|
</a>
|
|
</div>
|
|
|
|
<div class="card shadow-sm">
|
|
<div class="card-body p-2 p-md-3">
|
|
|
|
<!-- Desktop Table View -->
|
|
<div class="table-responsive d-none d-md-block">
|
|
<table class="table table-bordered table-hover align-middle">
|
|
<thead class="table-dark">
|
|
<tr>
|
|
<th>ID</th>
|
|
<th>Name</th>
|
|
<th>Contact</th>
|
|
<th>Mobile</th>
|
|
<th>Email</th>
|
|
<th>Status</th>
|
|
<th width="150">Action</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for s in subcontractors %}
|
|
<tr>
|
|
<td>{{ s.id }}</td>
|
|
<td>{{ s.subcontractor_name }}</td>
|
|
<td>{{ s.contact_person }}</td>
|
|
<td>{{ s.mobile_no }}</td>
|
|
<td>{{ s.email_id }}</td>
|
|
<td>
|
|
{% if s.status == "Active" %}
|
|
<span class="badge bg-success">Active</span>
|
|
{% else %}
|
|
<span class="badge bg-danger">Inactive</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<a href="{{ url_for('subcontractor.edit_subcontractor', id=s.id) }}"
|
|
class="btn btn-sm btn-warning mb-1">
|
|
Edit
|
|
</a>
|
|
|
|
<a href="{{ url_for('subcontractor.delete_subcontractor', id=s.id) }}"
|
|
class="btn btn-sm btn-danger" onclick="return confirm('Are you sure to delete?')">
|
|
Delete
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Mobile Card View -->
|
|
<div class="d-md-none">
|
|
{% for s in subcontractors %}
|
|
<div class="card mb-3 shadow-sm">
|
|
<div class="card-body p-3">
|
|
<h6 class="fw-bold mb-2">{{ s.subcontractor_name }}</h6>
|
|
|
|
<p class="mb-1"><strong>Contact:</strong> {{ s.contact_person }}</p>
|
|
<p class="mb-1"><strong>Mobile:</strong> {{ s.mobile_no }}</p>
|
|
<p class="mb-1"><strong>Email:</strong> {{ s.email_id }}</p>
|
|
|
|
<p class="mb-2">
|
|
<strong>Status:</strong>
|
|
{% if s.status == "Active" %}
|
|
<span class="badge bg-success">Active</span>
|
|
{% else %}
|
|
<span class="badge bg-danger">Inactive</span>
|
|
{% endif %}
|
|
</p>
|
|
|
|
<div class="d-flex gap-2">
|
|
<a href="{{ url_for('subcontractor.edit_subcontractor', id=s.id) }}"
|
|
class="btn btn-sm btn-warning w-50">
|
|
Edit
|
|
</a>
|
|
|
|
<a href="{{ url_for('subcontractor.delete_subcontractor', id=s.id) }}"
|
|
class="btn btn-sm btn-danger w-50" onclick="return confirm('Are you sure to delete?')">
|
|
Delete
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<!-- Pagination -->
|
|
<nav>
|
|
<ul class="pagination justify-content-center flex-wrap mt-4">
|
|
|
|
{% if pagination.has_prev %}
|
|
<li class="page-item">
|
|
<a class="page-link" href="{{ url_for('subcontractor.subcontractor_list', page=1) }}">
|
|
First
|
|
</a>
|
|
</li>
|
|
|
|
<li class="page-item">
|
|
<a class="page-link"
|
|
href="{{ url_for('subcontractor.subcontractor_list', page=pagination.prev_num) }}">
|
|
Prev
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% for page_num in pagination.iter_pages() %}
|
|
{% if page_num %}
|
|
{% if page_num != pagination.page %}
|
|
<li class="page-item">
|
|
<a class="page-link" href="{{ url_for('subcontractor.subcontractor_list', page=page_num) }}">
|
|
{{ page_num }}
|
|
</a>
|
|
</li>
|
|
{% else %}
|
|
<li class="page-item active">
|
|
<span class="page-link">{{ page_num }}</span>
|
|
</li>
|
|
{% endif %}
|
|
{% else %}
|
|
<li class="page-item disabled">
|
|
<span class="page-link">...</span>
|
|
</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% if pagination.has_next %}
|
|
<li class="page-item">
|
|
<a class="page-link"
|
|
href="{{ url_for('subcontractor.subcontractor_list', page=pagination.next_num) }}">
|
|
Next
|
|
</a>
|
|
</li>
|
|
|
|
<li class="page-item">
|
|
<a class="page-link"
|
|
href="{{ url_for('subcontractor.subcontractor_list', page=pagination.pages) }}">
|
|
Last
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endblock %} |