Skip to content
Snippets Groups Projects

Virus visit column changes

Merged Carlos Vega requested to merge virus_visit_column_changes into master
2 unresolved threads
1 file
+ 15
1
Compare changes
  • Side-by-side
  • Inline
@@ -2,13 +2,16 @@ import logging
from django.db.models import Q
from django.http import JsonResponse
from web.models import ConfigurationItem
from distutils.util import strtobool
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.constants import GLOBAL_STUDY_ID, VISIT_SHOW_VISIT_NUMBER_FROM_ZERO
from web.models.study_visit_list import VISIT_LIST_GENERIC, VISIT_LIST_EXCEEDED_TIME, VISIT_LIST_UNFINISHED, \
VISIT_LIST_MISSING_APPOINTMENTS, VISIT_LIST_APPROACHING_WITHOUT_APPOINTMENTS, \
VISIT_LIST_APPROACHING_FOR_MAIL_CONTACT
@@ -44,7 +47,14 @@ 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")
visit_from_zero = ConfigurationItem.objects.get(type=VISIT_SHOW_VISIT_NUMBER_FROM_ZERO).value
#True values are y, yes, t, true, on and 1; false values are n, no, f, false, off and 0.
if strtobool(visit_from_zero):
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 +112,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 +165,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 +260,9 @@ def serialize_visit(visit):
"visible_appointment_types": appointment_types_to_str(appointment_types),
}
visit_from_zero = ConfigurationItem.objects.get(type=VISIT_SHOW_VISIT_NUMBER_FROM_ZERO).value
#True values are y, yes, t, true, on and 1; false values are n, no, f, false, off and 0.
if strtobool(visit_from_zero):
result["display_visit_number"] = display_visit_number(visit.visit_number)
return result
Loading