Skip to content
Snippets Groups Projects

Virus visit column changes

Merged Carlos Vega requested to merge virus_visit_column_changes into master
1 file
+ 15
1
Compare changes
  • Side-by-side
  • Inline
@@ -2,11 +2,13 @@ import logging
from django.db.models import Q
from django.http import JsonResponse
from django.conf import settings
from web.api_views.serialization_utils import bool_to_yes_no, flying_team_to_str, location_to_str, add_column, \
serialize_date, get_filters_for_data_table_request
from web.models import AppointmentType, Appointment
from web.models import SubjectColumns
from web.templatetags.filters import display_visit_number
from web.models import Visit, Study, VisitColumns, StudyVisitList, StudyColumns
from web.models.constants import GLOBAL_STUDY_ID
from web.models.study_visit_list import VISIT_LIST_GENERIC, VISIT_LIST_EXCEEDED_TIME, VISIT_LIST_UNFINISHED, \
@@ -44,7 +46,12 @@ def get_visit_columns(request, visit_list_type):
add_column(result, "Visit ends", "datetime_end", visit_columns, None)
add_column(result, "Finished", "is_finished", visit_columns, "yes_no_filter")
add_column(result, "Post mail sent", "post_mail_sent", visit_columns, "yes_no_filter")
add_column(result, "Visit number", "visit_number", visit_columns, "integer_filter")
if getattr(settings, "SHOW_VISITS_FROM_ZERO", False):
add_column(result, "Visit number", "display_visit_number", None, "from_zero_integer_filter")
else:
add_column(result, "Visit number", "visit_number", visit_columns, "integer_filter")
add_column(result, "Appointments in progress", "visible_appointment_types_in_progress", visit_list,
"appointment_type_filter", sortable=False)
add_column(result, "Done appointments", "visible_appointment_types_done", visit_list, "appointment_type_filter",
@@ -102,6 +109,8 @@ def get_visits_order(visits_to_be_ordered, order_column, order_direction):
result = visits_to_be_ordered.order_by(order_direction + 'post_mail_sent')
elif order_column == "visit_number":
result = visits_to_be_ordered.order_by(order_direction + 'visit_number')
elif order_column == "display_visit_number":
result = visits_to_be_ordered.order_by(order_direction + 'visit_number')
else:
logger.warn("Unknown sort column: " + str(order_column))
return result
@@ -153,6 +162,8 @@ def get_visits_filtered(visits_to_be_filtered, filters):
result = result.filter(post_mail_sent=(value == "true"))
elif column == "visit_number":
result = result.filter(visit_number=int(value))
elif column == "display_visit_number":
result = result.filter(visit_number=int(value)+1)
elif column == "visible_appointment_types_in_progress":
result = filter_by_appointment_in_progress(result, value)
elif column == "visible_appointment_types_done":
@@ -246,4 +257,7 @@ def serialize_visit(visit):
"visible_appointment_types": appointment_types_to_str(appointment_types),
}
if getattr(settings, "SHOW_VISITS_FROM_ZERO", False):
result["display_visit_number"] = display_visit_number(visit.visit_number)
return result
Loading