agdar/templates/documents/note_list.html
Marwan Alwali a788c086ae update
2025-11-02 18:05:50 +03:00

177 lines
8.1 KiB
HTML

{% extends "base.html" %}
{% load i18n static patient_tags %}
{% block title %}{% trans "Clinical Notes" %} - {{ block.super }}{% endblock %}
{% block content %}
<div class="container-fluid">
<!-- Page Header -->
<div class="d-flex justify-content-between align-items-center mb-4">
<h1 class="h3 mb-0">
<i class="fa fa-file-medical me-2"></i>{% trans "Clinical Notes" %}
</h1>
<a href="{% url 'documents:note-create' %}" class="btn btn-primary">
<i class="fa fa-plus me-1"></i>{% trans "New Note" %}
</a>
</div>
<!-- Filters -->
<div class="card mb-4">
<div class="card-body">
<form method="get" class="row g-3">
<div class="col-md-3">
<input type="text" name="q" class="form-control"
placeholder="{% trans 'Search notes...' %}"
value="{{ request.GET.q }}">
</div>
<div class="col-md-2">
<select name="category" class="form-select">
<option value="">{% trans "All Categories" %}</option>
<option value="PROGRESS" {% if request.GET.category == 'PROGRESS' %}selected{% endif %}>{% trans "Progress Note" %}</option>
<option value="SOAP" {% if request.GET.category == 'SOAP' %}selected{% endif %}>{% trans "SOAP Note" %}</option>
<option value="CONSULTATION" {% if request.GET.category == 'CONSULTATION' %}selected{% endif %}>{% trans "Consultation" %}</option>
<option value="DISCHARGE" {% if request.GET.category == 'DISCHARGE' %}selected{% endif %}>{% trans "Discharge Summary" %}</option>
<option value="PROCEDURE" {% if request.GET.category == 'PROCEDURE' %}selected{% endif %}>{% trans "Procedure Note" %}</option>
<option value="THERAPY" {% if request.GET.category == 'THERAPY' %}selected{% endif %}>{% trans "Therapy Note" %}</option>
<option value="OTHER" {% if request.GET.category == 'OTHER' %}selected{% endif %}>{% trans "Other" %}</option>
</select>
</div>
<div class="col-md-2">
<select name="locked" class="form-select">
<option value="">{% trans "All Notes" %}</option>
<option value="true" {% if request.GET.locked == 'true' %}selected{% endif %}>{% trans "Locked Only" %}</option>
<option value="false" {% if request.GET.locked == 'false' %}selected{% endif %}>{% trans "Unlocked Only" %}</option>
</select>
</div>
<div class="col-md-3">
<input type="date" name="date" class="form-control"
value="{{ request.GET.date }}"
placeholder="{% trans 'Date' %}">
</div>
<div class="col-md-2">
<button type="submit" class="btn btn-primary w-100">
<i class="fa fa-search me-1"></i>{% trans "Search" %}
</button>
</div>
</form>
</div>
</div>
<!-- Notes List -->
<div class="row">
{% if notes %}
{% for note in notes %}
<div class="col-md-6 col-lg-4 mb-4">
<div class="card h-100 shadow-sm">
<div class="card-header d-flex justify-content-between align-items-center">
<span class="badge bg-primary">{{ note.get_category_display }}</span>
{% if note.is_locked %}
<span class="badge bg-danger">
<i class="fa fa-lock me-1"></i>{% trans "Locked" %}
</span>
{% else %}
<span class="badge bg-success">
<i class="fa fa-unlock me-1"></i>{% trans "Unlocked" %}
</span>
{% endif %}
</div>
<div class="card-body">
<h5 class="card-title">
<a href="{% url 'documents:note-detail' note.pk %}" class="text-decoration-none">
{{ note.title }}
</a>
</h5>
<p class="card-text text-muted">
<small>
<i class="fa fa-user me-1"></i>
<a href="{% url 'core:patient-detail' note.patient.pk %}">
{% patient_name note.patient %}
</a>
</small>
</p>
<p class="card-text">
{{ note.content|striptags|truncatewords:20 }}
</p>
</div>
<div class="card-footer bg-transparent">
<div class="d-flex justify-content-between align-items-center">
<small class="text-muted">
<i class="fa fa-calendar me-1"></i>{{ note.created_at|date:"Y-m-d" }}
</small>
<div class="btn-group btn-group-sm">
<a href="{% url 'documents:note-detail' note.pk %}"
class="btn btn-outline-primary" title="{% trans 'View' %}">
<i class="fa fa-eye"></i>
</a>
{% if not note.is_locked %}
<a href="{% url 'documents:note-update' note.pk %}"
class="btn btn-outline-warning" title="{% trans 'Edit' %}">
<i class="fa fa-edit"></i>
</a>
{% endif %}
<a href="{% url 'documents:note-pdf' note.pk %}"
class="btn btn-outline-danger" title="{% trans 'PDF' %}" target="_blank">
<i class="fa fa-file-pdf"></i>
</a>
</div>
</div>
</div>
</div>
</div>
{% endfor %}
{% else %}
<div class="col-12">
<div class="card">
<div class="card-body text-center py-5">
<i class="fa fa-file-medical fa-3x text-muted mb-3"></i>
<p class="text-muted">{% trans "No clinical notes found." %}</p>
<a href="{% url 'documents:note-create' %}" class="btn btn-primary">
<i class="fa fa-plus me-1"></i>{% trans "Create First Note" %}
</a>
</div>
</div>
</div>
{% endif %}
</div>
<!-- Search Form -->
{% if search_form %}
<div class="card mt-4">
<div class="card-header">
<h5 class="mb-0">{% trans "Advanced Search" %}</h5>
</div>
<div class="card-body">
<form method="get" class="row g-3">
{{ search_form.as_p }}
<div class="col-12">
<button type="submit" class="btn btn-primary">
<i class="fa fa-search me-1"></i>{% trans "Search" %}
</button>
<a href="{% url 'documents:note-list' %}" class="btn btn-secondary">
<i class="fa fa-times me-1"></i>{% trans "Clear" %}
</a>
</div>
</form>
</div>
</div>
{% endif %}
{% if is_paginated %}
{% include "includes/pagination_unified.html" %}
{% endif %}
</div>
{% endblock %}
{% block css %}
<style>
.card {
transition: transform 0.2s;
}
.card:hover {
transform: translateY(-5px);
}
</style>
{% endblock %}