update
This commit is contained in:
parent
dfb918412b
commit
a788c086ae
@ -260,34 +260,8 @@
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page=1">{% trans "First" %}</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="page-item active">
|
||||
<span class="page-link">
|
||||
{% trans "Page" %} {{ page_obj.number }} {% trans "of" %} {{ page_obj.paginator.num_pages }}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.paginator.num_pages }}">{% trans "Last" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-exclamation-triangle fa-3x text-muted mb-3"></i>
|
||||
|
||||
@ -65,43 +65,13 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="{% trans 'Page navigation' %}">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">
|
||||
<i class="fas fa-angle-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% for num in page_obj.paginator.page_range %}
|
||||
{% if page_obj.number == num %}
|
||||
<li class="page-item active"><span class="page-link">{{ num }}</span></li>
|
||||
{% elif num > page_obj.number|add:'-3' and num < page_obj.number|add:'3' %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">{{ num }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">
|
||||
<i class="fas fa-angle-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<div class="text-center text-muted">
|
||||
{% trans "Showing" %} {{ page_obj.start_index }} - {{ page_obj.end_index }} {% trans "of" %} {{ page_obj.paginator.count }}
|
||||
</div>
|
||||
</nav>
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
|
||||
@ -56,28 +56,10 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<div class="d-flex justify-content-center mt-3">
|
||||
<nav>
|
||||
<ul class="pagination">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
@ -352,41 +352,7 @@
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation" class="mt-4">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page=1{% if request.GET.patient %}&patient={{ request.GET.patient }}{% endif %}{% if request.GET.date_from %}&date_from={{ request.GET.date_from }}{% endif %}{% if request.GET.date_to %}&date_to={{ request.GET.date_to }}{% endif %}">
|
||||
{% trans "First" %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}{% if request.GET.patient %}&patient={{ request.GET.patient }}{% endif %}{% if request.GET.date_from %}&date_from={{ request.GET.date_from }}{% endif %}{% if request.GET.date_to %}&date_to={{ request.GET.date_to }}{% endif %}">
|
||||
{% trans "Previous" %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="page-item active">
|
||||
<span class="page-link">
|
||||
{% trans "Page" %} {{ page_obj.number }} {% trans "of" %} {{ page_obj.paginator.num_pages }}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}{% if request.GET.patient %}&patient={{ request.GET.patient }}{% endif %}{% if request.GET.date_from %}&date_from={{ request.GET.date_from }}{% endif %}{% if request.GET.date_to %}&date_to={{ request.GET.date_to }}{% endif %}">
|
||||
{% trans "Next" %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.paginator.num_pages }}{% if request.GET.patient %}&patient={{ request.GET.patient }}{% endif %}{% if request.GET.date_from %}&date_from={{ request.GET.date_from }}{% endif %}{% if request.GET.date_to %}&date_to={{ request.GET.date_to }}{% endif %}">
|
||||
{% trans "Last" %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 offset-md-2">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 offset-md-2">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 offset-md-2">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Calendar Filters -->
|
||||
<div class="card mb-4">
|
||||
|
||||
@ -128,72 +128,7 @@
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="{% trans 'Page navigation' %}">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page=1{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-get="?page=1{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-target="#appointmentListContainer"
|
||||
hx-swap="innerHTML">
|
||||
<i class="fas fa-angle-double-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-get="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-target="#appointmentListContainer"
|
||||
hx-swap="innerHTML">
|
||||
<i class="fas fa-angle-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% for num in page_obj.paginator.page_range %}
|
||||
{% if page_obj.number == num %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ num }}</span>
|
||||
</li>
|
||||
{% elif num > page_obj.number|add:'-3' and num < page_obj.number|add:'3' %}
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-get="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-target="#appointmentListContainer"
|
||||
hx-swap="innerHTML">
|
||||
{{ num }}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-get="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-target="#appointmentListContainer"
|
||||
hx-swap="innerHTML">
|
||||
<i class="fas fa-angle-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ page_obj.paginator.num_pages }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-get="?page={{ page_obj.paginator.num_pages }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}"
|
||||
hx-target="#appointmentListContainer"
|
||||
hx-swap="innerHTML">
|
||||
<i class="fas fa-angle-double-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<div class="text-center text-muted">
|
||||
{% trans "Showing" %} {{ page_obj.start_index }} - {{ page_obj.end_index }} {% trans "of" %} {{ page_obj.paginator.count }} {% trans "appointments" %}
|
||||
</div>
|
||||
</nav>
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Queue Filter -->
|
||||
<div class="card mb-4">
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -66,6 +66,9 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -105,7 +105,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Messages -->
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-10 offset-lg-1">
|
||||
|
||||
@ -60,7 +60,7 @@
|
||||
</div>
|
||||
|
||||
<!-- Messages -->
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
{% if search_form %}
|
||||
@ -181,46 +181,13 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="{% trans 'Page navigation' %}" class="mt-3">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page=1{% if current_filters.search %}&search={{ current_filters.search }}{% endif %}">
|
||||
<i class="fa fa-angle-double-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}{% if current_filters.search %}&search={{ current_filters.search }}{% endif %}">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="page-item active">
|
||||
<span class="page-link">
|
||||
{% trans "Page" %} {{ page_obj.number }} {% trans "of" %} {{ page_obj.paginator.num_pages }}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}{% if current_filters.search %}&search={{ current_filters.search }}{% endif %}">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.paginator.num_pages }}{% if current_filters.search %}&search={{ current_filters.search }}{% endif %}">
|
||||
<i class="fa fa-angle-double-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<!-- Empty State -->
|
||||
|
||||
@ -171,46 +171,11 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page=1{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">
|
||||
{% trans "First" %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">
|
||||
{% trans "Previous" %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="page-item active">
|
||||
<span class="page-link">
|
||||
{% trans "Page" %} {{ page_obj.number }} {% trans "of" %} {{ page_obj.paginator.num_pages }}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">
|
||||
{% trans "Next" %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.paginator.num_pages }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">
|
||||
{% trans "Last" %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fa fa-file-contract fa-4x text-muted mb-3"></i>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<!-- Main Content -->
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="card mb-4">
|
||||
@ -105,9 +105,12 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fa fa-stethoscope fa-3x text-muted mb-3"></i>
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -74,6 +74,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -84,6 +84,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -67,7 +67,8 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 offset-md-2">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Departments List -->
|
||||
<div class="row">
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<!-- Left Column -->
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 offset-md-2">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Search and Filter -->
|
||||
<div class="card mb-4">
|
||||
@ -145,8 +145,9 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
<p class="lead text-muted">{% trans "Behavioral Clinic Management System" %}</p>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Quick Stats -->
|
||||
<div class="row mb-2">
|
||||
|
||||
@ -83,54 +83,10 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if patients %}
|
||||
<div class="card-footer bg-white border-top">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div class="text-muted">
|
||||
{% trans "Showing" %} {{ patients.start_index }} - {{ patients.end_index }} {% trans "of" %} {{ patients.paginator.count }}
|
||||
</div>
|
||||
<nav>
|
||||
<ul class="pagination pagination-sm mb-0">
|
||||
{% if patients.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page=1{{ request.GET.urlencode }}" hx-get="?page=1{{ request.GET.urlencode }}" hx-target="#patient-list-container">
|
||||
<i class="fas fa-angle-double-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ patients.previous_page_number }}{{ request.GET.urlencode }}" hx-get="?page={{ patients.previous_page_number }}{{ request.GET.urlencode }}" hx-target="#patient-list-container">
|
||||
<i class="fas fa-angle-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% for num in patients.paginator.page_range %}
|
||||
{% if patients.number == num %}
|
||||
<li class="page-item active"><span class="page-link">{{ num }}</span></li>
|
||||
{% elif num > patients.number|add:'-3' and num < patients.number|add:'3' %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ num }}{{ request.GET.urlencode }}" hx-get="?page={{ num }}{{ request.GET.urlencode }}" hx-target="#patient-list-container">{{ num }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% if patients.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ patients.next_page_number }}{{ request.GET.urlencode }}" hx-get="?page={{ patients.next_page_number }}{{ request.GET.urlencode }}" hx-target="#patient-list-container">
|
||||
<i class="fas fa-angle-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ patients.paginator.num_pages }}{{ request.GET.urlencode }}" hx-get="?page={{ patients.paginator.num_pages }}{{ request.GET.urlencode }}" hx-target="#patient-list-container">
|
||||
<i class="fas fa-angle-double-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@ -95,7 +95,9 @@
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<div id="patient-list-container">
|
||||
{% if is_paginated %}
|
||||
{% include 'core/partials/patient_list_partial.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 offset-md-2">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="card mb-4">
|
||||
@ -85,7 +85,8 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 offset-md-2">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="card mb-4">
|
||||
@ -104,6 +104,8 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -274,48 +274,12 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<div class="card-footer">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center mb-0">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page=1{% if current_filters.search %}&search={{ current_filters.search }}{% endif %}{% if current_filters.role %}&role={{ current_filters.role }}{% endif %}{% if current_filters.status %}&status={{ current_filters.status }}{% endif %}{% if current_filters.sort %}&sort={{ current_filters.sort }}{% endif %}">
|
||||
{% trans "First" %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}{% if current_filters.search %}&search={{ current_filters.search }}{% endif %}{% if current_filters.role %}&role={{ current_filters.role }}{% endif %}{% if current_filters.status %}&status={{ current_filters.status }}{% endif %}{% if current_filters.sort %}&sort={{ current_filters.sort }}{% endif %}">
|
||||
{% trans "Previous" %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="page-item active">
|
||||
<span class="page-link">
|
||||
{% trans "Page" %} {{ page_obj.number }} {% trans "of" %} {{ page_obj.paginator.num_pages }}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}{% if current_filters.search %}&search={{ current_filters.search }}{% endif %}{% if current_filters.role %}&role={{ current_filters.role }}{% endif %}{% if current_filters.status %}&status={{ current_filters.status }}{% endif %}{% if current_filters.sort %}&sort={{ current_filters.sort }}{% endif %}">
|
||||
{% trans "Next" %}
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.paginator.num_pages }}{% if current_filters.search %}&search={{ current_filters.search }}{% endif %}{% if current_filters.role %}&role={{ current_filters.role }}{% endif %}{% if current_filters.status %}&status={{ current_filters.status }}{% endif %}{% if current_filters.sort %}&sort={{ current_filters.sort }}{% endif %}">
|
||||
{% trans "Last" %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-users fa-3x text-muted mb-3"></i>
|
||||
|
||||
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
@ -50,23 +50,7 @@
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
|
||||
@ -43,23 +43,7 @@
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% include 'includes/pagination_unified.html'%}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
|
||||
@ -156,41 +156,7 @@
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation" class="mt-3">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page=1{% if request.GET.search %}&search={{ request.GET.search }}{% endif %}{% if request.GET.payer_type %}&payer_type={{ request.GET.payer_type }}{% endif %}{% if request.GET.is_active %}&is_active={{ request.GET.is_active }}{% endif %}">
|
||||
<i class="fas fa-angle-double-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}{% if request.GET.search %}&search={{ request.GET.search }}{% endif %}{% if request.GET.payer_type %}&payer_type={{ request.GET.payer_type }}{% endif %}{% if request.GET.is_active %}&is_active={{ request.GET.is_active }}{% endif %}">
|
||||
<i class="fas fa-angle-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
<li class="page-item active">
|
||||
<span class="page-link">
|
||||
{% trans "Page" %} {{ page_obj.number }} {% trans "of" %} {{ page_obj.paginator.num_pages }}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}{% if request.GET.search %}&search={{ request.GET.search }}{% endif %}{% if request.GET.payer_type %}&payer_type={{ request.GET.payer_type }}{% endif %}{% if request.GET.is_active %}&is_active={{ request.GET.is_active }}{% endif %}">
|
||||
<i class="fas fa-angle-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.paginator.num_pages }}{% if request.GET.search %}&search={{ request.GET.search }}{% endif %}{% if request.GET.payer_type %}&payer_type={{ request.GET.payer_type }}{% endif %}{% if request.GET.is_active %}&is_active={{ request.GET.is_active }}{% endif %}">
|
||||
<i class="fas fa-angle-double-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
<p class="lead text-muted">{% trans "Clock in and out for your shift" %}</p>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card shadow-lg">
|
||||
<div class="card-body p-5">
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -74,6 +74,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
@ -87,6 +90,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -59,6 +59,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
@ -72,6 +75,5 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -68,6 +68,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
@ -81,6 +84,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="card mb-3">
|
||||
@ -107,6 +107,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
@ -117,6 +120,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="card mb-3">
|
||||
@ -105,6 +105,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
@ -118,6 +121,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Quick Stats -->
|
||||
<div class="row mb-4">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="card mb-3">
|
||||
@ -112,6 +112,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
@ -122,6 +125,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="card mb-3">
|
||||
@ -98,6 +98,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
@ -111,6 +114,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="card mb-3">
|
||||
@ -110,6 +110,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
@ -122,7 +125,5 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
741
logs/django.log
741
logs/django.log
@ -73357,3 +73357,744 @@ INFO 2025-11-02 16:53:51,434 basehttp 15978 6163853312 "GET /ar/notifications/ap
|
||||
INFO 2025-11-02 16:53:51,660 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=9acae530f8214e4e90e307ebc9932e48 HTTP/1.1" 200 10064
|
||||
INFO 2025-11-02 16:54:21,445 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:54:21,663 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=27287a4a83554e6284b00d3d5074ea4a HTTP/1.1" 200 10066
|
||||
INFO 2025-11-02 16:54:51,421 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:54:51,647 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=1ef8fde699c74e18b828ef139184508c HTTP/1.1" 200 10064
|
||||
ERROR 2025-11-02 16:54:51,680 tasks 16180 8648941888 Appointment 57b3dd51-9baa-433e-b2be-9640c444df0d not found
|
||||
INFO 2025-11-02 16:54:55,220 basehttp 15978 6163853312 "GET /ar/notifications/inbox/ HTTP/1.1" 200 37712
|
||||
INFO 2025-11-02 16:54:55,320 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:54:59,958 basehttp 15978 6163853312 "GET /ar/notifications/api/dropdown/ HTTP/1.1" 200 773
|
||||
INFO 2025-11-02 16:55:00,187 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=d4dfff6058034df39437032d496cc85e HTTP/1.1" 200 10057
|
||||
INFO 2025-11-02 16:55:07,673 basehttp 15978 6163853312 "GET /ar/notifications/inbox/ HTTP/1.1" 200 37712
|
||||
INFO 2025-11-02 16:55:07,768 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:55:17,218 basehttp 15978 6163853312 "GET /ar/notifications/inbox/?filter=unread HTTP/1.1" 200 33318
|
||||
INFO 2025-11-02 16:55:17,318 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:55:19,422 basehttp 15978 6163853312 "GET /ar/notifications/inbox/?filter=read HTTP/1.1" 200 37724
|
||||
INFO 2025-11-02 16:55:19,523 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:55:20,877 basehttp 15978 6163853312 "GET /ar/notifications/inbox/?filter=all HTTP/1.1" 200 37723
|
||||
INFO 2025-11-02 16:55:20,979 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:55:51,351 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:55:52,256 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=993e325e88834fbe8a4a84ff1c0fae52 HTTP/1.1" 200 10066
|
||||
INFO 2025-11-02 16:56:21,366 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:56:22,283 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=ec75d5e2a599414694672e931b7e1c81 HTTP/1.1" 200 10066
|
||||
INFO 2025-11-02 16:56:51,354 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:56:52,278 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=d043288df2154517a4edcf27a52287ff HTTP/1.1" 200 10064
|
||||
ERROR 2025-11-02 16:56:54,249 tasks 16180 8648941888 Appointment 642dc474-cd97-4dc0-8924-b2b832eeaea1 not found
|
||||
ERROR 2025-11-02 16:56:54,249 tasks 16172 8648941888 Appointment 0ff795b3-68a3-44e3-ad35-9b50b6e098a8 not found
|
||||
ERROR 2025-11-02 16:56:54,249 tasks 16181 8648941888 Appointment 251d4c8d-ad19-44b7-a10b-3b3ff3951257 not found
|
||||
INFO 2025-11-02 16:57:21,376 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:57:22,289 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=627bf5fe696f4b439c2ad06ef18e17c1 HTTP/1.1" 200 10066
|
||||
INFO 2025-11-02 16:57:51,352 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:57:52,288 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=778009abaa3a4c7b9f5cfd953e3c5b78 HTTP/1.1" 200 10064
|
||||
INFO 2025-11-02 16:58:04,987 basehttp 15978 6163853312 "GET /ar/switch_language/?language=en HTTP/1.1" 302 0
|
||||
INFO 2025-11-02 16:58:05,047 basehttp 15978 6163853312 "GET /notifications/inbox/?filter=all HTTP/1.1" 302 0
|
||||
INFO 2025-11-02 16:58:05,110 basehttp 15978 13170143232 "GET /en/notifications/inbox/?filter=all HTTP/1.1" 200 37257
|
||||
INFO 2025-11-02 16:58:05,203 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:58:13,061 basehttp 15978 13170143232 "GET / HTTP/1.1" 302 0
|
||||
INFO 2025-11-02 16:58:13,139 basehttp 15978 6163853312 "GET /en/ HTTP/1.1" 200 56119
|
||||
INFO 2025-11-02 16:58:13,239 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:58:28,735 basehttp 15978 6163853312 "GET /en/finance/payers/ HTTP/1.1" 200 75699
|
||||
INFO 2025-11-02 16:58:28,850 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:58:35,920 basehttp 15978 6163853312 "GET /en/patients/3ed8901f-686b-468a-b7a1-acc1e64a23ec/ HTTP/1.1" 200 61456
|
||||
INFO 2025-11-02 16:58:36,024 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
ERROR 2025-11-02 16:58:53,882 tasks 16180 8648941888 Appointment 84999784-a5ac-4385-82c0-6beee6a870fe not found
|
||||
ERROR 2025-11-02 16:58:53,882 tasks 16172 8648941888 Appointment 1ba52899-1a8e-4bce-93bd-d1d643bb7b69 not found
|
||||
INFO 2025-11-02 16:59:08,978 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:59:09,200 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=a52c835703894ce3b3011d490eab1c89 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 16:59:39,000 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 16:59:39,214 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=b547095a1cd74f3689546190a7ce4c87 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:00:00,006 tasks 16180 8648941888 Radiology results sync started
|
||||
INFO 2025-11-02 17:00:00,006 tasks 16180 8648941888 Radiology results sync completed: {'status': 'success', 'new_studies': 0, 'new_reports': 0, 'errors': 0, 'timestamp': '2025-11-02 14:00:00.006650+00:00'}
|
||||
INFO 2025-11-02 17:00:00,012 tasks 16180 8648941888 Lab results sync started
|
||||
INFO 2025-11-02 17:00:00,013 tasks 16180 8648941888 Lab results sync completed: {'status': 'success', 'new_results': 0, 'updated_results': 0, 'errors': 0, 'timestamp': '2025-11-02 14:00:00.013142+00:00'}
|
||||
INFO 2025-11-02 17:00:08,999 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:00:09,221 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=113eec794251431eadad301c67b880e9 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:00:39,007 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:00:39,225 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=c2061dc8801345939cd58564483beb6d HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:01:02,936 tasks 16180 8648941888 Appointment 7d8e8281-f28e-47b2-bae6-04647dd5204d not found
|
||||
INFO 2025-11-02 17:01:08,980 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:01:09,196 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=62493adc9d6541b39b66b4d876f91836 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:01:39,010 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:01:39,220 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=a94c2da3cd3a4f08ad7fce8cc7760521 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:02:08,977 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:02:09,195 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=28bcb54e8a834f48880d584d5bd41fdd HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:02:38,972 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:02:39,187 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=1eadc4608d014b8a8431a632d47b1aea HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:03:08,973 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:03:09,192 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=9955146d718a4b05b72ff44d00fe4a70 HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:03:23,984 log 15978 6163853312 Internal Server Error: /en/finance/payers/
|
||||
Traceback (most recent call last):
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 510, in parse
|
||||
compile_func = self.tags[command]
|
||||
~~~~~~~~~^^^^^^^^^
|
||||
KeyError: 'endif'
|
||||
|
||||
During handling of the above exception, another exception occurred:
|
||||
|
||||
Traceback (most recent call last):
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
|
||||
response = get_response(request)
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 220, in _get_response
|
||||
response = response.render()
|
||||
^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/response.py", line 114, in render
|
||||
self.content = self.rendered_content
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/response.py", line 90, in rendered_content
|
||||
template = self.resolve_template(self.template_name)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/response.py", line 72, in resolve_template
|
||||
return select_template(template, using=self.using)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loader.py", line 42, in select_template
|
||||
return engine.get_template(template_name)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/backends/django.py", line 79, in get_template
|
||||
return Template(self.engine.get_template(template_name), self)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/engine.py", line 177, in get_template
|
||||
template, origin = self.find_template(template_name)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/engine.py", line 159, in find_template
|
||||
template = loader.get_template(name, skip=skip)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loaders/cached.py", line 57, in get_template
|
||||
template = super().get_template(template_name, skip)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loaders/base.py", line 28, in get_template
|
||||
return Template(
|
||||
^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 154, in __init__
|
||||
self.nodelist = self.compile_nodelist()
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 196, in compile_nodelist
|
||||
nodelist = parser.parse()
|
||||
^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 518, in parse
|
||||
raise self.error(token, e)
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 516, in parse
|
||||
compiled_result = compile_func(self, token)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loader_tags.py", line 299, in do_extends
|
||||
nodelist = parser.parse()
|
||||
^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 518, in parse
|
||||
raise self.error(token, e)
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 516, in parse
|
||||
compiled_result = compile_func(self, token)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loader_tags.py", line 234, in do_block
|
||||
nodelist = parser.parse(("endblock",))
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 512, in parse
|
||||
self.invalid_block_tag(token, command, parse_until)
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 567, in invalid_block_tag
|
||||
raise self.error(
|
||||
django.template.exceptions.TemplateSyntaxError: Invalid block tag on line 14: 'endif', expected 'endblock'. Did you forget to register or load this tag?
|
||||
ERROR 2025-11-02 17:03:24,055 basehttp 15978 6163853312 "GET /en/finance/payers/ HTTP/1.1" 500 191777
|
||||
ERROR 2025-11-02 17:03:34,826 tasks 16172 8648941888 Appointment 01e64bc4-bb55-4589-ade8-2d684af8679f not found
|
||||
ERROR 2025-11-02 17:03:34,826 tasks 16180 8648941888 Appointment 7046f839-aede-4d5e-86f6-716893505439 not found
|
||||
INFO 2025-11-02 17:04:27,550 basehttp 15978 6163853312 "GET /media/profile_pictures/Father_-d_HcbHEbL.png HTTP/1.1" 200 1997779
|
||||
INFO 2025-11-02 17:04:28,273 basehttp 15978 6163853312 "GET /en/ HTTP/1.1" 200 56119
|
||||
INFO 2025-11-02 17:04:28,362 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:04:31,261 basehttp 15978 6163853312 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 773
|
||||
INFO 2025-11-02 17:04:31,474 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=acb36dbb563843eea9f7c254cb553e27 HTTP/1.1" 200 9540
|
||||
INFO 2025-11-02 17:04:32,174 basehttp 15978 6163853312 "GET /en/notifications/inbox/ HTTP/1.1" 200 37248
|
||||
INFO 2025-11-02 17:04:32,263 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:04:38,078 basehttp 15978 6163853312 "GET /ar/notifications/inbox/?filter=all HTTP/1.1" 200 37725
|
||||
INFO 2025-11-02 17:04:38,177 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:04:38,943 basehttp 15978 6163853312 "GET /ar/notifications/inbox/?filter=read HTTP/1.1" 200 37726
|
||||
INFO 2025-11-02 17:04:39,605 basehttp 15978 6163853312 "GET /ar/notifications/inbox/?filter=unread HTTP/1.1" 200 33318
|
||||
INFO 2025-11-02 17:04:40,231 basehttp 15978 6163853312 "GET /ar/notifications/inbox/ HTTP/1.1" 200 37714
|
||||
INFO 2025-11-02 17:04:41,384 basehttp 15978 6163853312 "GET /ar/notifications/inbox/ HTTP/1.1" 200 37714
|
||||
INFO 2025-11-02 17:04:41,487 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:04:45,545 basehttp 15978 6163853312 "GET / HTTP/1.1" 302 0
|
||||
INFO 2025-11-02 17:04:45,623 basehttp 15978 13170143232 "GET /en/ HTTP/1.1" 200 56119
|
||||
INFO 2025-11-02 17:04:45,721 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
ERROR 2025-11-02 17:04:49,425 log 15978 13170143232 Internal Server Error: /en/finance/payers/
|
||||
Traceback (most recent call last):
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 510, in parse
|
||||
compile_func = self.tags[command]
|
||||
~~~~~~~~~^^^^^^^^^
|
||||
KeyError: 'endif'
|
||||
|
||||
During handling of the above exception, another exception occurred:
|
||||
|
||||
Traceback (most recent call last):
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
|
||||
response = get_response(request)
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 220, in _get_response
|
||||
response = response.render()
|
||||
^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/response.py", line 114, in render
|
||||
self.content = self.rendered_content
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/response.py", line 90, in rendered_content
|
||||
template = self.resolve_template(self.template_name)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/response.py", line 72, in resolve_template
|
||||
return select_template(template, using=self.using)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loader.py", line 42, in select_template
|
||||
return engine.get_template(template_name)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/backends/django.py", line 79, in get_template
|
||||
return Template(self.engine.get_template(template_name), self)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/engine.py", line 177, in get_template
|
||||
template, origin = self.find_template(template_name)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/engine.py", line 159, in find_template
|
||||
template = loader.get_template(name, skip=skip)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loaders/cached.py", line 57, in get_template
|
||||
template = super().get_template(template_name, skip)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loaders/base.py", line 28, in get_template
|
||||
return Template(
|
||||
^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 154, in __init__
|
||||
self.nodelist = self.compile_nodelist()
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 196, in compile_nodelist
|
||||
nodelist = parser.parse()
|
||||
^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 518, in parse
|
||||
raise self.error(token, e)
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 516, in parse
|
||||
compiled_result = compile_func(self, token)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loader_tags.py", line 299, in do_extends
|
||||
nodelist = parser.parse()
|
||||
^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 518, in parse
|
||||
raise self.error(token, e)
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 516, in parse
|
||||
compiled_result = compile_func(self, token)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loader_tags.py", line 234, in do_block
|
||||
nodelist = parser.parse(("endblock",))
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 512, in parse
|
||||
self.invalid_block_tag(token, command, parse_until)
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 567, in invalid_block_tag
|
||||
raise self.error(
|
||||
django.template.exceptions.TemplateSyntaxError: Invalid block tag on line 14: 'endif', expected 'endblock'. Did you forget to register or load this tag?
|
||||
ERROR 2025-11-02 17:04:49,503 basehttp 15978 13170143232 "GET /en/finance/payers/ HTTP/1.1" 500 191642
|
||||
ERROR 2025-11-02 17:04:51,886 tasks 16180 8648941888 Appointment 7d8e8281-f28e-47b2-bae6-04647dd5204d not found
|
||||
INFO 2025-11-02 17:05:25,010 basehttp 15978 13170143232 "GET /en/finance/payers/ HTTP/1.1" 200 34354
|
||||
INFO 2025-11-02 17:05:25,099 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:05:55,115 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:05:55,329 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=7868b8c75315455ab6c89f433c9161db HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:06:13,632 tasks 16180 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
ERROR 2025-11-02 17:06:13,632 tasks 16181 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
ERROR 2025-11-02 17:06:13,632 tasks 16172 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
ERROR 2025-11-02 17:06:13,633 tasks 16182 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:06:13,635 tasks 16173 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
ERROR 2025-11-02 17:06:13,636 tasks 16183 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:06:13,637 tasks 16175 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
ERROR 2025-11-02 17:06:13,637 tasks 16174 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
ERROR 2025-11-02 17:06:13,643 tasks 16180 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
ERROR 2025-11-02 17:06:13,643 tasks 16177 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
ERROR 2025-11-02 17:06:13,644 tasks 16185 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
ERROR 2025-11-02 17:06:13,644 tasks 16178 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
ERROR 2025-11-02 17:06:13,644 tasks 16192 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
ERROR 2025-11-02 17:06:13,645 tasks 16187 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
ERROR 2025-11-02 17:06:13,645 tasks 16179 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:06:13,747 tasks 16172 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
ERROR 2025-11-02 17:06:13,747 tasks 16181 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
ERROR 2025-11-02 17:06:13,747 tasks 16180 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:06:13,747 tasks 16182 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
ERROR 2025-11-02 17:06:13,747 tasks 16173 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
ERROR 2025-11-02 17:06:13,755 tasks 16174 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
ERROR 2025-11-02 17:06:13,755 tasks 16177 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:06:13,755 tasks 16175 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
ERROR 2025-11-02 17:06:13,755 tasks 16185 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
ERROR 2025-11-02 17:06:13,755 tasks 16183 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
INFO 2025-11-02 17:06:25,118 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:06:25,341 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=f02d6dd7dbb040c7b3303ec9ec1b56d6 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:06:55,135 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:06:55,352 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=5254a7cb54a24e7597cb4d06e8e9cf79 HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:07:00,495 tasks 16172 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
ERROR 2025-11-02 17:07:00,495 tasks 16180 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
ERROR 2025-11-02 17:07:00,495 tasks 16181 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:07:00,495 tasks 16182 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
ERROR 2025-11-02 17:07:00,495 tasks 16173 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
INFO 2025-11-02 17:07:25,110 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:07:25,323 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=542d6cc9d56c4898a331ca95968b8c22 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:07:27,788 basehttp 15978 13170143232 "GET /en/finance/payers/ HTTP/1.1" 200 77277
|
||||
INFO 2025-11-02 17:07:27,875 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:07:57,899 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:07:58,113 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=11839c83b7534176a68e482127fe6fea HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:08:01,152 tasks 16173 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:08:01,152 tasks 16182 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
ERROR 2025-11-02 17:08:01,152 tasks 16180 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
ERROR 2025-11-02 17:08:01,152 tasks 16172 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
ERROR 2025-11-02 17:08:01,152 tasks 16181 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
INFO 2025-11-02 17:08:27,885 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:08:28,098 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=04c8b01139994dc38da8214862947684 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:08:57,885 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:08:58,098 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=1ef9778601eb4d7896b7c32fe2fae070 HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:08:58,363 tasks 16180 8648941888 Appointment 251d4c8d-ad19-44b7-a10b-3b3ff3951257 not found
|
||||
ERROR 2025-11-02 17:08:58,363 tasks 16172 8648941888 Appointment 642dc474-cd97-4dc0-8924-b2b832eeaea1 not found
|
||||
ERROR 2025-11-02 17:08:58,363 tasks 16181 8648941888 Appointment 0ff795b3-68a3-44e3-ad35-9b50b6e098a8 not found
|
||||
INFO 2025-11-02 17:09:02,867 basehttp 15978 13170143232 "GET /en/finance/payers/ HTTP/1.1" 200 77277
|
||||
INFO 2025-11-02 17:09:02,960 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:09:06,362 basehttp 15978 13170143232 "GET /en/hr/holidays/ HTTP/1.1" 200 37612
|
||||
INFO 2025-11-02 17:09:06,451 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:09:10,681 basehttp 15978 13170143232 "GET /en/patients/create/ HTTP/1.1" 200 42636
|
||||
INFO 2025-11-02 17:09:10,694 basehttp 15978 13170143232 "GET /static/plugins/select2/dist/css/select2.min.css HTTP/1.1" 200 14966
|
||||
INFO 2025-11-02 17:09:10,694 basehttp 15978 6163853312 "GET /static/plugins/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css HTTP/1.1" 200 15733
|
||||
INFO 2025-11-02 17:09:10,695 basehttp 15978 13186969600 "GET /static/plugins/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js HTTP/1.1" 200 33871
|
||||
INFO 2025-11-02 17:09:10,774 basehttp 15978 13186969600 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:09:12,290 basehttp 15978 13186969600 "GET /en/patients/ HTTP/1.1" 200 89885
|
||||
WARNING 2025-11-02 17:09:12,304 basehttp 15978 13186969600 "GET /static/plugins/datatables/datatables.min.css HTTP/1.1" 404 2038
|
||||
WARNING 2025-11-02 17:09:12,306 basehttp 15978 13170143232 "GET /static/plugins/datatables/datatables.min.js HTTP/1.1" 404 2035
|
||||
INFO 2025-11-02 17:09:12,387 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:09:42,393 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:09:42,605 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=68ac273107584f1ea1da12f3f7b8a071 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:10:12,395 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:10:12,609 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=4f6d5b4f53194a6f8f1e894302844dc5 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:10:42,420 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:10:42,639 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=5bd0e14f8b544a6cae0ce9730ec4bfa9 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:11:12,417 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:11:12,643 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=97126dc448d54056944e27e0c46e9a0d HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:11:42,439 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:11:42,655 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=91c0a87b5ec6425aa20b96b628d5c663 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:12:12,446 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:12:12,675 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=976f0f8d3ae64916917f7cd08dc387f9 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:12:42,442 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:12:42,668 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=f21dc55311d64ffdb36d0bc30e024ac0 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:13:09,251 basehttp 15978 6163853312 "GET /en/patients/ HTTP/1.1" 200 89885
|
||||
WARNING 2025-11-02 17:13:09,266 basehttp 15978 6163853312 "GET /static/plugins/datatables/datatables.min.css HTTP/1.1" 404 2038
|
||||
WARNING 2025-11-02 17:13:09,266 basehttp 15978 13170143232 "GET /static/plugins/datatables/datatables.min.js HTTP/1.1" 404 2035
|
||||
INFO 2025-11-02 17:13:09,351 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:13:39,358 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:13:39,578 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=5a0c69c658254f45a7e3e5d27e3ab45b HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:14:09,384 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:14:09,597 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=c45edcd9f9e84924a94a26af15c9d3cd HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:14:39,370 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:14:39,598 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=99c9f354431f413bac610aaf9cd8ed15 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:15:09,386 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:15:09,612 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=46fb444c05fa4c7791a1592796c890d9 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:15:39,353 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:15:39,580 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=9ccb064d0b4f4de6a62024faafb8ca71 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:16:09,382 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:16:09,598 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=eb499c38dfc145d2961e6bc606f696e5 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:16:39,376 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:16:39,601 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=5b1a39d5f1f44034a147b27ee7cb5459 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:17:09,403 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:17:09,624 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=2c8de4baa200487a8aadbca38c10aaf3 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:17:39,352 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:17:39,572 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=8862ab68e2d646a8992b41099b9b8df2 HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:17:58,693 tasks 16172 8648941888 Appointment 07419aca-aaed-4f2f-9af3-680578504323 not found
|
||||
ERROR 2025-11-02 17:17:58,693 tasks 16180 8648941888 Appointment b0c1c980-442f-4adc-ac76-2cd181929efd not found
|
||||
INFO 2025-11-02 17:18:09,348 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:18:09,566 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=4c15576c9a4d4e47b97279ee5057d440 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:18:11,577 basehttp 15978 6163853312 "GET /en/patients/ HTTP/1.1" 200 87652
|
||||
WARNING 2025-11-02 17:18:11,589 basehttp 15978 13170143232 "GET /static/plugins/datatables/datatables.min.js HTTP/1.1" 404 2035
|
||||
WARNING 2025-11-02 17:18:11,589 basehttp 15978 6163853312 "GET /static/plugins/datatables/datatables.min.css HTTP/1.1" 404 2038
|
||||
INFO 2025-11-02 17:18:11,707 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:18:13,319 basehttp 15978 6163853312 "GET /en/patients/create/ HTTP/1.1" 200 42636
|
||||
INFO 2025-11-02 17:18:13,415 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:18:21,160 basehttp 15978 6163853312 "GET /en/staff/ HTTP/1.1" 200 119247
|
||||
INFO 2025-11-02 17:18:21,257 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
ERROR 2025-11-02 17:18:44,455 tasks 16172 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:18:44,455 tasks 16180 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
ERROR 2025-11-02 17:18:44,455 tasks 16182 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
ERROR 2025-11-02 17:18:44,455 tasks 16181 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
ERROR 2025-11-02 17:18:44,457 tasks 16173 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
INFO 2025-11-02 17:18:47,471 basehttp 15978 6163853312 "GET / HTTP/1.1" 302 0
|
||||
INFO 2025-11-02 17:18:47,583 basehttp 15978 13170143232 "GET /en/ HTTP/1.1" 200 56121
|
||||
INFO 2025-11-02 17:18:47,682 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:18:50,558 basehttp 15978 13170143232 "GET /en/hr/schedules/ HTTP/1.1" 200 101222
|
||||
INFO 2025-11-02 17:18:50,659 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:19:20,683 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:19:20,895 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=2dc2c94c799747bb955f834cb5946f13 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:19:42,910 basehttp 15978 13170143232 "GET /en/hr/schedules/ HTTP/1.1" 200 101222
|
||||
INFO 2025-11-02 17:19:43,012 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:19:48,106 basehttp 15978 13170143232 "GET /en/ HTTP/1.1" 200 56122
|
||||
INFO 2025-11-02 17:19:48,199 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:20:11,463 basehttp 15978 13170143232 "GET /en/consent-templates/ HTTP/1.1" 200 45639
|
||||
INFO 2025-11-02 17:20:11,558 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:20:44,662 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:20:44,887 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=496929ae826e468294689da440ec1e0a HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:21:11,849 tasks 16172 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
ERROR 2025-11-02 17:21:11,849 tasks 16180 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
ERROR 2025-11-02 17:21:11,849 tasks 16181 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
ERROR 2025-11-02 17:21:11,849 tasks 16182 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:21:11,853 tasks 16173 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
ERROR 2025-11-02 17:21:12,097 tasks 16172 8648941888 Appointment a0aed854-c98c-4d7a-b0d3-981bd7efb97f not found
|
||||
ERROR 2025-11-02 17:21:12,097 tasks 16181 8648941888 Appointment d51ff4c0-8550-419f-bc72-c743e6c7098d not found
|
||||
ERROR 2025-11-02 17:21:12,097 tasks 16180 8648941888 Appointment d1318b1d-29af-448b-a49d-4747e962b336 not found
|
||||
ERROR 2025-11-02 17:21:12,097 tasks 16182 8648941888 Appointment b00eedde-1f8d-4556-bef4-07369f144d4e not found
|
||||
ERROR 2025-11-02 17:21:12,100 tasks 16173 8648941888 Appointment 7221c9b8-2318-4410-8548-141cae6b9132 not found
|
||||
INFO 2025-11-02 17:21:14,674 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:21:14,895 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=1846e6d4ae474c8699a515f603355f9d HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:21:40,547 tasks 16181 8648941888 Appointment 0a8e9bd3-9c80-4e96-a583-3159f209047d not found
|
||||
ERROR 2025-11-02 17:21:40,548 tasks 16172 8648941888 Appointment 8b124918-494c-44bb-967a-7a96e1cc2642 not found
|
||||
ERROR 2025-11-02 17:21:40,548 tasks 16180 8648941888 Appointment ec4c2b50-b176-4fb2-b6cb-77b1271cae77 not found
|
||||
ERROR 2025-11-02 17:21:40,548 tasks 16182 8648941888 Appointment 70b4da76-44f5-42a8-92c2-a8915a849a3a not found
|
||||
ERROR 2025-11-02 17:21:40,551 tasks 16173 8648941888 Appointment 800db3b9-d5ac-452d-8bb4-c046e1b066d7 not found
|
||||
INFO 2025-11-02 17:21:44,675 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:21:44,903 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=e4b974289210400c990d1dd15bca187e HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:22:08,284 tasks 16180 8648941888 Appointment 8f028c27-4142-489c-91a8-417fa19038bf not found
|
||||
INFO 2025-11-02 17:22:14,697 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:22:14,923 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=566ed3df784a4d23bd1c8ff7d32a5855 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:22:44,670 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:22:44,895 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=d1f1c21012a24dcea80b09a2bc1d75d9 HTTP/1.1" 200 9548
|
||||
INFO 2025-11-02 17:23:14,667 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:23:14,886 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=2b4f117603d445199aab23048f1ea04a HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:23:35,131 basehttp 15978 13170143232 "GET /en/ HTTP/1.1" 200 56122
|
||||
INFO 2025-11-02 17:23:35,229 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:23:38,055 basehttp 15978 13170143232 "GET /en/settings/ HTTP/1.1" 200 47989
|
||||
INFO 2025-11-02 17:23:38,143 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:23:42,467 basehttp 15978 13170143232 "GET /en/staff/ HTTP/1.1" 200 119247
|
||||
INFO 2025-11-02 17:23:42,563 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:24:19,060 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:24:19,282 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=167778bcd3b94a0e8b6df874061331fd HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:24:49,049 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:24:49,269 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=09b3a4fd6de94afeaf5910fce4b4d1da HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:25:02,536 basehttp 15978 13170143232 "GET /en/ HTTP/1.1" 200 56122
|
||||
INFO 2025-11-02 17:25:02,633 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:25:05,957 basehttp 15978 13170143232 "GET /en/finance/payers/ HTTP/1.1" 200 77279
|
||||
INFO 2025-11-02 17:25:06,051 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:25:36,089 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:25:36,316 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=3f4af1be9f4f4b6b8c6d66ef89a80e89 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:26:06,099 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:26:06,315 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=4a5e5d54957b45aabdf33fc41d4022e5 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:26:36,085 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:26:36,307 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=e5e7d98c543848c6afad11b389705804 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:26:52,520 basehttp 15978 13170143232 "GET /en/finance/payers/ HTTP/1.1" 200 77279
|
||||
INFO 2025-11-02 17:26:52,645 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:27:14,889 basehttp 15978 13170143232 "GET / HTTP/1.1" 302 0
|
||||
INFO 2025-11-02 17:27:14,966 basehttp 15978 6163853312 "GET /en/ HTTP/1.1" 200 56209
|
||||
INFO 2025-11-02 17:27:15,064 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:27:17,995 basehttp 15978 6163853312 "GET /en/hr/schedules/ HTTP/1.1" 200 101222
|
||||
INFO 2025-11-02 17:27:18,092 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:27:48,126 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:27:48,352 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=9bef5495fab948018cd2adff596cb7db HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:28:18,123 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:28:18,338 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=c4882bff876741fc96c5108b83fd4fd3 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:28:48,123 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:28:48,346 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=a3ea137a177543bc89ebe196cd20437b HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:29:18,125 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:29:18,353 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=7454677e1efa4c33ae71536f8d32c87b HTTP/1.1" 200 9548
|
||||
INFO 2025-11-02 17:29:40,214 basehttp 15978 6163853312 "GET /en/hr/schedules/ HTTP/1.1" 200 101224
|
||||
INFO 2025-11-02 17:29:40,327 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:30:00,004 tasks 16180 8648941888 Radiology results sync started
|
||||
INFO 2025-11-02 17:30:00,004 tasks 16180 8648941888 Radiology results sync completed: {'status': 'success', 'new_studies': 0, 'new_reports': 0, 'errors': 0, 'timestamp': '2025-11-02 14:30:00.004403+00:00'}
|
||||
INFO 2025-11-02 17:30:00,010 tasks 16180 8648941888 Lab results sync started
|
||||
INFO 2025-11-02 17:30:00,010 tasks 16180 8648941888 Lab results sync completed: {'status': 'success', 'new_results': 0, 'updated_results': 0, 'errors': 0, 'timestamp': '2025-11-02 14:30:00.010954+00:00'}
|
||||
INFO 2025-11-02 17:30:10,347 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:30:10,575 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=3f59b5992ce44b27bcc17a6ba948d3ab HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:30:40,355 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:30:40,582 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=39e231b1bb844f4aaad329c8cdc018d7 HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:31:02,948 tasks 16172 8648941888 Appointment 7046f839-aede-4d5e-86f6-716893505439 not found
|
||||
ERROR 2025-11-02 17:31:02,948 tasks 16180 8648941888 Appointment 01e64bc4-bb55-4589-ade8-2d684af8679f not found
|
||||
INFO 2025-11-02 17:31:10,373 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:31:10,595 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=b28235d93ed24b24826342d2f6705107 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:31:40,345 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:31:40,569 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=5c247d547673403cabc6a712cb6c7acc HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:32:01,480 basehttp 15978 6163853312 "GET /en/hr/schedules/ HTTP/1.1" 200 101265
|
||||
INFO 2025-11-02 17:32:01,571 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
ERROR 2025-11-02 17:32:03,680 tasks 16180 8648941888 Appointment 6f4fe326-9e43-4b30-bae0-619526511ee5 not found
|
||||
ERROR 2025-11-02 17:32:03,680 tasks 16172 8648941888 Appointment f3cf1889-ed7b-4416-8f02-ea8113a8b650 not found
|
||||
ERROR 2025-11-02 17:32:03,958 tasks 16180 8648941888 Appointment f3cf1889-ed7b-4416-8f02-ea8113a8b650 not found
|
||||
ERROR 2025-11-02 17:32:03,959 tasks 16172 8648941888 Appointment 6f4fe326-9e43-4b30-bae0-619526511ee5 not found
|
||||
ERROR 2025-11-02 17:32:12,242 log 15978 6163853312 Internal Server Error: /en/hr/schedules/
|
||||
Traceback (most recent call last):
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/backends/django.py", line 107, in render
|
||||
return self.template.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 171, in render
|
||||
return self._render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/test/utils.py", line 114, in instrumented_test_render
|
||||
return self.nodelist.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
||||
return self.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loader_tags.py", line 159, in render
|
||||
return compiled_parent._render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/test/utils.py", line 114, in instrumented_test_render
|
||||
return self.nodelist.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
||||
return self.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loader_tags.py", line 65, in render
|
||||
result = block.nodelist.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
||||
return self.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/defaulttags.py", line 327, in render
|
||||
return nodelist.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
||||
return self.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/defaulttags.py", line 327, in render
|
||||
return nodelist.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 1016, in render
|
||||
return SafeString("".join([node.render_annotated(context) for node in self]))
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/base.py", line 977, in render_annotated
|
||||
return self.render(context)
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/loader_tags.py", line 199, in render
|
||||
template = context.template.engine.select_template(template_name)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/engine.py", line 214, in select_template
|
||||
raise TemplateDoesNotExist(", ".join(not_found))
|
||||
django.template.exceptions.TemplateDoesNotExist: includes/pagination_unified.html.html
|
||||
|
||||
The above exception was the direct cause of the following exception:
|
||||
|
||||
Traceback (most recent call last):
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
|
||||
response = get_response(request)
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 220, in _get_response
|
||||
response = response.render()
|
||||
^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/response.py", line 114, in render
|
||||
self.content = self.rendered_content
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/response.py", line 92, in rendered_content
|
||||
return template.render(context, self._request)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/backends/django.py", line 109, in render
|
||||
reraise(exc, self.backend)
|
||||
File "/Users/marwanalwali/AgdarCentre/.venv/lib/python3.12/site-packages/django/template/backends/django.py", line 130, in reraise
|
||||
raise new from exc
|
||||
django.template.exceptions.TemplateDoesNotExist: includes/pagination_unified.html.html
|
||||
ERROR 2025-11-02 17:32:12,320 basehttp 15978 6163853312 "GET /en/hr/schedules/ HTTP/1.1" 500 266324
|
||||
INFO 2025-11-02 17:32:26,028 basehttp 15978 6163853312 "GET /en/hr/schedules/ HTTP/1.1" 200 102593
|
||||
INFO 2025-11-02 17:32:26,123 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:32:56,537 basehttp 15978 6163853312 "GET /en/hr/holidays/ HTTP/1.1" 200 37612
|
||||
INFO 2025-11-02 17:32:56,626 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:33:18,241 basehttp 15978 6163853312 "GET / HTTP/1.1" 302 0
|
||||
INFO 2025-11-02 17:33:18,318 basehttp 15978 13170143232 "GET /en/ HTTP/1.1" 200 56209
|
||||
INFO 2025-11-02 17:33:18,416 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:33:20,704 basehttp 15978 13170143232 "GET /en/profile/ HTTP/1.1" 200 43719
|
||||
INFO 2025-11-02 17:33:20,797 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:33:22,965 basehttp 15978 13170143232 "GET /en/my-hr/ HTTP/1.1" 200 47770
|
||||
INFO 2025-11-02 17:33:23,058 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:33:27,126 basehttp 15978 13170143232 "GET /en/my-hr/leave-requests/ HTTP/1.1" 200 39575
|
||||
INFO 2025-11-02 17:33:27,217 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:33:38,693 basehttp 15978 13170143232 "GET /en/appointments/ HTTP/1.1" 200 125990
|
||||
INFO 2025-11-02 17:33:38,702 basehttp 15978 6163853312 "GET /static/plugins/datatables.net-responsive-bs5/css/responsive.bootstrap5.min.css HTTP/1.1" 200 6044
|
||||
INFO 2025-11-02 17:33:38,702 basehttp 15978 13170143232 "GET /static/plugins/datatables.net-bs5/css/dataTables.bootstrap5.min.css HTTP/1.1" 200 15096
|
||||
INFO 2025-11-02 17:33:38,711 basehttp 15978 6163853312 "GET /static/plugins/datatables.net-bs5/js/dataTables.bootstrap5.min.js HTTP/1.1" 200 1470
|
||||
INFO 2025-11-02 17:33:38,712 basehttp 15978 6163853312 "GET /static/plugins/datatables.net-responsive/js/dataTables.responsive.min.js HTTP/1.1" 200 16086
|
||||
INFO 2025-11-02 17:33:38,712 basehttp 15978 13170143232 "GET /static/plugins/datatables.net/js/dataTables.min.js HTTP/1.1" 200 95735
|
||||
INFO 2025-11-02 17:33:38,717 basehttp 15978 13170143232 "GET /static/plugins/datatables.net-responsive-bs5/js/responsive.bootstrap5.min.js HTTP/1.1" 200 1796
|
||||
INFO 2025-11-02 17:33:38,803 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:34:08,827 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:34:09,043 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=81cb8d352bd14dad9e16f2d9a7650e10 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:34:18,151 basehttp 15978 13170143232 "GET /en/appointments/ HTTP/1.1" 200 127765
|
||||
INFO 2025-11-02 17:34:18,256 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:34:48,293 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:34:48,518 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=20bcc93d974b48a8b951aed21ef4639e HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:34:51,903 tasks 16180 8648941888 Appointment 01e64bc4-bb55-4589-ade8-2d684af8679f not found
|
||||
ERROR 2025-11-02 17:34:51,903 tasks 16172 8648941888 Appointment 7046f839-aede-4d5e-86f6-716893505439 not found
|
||||
INFO 2025-11-02 17:35:18,312 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:35:18,532 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=9305fc55fc514a458df2a39ebf3e7697 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:35:48,287 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:35:48,514 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=535564efe51f4814a064fa1c17660a02 HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:36:13,637 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
ERROR 2025-11-02 17:36:13,642 tasks 16172 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
ERROR 2025-11-02 17:36:13,648 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
ERROR 2025-11-02 17:36:13,760 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
ERROR 2025-11-02 17:36:13,768 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
INFO 2025-11-02 17:36:18,308 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:36:18,531 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=f89157c1dd644624a7cf9596bee8653c HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:36:48,296 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:36:48,519 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=5305ed0eba3d4550b1f5ea7779aef6c0 HTTP/1.1" 200 9548
|
||||
ERROR 2025-11-02 17:37:00,511 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
INFO 2025-11-02 17:37:18,291 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:37:18,518 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=7da60254c4914ce5b1de9c2fb0cef1b5 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:37:48,288 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:37:48,516 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=70c0cd84fcdc46289995fb2684ef768d HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:38:01,175 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
INFO 2025-11-02 17:38:18,296 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:38:18,520 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=37480d538e504944901351b925e68e98 HTTP/1.1" 200 9548
|
||||
INFO 2025-11-02 17:38:48,287 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:38:48,513 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=704dc15859ef44fcab0443fd9fc47fd1 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:39:18,286 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:39:18,513 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=9d68ba755e184f41b87c1067321bea35 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:39:48,317 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:39:48,540 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=8cbbbd3a0f4b405ebde45621e5df822b HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:40:18,291 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:40:18,517 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=22462e728542457bb7e2ed181ba54e7a HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:40:24,529 tasks 16180 8648941888 Appointment 7d8e8281-f28e-47b2-bae6-04647dd5204d not found
|
||||
INFO 2025-11-02 17:40:48,281 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:40:48,509 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=e889b325aae14a71af95d2c46796c816 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:41:18,393 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:41:18,608 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=e98287a1700d4dbd8f88e11c9a1ebb7a HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:41:48,410 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:41:48,636 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=9c8831ac29f2457f8bf82ad716f3bc95 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:42:18,395 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:42:18,614 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=7dc7c355841646ae98bb79092d470773 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:42:48,388 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:42:48,617 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=d2476f2b3c1f490a98ab7f9e32471f83 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:43:18,393 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:43:18,609 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=5f2a00599dee4df890a1deea5feeb9b9 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:43:48,397 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:43:48,624 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=e8b94440d1d54535a36cfd274fa27a65 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:44:18,395 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:44:18,614 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=08b3c4713f3b41448bfe4009120e0029 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:44:48,472 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:44:49,394 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=7c424037520547b7aa38f76b51b04f79 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:45:18,450 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:45:19,403 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=df8a331e27b34729aa3d33ce92859526 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:46:18,471 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:46:19,402 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=eb4f7719632f4cc9a8d424c75721053a HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:47:18,497 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:47:19,405 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=6cb1dff7bdef4bf79a7631c62af0e7a1 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:47:48,381 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:47:48,609 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=485fa68db7364e87beee37f6bf7e2523 HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:47:58,803 tasks 16180 8648941888 Appointment e494458f-a5fd-481b-97a3-c14466b6f1a1 not found
|
||||
INFO 2025-11-02 17:48:18,391 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:48:18,608 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=aae02a90bc714c42bde493e121ed930b HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:48:44,553 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
INFO 2025-11-02 17:48:48,400 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:48:48,616 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=d1985517c3864665b79e4ac591c3dac6 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:49:18,471 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:49:18,692 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=05356ee7bfe342e5a59f5f7b5f3647dd HTTP/1.1" 200 9548
|
||||
INFO 2025-11-02 17:49:19,384 basehttp 15978 6163853312 "GET /en/appointments/ HTTP/1.1" 200 127764
|
||||
INFO 2025-11-02 17:49:19,473 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:49:23,789 basehttp 15978 6163853312 "GET /en/patients/ HTTP/1.1" 200 89704
|
||||
WARNING 2025-11-02 17:49:23,807 basehttp 15978 13170143232 "GET /static/plugins/datatables/datatables.min.js HTTP/1.1" 404 2035
|
||||
WARNING 2025-11-02 17:49:23,807 basehttp 15978 6163853312 "GET /static/plugins/datatables/datatables.min.css HTTP/1.1" 404 2038
|
||||
INFO 2025-11-02 17:49:23,887 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:49:53,916 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:49:54,131 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=9d30090c2a7742e19dee5cccf3d852d0 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:50:09,938 basehttp 15978 6163853312 "GET /en/patients/ HTTP/1.1" 200 89705
|
||||
WARNING 2025-11-02 17:50:09,953 basehttp 15978 13170143232 "GET /static/plugins/datatables/datatables.min.js HTTP/1.1" 404 2035
|
||||
WARNING 2025-11-02 17:50:09,953 basehttp 15978 6163853312 "GET /static/plugins/datatables/datatables.min.css HTTP/1.1" 404 2038
|
||||
INFO 2025-11-02 17:50:10,036 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:50:40,076 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:50:40,300 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=6ff1828778d945e49c48ca0033d6c4f0 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:51:10,051 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:51:10,268 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=e7731a3bf33047e0bcc9395bf4e59e9c HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:51:11,942 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
ERROR 2025-11-02 17:51:12,190 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
|
||||
INFO 2025-11-02 17:51:40,062 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:51:40,276 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=3dd0be8a5fa04268b422e26b3dc3278a HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 17:51:40,652 tasks 16181 8648941888 Appointment 310d15a7-8bf3-4742-9d66-ea672cb4ff53 not found
|
||||
ERROR 2025-11-02 17:51:40,652 tasks 16172 8648941888 Appointment bf8645b9-dc70-43b2-a756-a1cbc04a2bae not found
|
||||
ERROR 2025-11-02 17:51:40,653 tasks 16180 8648941888 Appointment 35bc0ce1-174a-41ad-bc93-fb7d92e34947 not found
|
||||
ERROR 2025-11-02 17:52:08,389 tasks 16180 8648941888 Appointment 1ba52899-1a8e-4bce-93bd-d1d643bb7b69 not found
|
||||
ERROR 2025-11-02 17:52:08,389 tasks 16172 8648941888 Appointment 84999784-a5ac-4385-82c0-6beee6a870fe not found
|
||||
INFO 2025-11-02 17:52:10,091 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:52:10,318 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=ec2abe5264a34597829fe1d374ce29f4 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:52:40,044 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:52:40,260 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=ee29b46d65644fb0840d6fd8045a6a2e HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:53:10,054 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:53:10,283 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=e1adb618aff0419eaa5a34373fda34a7 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:53:40,055 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:53:40,292 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=19b02ff43ee745beb23122c4e0fb483d HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:54:10,077 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:54:10,289 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=6e5a7c028e7948b19fd2b6d8215796df HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:54:29,463 basehttp 15978 6163853312 "GET /en/consents/create/ HTTP/1.1" 200 53897
|
||||
INFO 2025-11-02 17:54:29,644 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
WARNING 2025-11-02 17:54:32,542 log 15978 6163853312 Not Found: /en/core/rooms
|
||||
WARNING 2025-11-02 17:54:32,542 basehttp 15978 6163853312 "GET /en/core/rooms HTTP/1.1" 404 34962
|
||||
WARNING 2025-11-02 17:54:44,255 log 15978 6163853312 Not Found: /en/rooms
|
||||
WARNING 2025-11-02 17:54:44,255 basehttp 15978 6163853312 "GET /en/rooms HTTP/1.1" 404 34943
|
||||
WARNING 2025-11-02 17:54:47,613 log 15978 6163853312 Not Found: /en/room
|
||||
WARNING 2025-11-02 17:54:47,613 basehttp 15978 6163853312 "GET /en/room HTTP/1.1" 404 34940
|
||||
INFO 2025-11-02 17:55:21,037 basehttp 15978 6163853312 "GET /en/consents/create/ HTTP/1.1" 200 53897
|
||||
INFO 2025-11-02 17:55:21,133 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:55:23,548 basehttp 15978 6163853312 "GET /en/consents/ HTTP/1.1" 200 92283
|
||||
INFO 2025-11-02 17:55:23,644 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
WARNING 2025-11-02 17:55:39,103 log 15978 6163853312 Not Found: /en/core/service
|
||||
WARNING 2025-11-02 17:55:39,103 basehttp 15978 6163853312 "GET /en/core/service HTTP/1.1" 404 34972
|
||||
INFO 2025-11-02 17:55:44,055 basehttp 15978 6163853312 "GET /en/ HTTP/1.1" 200 56209
|
||||
INFO 2025-11-02 17:55:44,148 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:55:56,926 basehttp 15978 6163853312 "GET /en/finance/packages/ HTTP/1.1" 200 42230
|
||||
INFO 2025-11-02 17:55:57,033 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
WARNING 2025-11-02 17:56:03,613 log 15978 6163853312 Not Found: /en/finance/services/
|
||||
WARNING 2025-11-02 17:56:03,613 basehttp 15978 6163853312 "GET /en/finance/services/ HTTP/1.1" 404 39626
|
||||
INFO 2025-11-02 17:56:13,959 basehttp 15978 6163853312 "GET /en/finance/invoices/ HTTP/1.1" 200 67209
|
||||
INFO 2025-11-02 17:56:14,058 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:56:44,104 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:56:44,315 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=3089cc566bc64fe59b1b4d6cefc5ef94 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:57:09,110 basehttp 15978 6163853312 "GET /en/finance/invoices/ HTTP/1.1" 200 69322
|
||||
INFO 2025-11-02 17:57:09,204 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:57:39,258 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:57:39,473 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=63638c6fea034d059e9cbcbeddb177c4 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 17:57:43,980 basehttp 15978 6163853312 "GET /en/finance/invoices/684c8424-1edf-4228-817f-0f8ad9a7efcc/ HTTP/1.1" 200 45657
|
||||
INFO 2025-11-02 17:57:44,079 basehttp 15978 6163853312 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:57:59,735 basehttp 15978 6163853312 "GET /en/finance/payments HTTP/1.1" 301 0
|
||||
INFO 2025-11-02 17:57:59,805 basehttp 15978 13170143232 "GET /en/finance/payments/ HTTP/1.1" 200 57707
|
||||
INFO 2025-11-02 17:57:59,885 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:58:29,895 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:58:30,125 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=de6076e0b0ea4640b5c389a4f173a653 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:58:59,907 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:59:00,127 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=a1e3845eaba04b8993ef3645e2a5a46a HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 17:59:22,127 basehttp 15978 13170143232 "GET /en/finance/payments/ HTTP/1.1" 200 57707
|
||||
INFO 2025-11-02 17:59:22,225 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:59:52,260 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 17:59:52,476 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=ee3a07b84395488ab6a24e3a7379836f HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 18:00:00,013 tasks 16180 8648941888 Lab results sync started
|
||||
INFO 2025-11-02 18:00:00,014 tasks 16180 8648941888 Lab results sync completed: {'status': 'success', 'new_results': 0, 'updated_results': 0, 'errors': 0, 'timestamp': '2025-11-02 15:00:00.014215+00:00'}
|
||||
INFO 2025-11-02 18:00:00,020 tasks 16180 8648941888 Radiology results sync started
|
||||
INFO 2025-11-02 18:00:00,021 tasks 16180 8648941888 Radiology results sync completed: {'status': 'success', 'new_studies': 0, 'new_reports': 0, 'errors': 0, 'timestamp': '2025-11-02 15:00:00.021036+00:00'}
|
||||
INFO 2025-11-02 18:00:00,034 tasks 16180 8648941888 Generated daily schedule for 2025-11-03: {'date': '2025-11-03', 'total_appointments': 0, 'providers_with_appointments': 0}
|
||||
INFO 2025-11-02 18:00:22,233 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:00:22,455 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=61f6dbcdc9bb4c2d89cded1a3ea17950 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 18:00:52,255 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:00:52,471 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=c669c4e21613421a8a6f6659ddf7de45 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 18:01:22,260 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:01:22,485 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=012590954e86448da46dcdb84be68d2b HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 18:01:52,237 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:01:52,457 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=16db1c9135414c0fb78e7bcbae468e00 HTTP/1.1" 200 9547
|
||||
ERROR 2025-11-02 18:02:03,794 tasks 16180 8648941888 Appointment 642dc474-cd97-4dc0-8924-b2b832eeaea1 not found
|
||||
ERROR 2025-11-02 18:02:03,794 tasks 16181 8648941888 Appointment 0ff795b3-68a3-44e3-ad35-9b50b6e098a8 not found
|
||||
ERROR 2025-11-02 18:02:03,794 tasks 16172 8648941888 Appointment 251d4c8d-ad19-44b7-a10b-3b3ff3951257 not found
|
||||
ERROR 2025-11-02 18:02:04,078 tasks 16172 8648941888 Appointment 0ff795b3-68a3-44e3-ad35-9b50b6e098a8 not found
|
||||
ERROR 2025-11-02 18:02:04,078 tasks 16180 8648941888 Appointment 642dc474-cd97-4dc0-8924-b2b832eeaea1 not found
|
||||
ERROR 2025-11-02 18:02:04,078 tasks 16181 8648941888 Appointment 251d4c8d-ad19-44b7-a10b-3b3ff3951257 not found
|
||||
INFO 2025-11-02 18:02:22,278 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:02:22,498 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=81e314cb36c641a3af1a32e1c19c68c2 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 18:02:52,257 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:02:52,471 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=8f9303dbcbf8409296d185285f55f637 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 18:03:22,248 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:03:22,470 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=ab536ff68c074c73bbbca2ec2de3aab1 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 18:03:33,879 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:03:34,100 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=cd482d601d414923983474688c454394 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 18:03:34,667 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:03:34,886 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=e6d50bec410741f0860f678c382e0c1f HTTP/1.1" 200 9549
|
||||
ERROR 2025-11-02 18:03:34,965 tasks 16180 8648941888 Appointment 57b3dd51-9baa-433e-b2be-9640c444df0d not found
|
||||
INFO 2025-11-02 18:03:35,852 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:03:36,066 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=6f5299097fe0448885cf94f45d288750 HTTP/1.1" 200 9547
|
||||
WARNING 2025-11-02 18:03:41,178 log 15978 13170143232 Not Found: /en/finance/
|
||||
WARNING 2025-11-02 18:03:41,178 basehttp 15978 13170143232 "GET /en/finance/ HTTP/1.1" 404 39589
|
||||
INFO 2025-11-02 18:03:52,519 basehttp 15978 13170143232 "GET /en/finance/packages/ HTTP/1.1" 200 42228
|
||||
INFO 2025-11-02 18:03:52,608 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:04:22,639 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:04:22,870 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=3916c22b3f4e45f88aff7ebeda18c593 HTTP/1.1" 200 9547
|
||||
INFO 2025-11-02 18:04:52,664 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:04:52,880 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=fc2d1515a6314b80bc546222e007df18 HTTP/1.1" 200 9549
|
||||
INFO 2025-11-02 18:05:22,667 basehttp 15978 13170143232 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
|
||||
INFO 2025-11-02 18:05:22,890 basehttp 15978 13170143232 "GET /__debug__/history_sidebar/?request_id=5da79d76a4d74e7298051e7be42c5dae HTTP/1.1" 200 9550
|
||||
|
||||
@ -122,47 +122,7 @@
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation" class="mt-4">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?filter={{ current_filter }}&page=1">
|
||||
<i class="fa fa-angle-double-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?filter={{ current_filter }}&page={{ page_obj.previous_page_number }}">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% for num in page_obj.paginator.page_range %}
|
||||
{% if page_obj.number == num %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ num }}</span>
|
||||
</li>
|
||||
{% elif num > page_obj.number|add:'-3' and num < page_obj.number|add:'3' %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?filter={{ current_filter }}&page={{ num }}">{{ num }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?filter={{ current_filter }}&page={{ page_obj.next_page_number }}">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?filter={{ current_filter }}&page={{ page_obj.paginator.num_pages }}">
|
||||
<i class="fa fa-angle-double-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% include 'includes/pagination_unified.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -86,43 +86,11 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="{% trans 'Page navigation' %}">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">
|
||||
<i class="fas fa-angle-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% for num in page_obj.paginator.page_range %}
|
||||
{% if page_obj.number == num %}
|
||||
<li class="page-item active"><span class="page-link">{{ num }}</span></li>
|
||||
{% elif num > page_obj.number|add:'-3' and num < page_obj.number|add:'3' %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">{{ num }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value }}{% endif %}{% endfor %}">
|
||||
<i class="fas fa-angle-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<div class="text-center text-muted">
|
||||
{% trans "Showing" %} {{ page_obj.start_index }} - {{ page_obj.end_index }} {% trans "of" %} {{ page_obj.paginator.count }}
|
||||
</div>
|
||||
</nav>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
|
||||
@ -42,28 +42,12 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-hands-helping fa-3x text-muted mb-3"></i>
|
||||
|
||||
@ -56,27 +56,11 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-clipboard-check fa-3x text-muted mb-3"></i>
|
||||
|
||||
@ -67,6 +67,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
|
||||
@ -47,27 +47,10 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-clipboard-check fa-3x text-muted mb-3"></i>
|
||||
|
||||
@ -42,27 +42,12 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-comments fa-3x text-muted mb-3"></i>
|
||||
|
||||
@ -40,27 +40,12 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-hands-helping fa-3x text-muted mb-3"></i>
|
||||
|
||||
@ -50,27 +50,10 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% if is_paginated %}
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination justify-content-center">
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.previous_page_number }}">{% trans "Previous" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="page-item active">
|
||||
<span class="page-link">{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
|
||||
</li>
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page={{ page_obj.next_page_number }}">{% trans "Next" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
<i class="fas fa-chart-line fa-3x text-muted mb-3"></i>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Statistics Cards -->
|
||||
<div class="row mb-4">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8 offset-md-2">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<!-- Note Content -->
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="card mb-4">
|
||||
@ -158,7 +158,9 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-10 offset-md-1">
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% include "includes/messages.html" %}
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -59,6 +59,9 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if is_paginated %}
|
||||
{% include "includes/pagination_unified.html" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="text-center py-5">
|
||||
@ -72,6 +75,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include "includes/pagination.html" %}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
161
templates/includes/pagination_unified.html
Normal file
161
templates/includes/pagination_unified.html
Normal file
@ -0,0 +1,161 @@
|
||||
{% load i18n %}
|
||||
|
||||
{% comment %}
|
||||
Unified Pagination Template
|
||||
Usage: {% include "includes/pagination_unified.html" %}
|
||||
|
||||
Optional context variables:
|
||||
- page_obj: Required - Django paginator page object
|
||||
- is_paginated: Optional - Boolean to show/hide pagination
|
||||
- htmx_target: Optional - HTMX target selector (e.g., "#content-container")
|
||||
- show_info: Optional - Show "Showing X to Y of Z" text (default: True)
|
||||
- size: Optional - Pagination size: 'sm', 'md', 'lg' (default: 'sm')
|
||||
{% endcomment %}
|
||||
|
||||
{% if page_obj and page_obj.paginator.num_pages > 1 %}
|
||||
<div class="d-flex justify-content-between align-items-center flex-wrap gap-2">
|
||||
{% if show_info|default:True %}
|
||||
<div class="text-muted small">
|
||||
{% trans "Showing" %} {{ page_obj.start_index }} {% trans "to" %} {{ page_obj.end_index }}
|
||||
{% trans "of" %} {{ page_obj.paginator.count }} {% trans "results" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<nav aria-label="{% trans 'Page navigation' %}">
|
||||
<ul class="pagination pagination-{{ size|default:'sm' }} mb-0">
|
||||
{# First Page Button #}
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page=1{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}"
|
||||
{% if htmx_target %}hx-get="?page=1{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}" hx-target="{{ htmx_target }}" hx-swap="outerHTML"{% endif %}
|
||||
aria-label="{% trans 'First' %}">
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
<i class="fas fa-angle-double-right"></i>
|
||||
{% else %}
|
||||
<i class="fas fa-angle-double-left"></i>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
<i class="fas fa-angle-double-right"></i>
|
||||
{% else %}
|
||||
<i class="fas fa-angle-double-left"></i>
|
||||
{% endif %}
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{# Previous Page Button #}
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}"
|
||||
{% if htmx_target %}hx-get="?page={{ page_obj.previous_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}" hx-target="{{ htmx_target }}" hx-swap="outerHTML"{% endif %}
|
||||
aria-label="{% trans 'Previous' %}" rel="prev">
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
<i class="fas fa-angle-right"></i>
|
||||
{% else %}
|
||||
<i class="fas fa-angle-left"></i>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
<i class="fas fa-angle-right"></i>
|
||||
{% else %}
|
||||
<i class="fas fa-angle-left"></i>
|
||||
{% endif %}
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{# Page Numbers - Show window of ±2 around current page, plus first and last #}
|
||||
{% with start=page_obj.number|add:"-2" end=page_obj.number|add:"2" %}
|
||||
{% for num in page_obj.paginator.page_range %}
|
||||
{% if num == 1 or num == page_obj.paginator.num_pages or num >= start and num <= end %}
|
||||
{% if num == page_obj.number %}
|
||||
<li class="page-item active" aria-current="page">
|
||||
<span class="page-link">{{ num }}</span>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}"
|
||||
{% if htmx_target %}hx-get="?page={{ num }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}" hx-target="{{ htmx_target }}" hx-swap="outerHTML"{% endif %}>
|
||||
{{ num }}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% elif num == 2 and start > 2 %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">...</span>
|
||||
</li>
|
||||
{% elif num == page_obj.paginator.num_pages|add:"-1" and end < page_obj.paginator.num_pages|add:"-1" %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">...</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
|
||||
{# Next Page Button #}
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}"
|
||||
{% if htmx_target %}hx-get="?page={{ page_obj.next_page_number }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}" hx-target="{{ htmx_target }}" hx-swap="outerHTML"{% endif %}
|
||||
aria-label="{% trans 'Next' %}" rel="next">
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
<i class="fas fa-angle-left"></i>
|
||||
{% else %}
|
||||
<i class="fas fa-angle-right"></i>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
<i class="fas fa-angle-left"></i>
|
||||
{% else %}
|
||||
<i class="fas fa-angle-right"></i>
|
||||
{% endif %}
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{# Last Page Button #}
|
||||
{% if page_obj.has_next %}
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ page_obj.paginator.num_pages }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}"
|
||||
{% if htmx_target %}hx-get="?page={{ page_obj.paginator.num_pages }}{% for key, value in request.GET.items %}{% if key != 'page' %}&{{ key }}={{ value|urlencode }}{% endif %}{% endfor %}" hx-target="{{ htmx_target }}" hx-swap="outerHTML"{% endif %}
|
||||
aria-label="{% trans 'Last' %}">
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
<i class="fas fa-angle-double-left"></i>
|
||||
{% else %}
|
||||
<i class="fas fa-angle-double-right"></i>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
<i class="fas fa-angle-double-left"></i>
|
||||
{% else %}
|
||||
<i class="fas fa-angle-double-right"></i>
|
||||
{% endif %}
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
{% endif %}
|
||||
Loading…
x
Reference in New Issue
Block a user