102 lines
4.4 KiB
HTML
102 lines
4.4 KiB
HTML
{% extends "base.html" %}
|
|
{% load i18n static patient_tags %}
|
|
|
|
{% block title %}{% trans "Search Appointments" %} - {{ block.super }}{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container-fluid">
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<h1 class="h3 mb-0">
|
|
<i class="fa fa-search me-2"></i>{% trans "Search Appointments" %}
|
|
</h1>
|
|
<a href="{% url 'appointments:appointment-list' %}" class="btn btn-secondary">
|
|
<i class="fa fa-arrow-left me-1"></i>{% trans "Back to List" %}
|
|
</a>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="card mb-4">
|
|
<div class="card-header">
|
|
<h5 class="card-title mb-0">{% trans "Search Criteria" %}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<form method="get">
|
|
<div class="row">
|
|
{% for field in form %}
|
|
<div class="col-md-6 mb-3">
|
|
{% include "includes/form_field.html" %}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
<div class="d-flex justify-content-end gap-2">
|
|
<a href="{% url 'appointments:appointment-search' %}" class="btn btn-secondary">
|
|
{% trans "Clear" %}
|
|
</a>
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="fa fa-search me-1"></i>{% trans "Search" %}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
{% if results %}
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5 class="card-title mb-0">{% trans "Search Results" %} ({{ results|length }})</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>{% trans "Patient" %}</th>
|
|
<th>{% trans "Service" %}</th>
|
|
<th>{% trans "Provider" %}</th>
|
|
<th>{% trans "Date & Time" %}</th>
|
|
<th>{% trans "Status" %}</th>
|
|
<th>{% trans "Actions" %}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for appointment in results %}
|
|
<tr>
|
|
<td>{% patient_name appointment.patient %}</td>
|
|
<td>{{ appointment.service.name }}</td>
|
|
<td>{{ appointment.provider.get_full_name }}</td>
|
|
<td>{{ appointment.start_time|date:"Y-m-d H:i" }}</td>
|
|
<td>
|
|
{% if appointment.status == 'SCHEDULED' %}
|
|
<span class="badge bg-primary">{{ appointment.get_status_display }}</span>
|
|
{% elif appointment.status == 'CHECKED_IN' %}
|
|
<span class="badge bg-info">{{ appointment.get_status_display }}</span>
|
|
{% elif appointment.status == 'COMPLETED' %}
|
|
<span class="badge bg-success">{{ appointment.get_status_display }}</span>
|
|
{% elif appointment.status == 'CANCELLED' %}
|
|
<span class="badge bg-danger">{{ appointment.get_status_display }}</span>
|
|
{% else %}
|
|
<span class="badge bg-secondary">{{ appointment.get_status_display }}</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<a href="{% url 'appointments:appointment-detail' appointment.pk %}" class="btn btn-sm btn-outline-primary">
|
|
<i class="fa fa-eye"></i>
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% elif request.GET %}
|
|
<div class="alert alert-info p-4">
|
|
<i class="fa fa-info-circle me-2"></i>
|
|
{% trans "No appointments found matching your search criteria." %}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% endblock %}
|