set up supervisor table

This commit is contained in:
Ross
2024-09-02 17:16:39 +01:00
parent 80412dcbe0
commit 46165a47ec
4 changed files with 56 additions and 4 deletions
+22
View File
@@ -87,4 +87,26 @@ class ExaminationFilter(django_filters.FilterSet):
super(ExaminationFilter, self).__init__(
data=data, queryset=queryset, prefix=prefix, request=request
)
pass
class SupervisorFilter(django_filters.FilterSet):
class Meta:
model = Supervisor
fields = {
"name": ["contains"],
"email": ["contains"],
}
def __init__(
self,
data=None,
queryset=None,
prefix=None,
strict=None,
user=None,
request=None,
):
super(SupervisorFilter, self).__init__(
data=data, queryset=queryset, prefix=prefix, request=request
)
pass
+9 -1
View File
@@ -7,7 +7,7 @@ from easy_thumbnails.files import get_thumbnailer
from easy_thumbnails.exceptions import InvalidImageFormatError
from generic.models import CidUser, Examination, findMiddle
from generic.models import CidUser, Examination, Supervisor, findMiddle
from django.contrib.auth.models import User
@@ -305,3 +305,11 @@ class ExaminationTable(tables.Table):
template_name = "django_tables2/bootstrap4.html"
#fields = ("primary", "subspecialty")
sequence = ("examination",)
class SupervisorTable(tables.Table):
class Meta:
model = Supervisor
template_name = "django_tables2/bootstrap4.html"
sequence = ("name", "email")
@@ -1,8 +1,23 @@
{% extends 'generic/supervisor_base.html' %}
{% load render_table from django_tables2 %}
{% block content %}
<h2>Supervisors</h2>
<details>
<summary>
<h4>Filter</h4>
</summary>
<div id="view-filter-options">
<form action="" method="get">
{{ filter.form }}
<input class="btn btn-primary btn-sm mt-1 mb-1" type="submit" />
</form>
</div>
</details>
{% render_table table %}
<ul id="supervisor-list">
{% for supervisor in object_list %}
<li class="supervisor"><a href="{% url 'generic:supervisor_detail' pk=supervisor.pk %}">{{supervisor.name}}</a>
+10 -3
View File
@@ -46,9 +46,9 @@ from django_tables2.views import SingleTableMixin
from reversion.views import RevisionMixin
from atlas.models import CaseCollection, CaseDetail
from generic.decorators import user_is_cid_user_manager
from generic.filters import CidUserFilter, ExaminationFilter
from generic.filters import CidUserFilter, ExaminationFilter, SupervisorFilter
from generic.tables import CidUserExamTable, CidUserTable, ExaminationTable
from generic.tables import CidUserExamTable, CidUserTable, ExaminationTable, SupervisorTable
from generic.mixins import CheckCanEditMixin, SuperuserRequiredMixin
import zipfile
@@ -3476,8 +3476,15 @@ class SupervisorCreate(CidManagerRequiredMixin, CreateView):
# success_url = reverse_lazy("generic:supervisor_detail")
class SupervisorList(CidManagerRequiredMixin, ListView):
#class SupervisorList(CidManagerRequiredMixin, ListView):
# model = Supervisor
class SupervisorList(CidManagerRequiredMixin, SingleTableMixin, FilterView):
model = Supervisor
table_class = SupervisorTable
template_name = "generic/supervisor_list.html"
filterset_class = SupervisorFilter
class ExamCollectionList(ListView):
model = ExamCollection