This commit is contained in:
Marwan Alwali 2025-12-31 10:52:00 +03:00
parent 7fc497ab70
commit 4e367c780c
5 changed files with 72 additions and 25 deletions

View File

@ -84,7 +84,7 @@ class Department(UUIDModel, TimeStampedModel):
def __str__(self):
return f"{self.hospital.name} - {self.name}"
# TODO Add Section
class Physician(UUIDModel, TimeStampedModel):
"""Physician/Doctor model"""
# Link to user account (optional - some physicians may not have system access)

View File

@ -93,12 +93,7 @@ def mention_list(request):
@login_required
def mention_detail(request, pk):
"""Social media mention detail view"""
mention = get_object_or_404(
SocialMention.objects.select_related(
'hospital', 'department', 'px_action', 'responded_by'
),
pk=pk
)
mention = get_object_or_404(SocialMention.objects.select_related('hospital', 'department', 'px_action', 'responded_by'),pk=pk)
context = {
'mention': mention,

BIN
dump.rdb

Binary file not shown.

View File

@ -111,47 +111,95 @@
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
transition: transform 0.2s, box-shadow 0.2s;
}
.stat-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.stat-card .card-body {
padding: 1.5rem;
}
.stat-value {
font-size: 2rem;
font-weight: 700;
margin: 0.5rem 0;
}
.stat-label {
color: #6b7280;
font-size: 0.875rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}
/* Tables */
.table-card {
background: white;
border-radius: 0.5rem;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.table-card .card-header {
background: white;
border-bottom: 1px solid #e5e7eb;
padding: 1rem 1.5rem;
}
/* Badges */
.badge {
padding: 0.35em 0.65em;
font-weight: 600;
}
/* Soft Buttons (Velzon-inspired) */
.btn-soft-primary {
color: #0d6efd;
background-color: rgba(13, 110, 253, 0.1);
border-color: transparent;
}
.btn-soft-primary:hover {
color: #fff;
background-color: #0d6efd;
border-color: #0d6efd;
}
/* Card Enhancements */
.card {
margin-bottom: 1.5rem;
}
.card-title {
font-size: 1rem;
font-weight: 600;
color: #495057;
}
.shadow-sm {
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.border-0 {
border: 0 !important;
}
.bg-transparent {
background-color: transparent !important;
}
/* Page Title Box */
.page-title-box {
padding-bottom: 1rem;
}
.page-title-box h4 {
font-size: 1.25rem;
font-weight: 600;
color: #495057;
margin: 0;
}
/* SLA Indicators */
.sla-overdue { color: #dc2626; }

View File

@ -8,7 +8,7 @@
<div class="container-fluid">
<div class="mb-3">
<a href="{% url 'surveys:instance_list' %}" class="btn btn-outline-secondary btn-sm">
<i class="bi bi-arrow-left me-1"></i> Back to Surveys
<i class="bi bi-arrow-left me-1"></i> {{ _("Back to Surveys")}}
</a>
</div>
@ -41,7 +41,7 @@
{% empty %}
<div class="text-center py-5">
<i class="bi bi-clipboard" style="font-size: 3rem; color: #ccc;"></i>
<p class="text-muted mt-3">No responses yet</p>
<p class="text-muted mt-3">{{ _("No responses yet")}}</p>
</div>
{% endfor %}
</div>
@ -71,26 +71,26 @@
{% if survey.total_score %}
<div class="mb-3">
<strong>Total Score:</strong><br>
<strong>{{ _("Total Score")}}:</strong><br>
<h3 class="mb-0 {% if survey.is_negative %}text-danger{% else %}text-success{% endif %}">
{{ survey.total_score|floatformat:1 }}/5.0
</h3>
{% if survey.is_negative %}
<span class="badge bg-danger mt-2">Negative Feedback</span>
<span class="badge bg-danger mt-2">{{ _("Negative Feedback")}}</span>
{% endif %}
</div>
{% endif %}
{% if survey.sent_at %}
<div class="mb-3">
<strong>Sent:</strong><br>
<strong>{{ _("Sent") }}:</strong><br>
{{ survey.sent_at|date:"M d, Y H:i" }}
</div>
{% endif %}
{% if survey.completed_at %}
<div class="mb-0">
<strong>Completed:</strong><br>
<strong>{{ _("Completed") }}:</strong><br>
{{ survey.completed_at|date:"M d, Y H:i" }}
</div>
{% endif %}
@ -103,11 +103,15 @@
</div>
<div class="card-body">
<div class="mb-2">
<strong>Name:</strong><br>
<strong>{{ _("Name") }}:</strong><br>
{{ survey.patient.get_full_name }}
</div>
<div class="mb-2">
<strong>{{ _("Phone") }}:</strong><br>
{{ survey.patient.phone }}
</div>
<div class="mb-0">
<strong>MRN:</strong><br>
<strong>{{ _("MRN") }}:</strong><br>
{{ survey.patient.mrn }}
</div>
</div>
@ -145,17 +149,17 @@
{% else %}
<div class="alert alert-success mb-3">
<i class="bi bi-check-circle me-2"></i>
<strong>Patient Contacted</strong><br>
<strong>{{ _("Patient Contacted")}}</strong><br>
<small>By {{ survey.patient_contacted_by.get_full_name }} on {{ survey.patient_contacted_at|date:"M d, Y H:i" }}</small>
</div>
<div class="mb-3">
<strong>Contact Notes:</strong>
<strong>{{ _("Contact Notes")}}:</strong>
<p class="mb-0 mt-2">{{ survey.contact_notes }}</p>
</div>
<div class="mb-3">
<strong>Status:</strong><br>
<strong>{{ _("Status") }}:</strong><br>
{% if survey.issue_resolved %}
<span class="badge bg-success">Issue Resolved</span>
{% else %}