From d3f85fa4635866b0f9d5aee2e81a0fb8ed33b2dc Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Tue, 26 May 2020 11:32:08 +0200
Subject: [PATCH] handle null values properly

---
 smash/web/api_views/subject.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/smash/web/api_views/subject.py b/smash/web/api_views/subject.py
index fe34a3b5..bc00eaf0 100644
--- a/smash/web/api_views/subject.py
+++ b/smash/web/api_views/subject.py
@@ -153,7 +153,9 @@ def get_subjects_order(subjects_to_be_ordered, order_column, order_direction, co
         order_direction = ""
     else:
         order_direction = "-"
-    if order_column == "first_name":
+    if order_column is None:
+        logger.warn("Column cannot be null")
+    elif order_column == "first_name":
         result = subjects_to_be_ordered.order_by(order_direction + 'subject__first_name')
     elif order_column == "last_name":
         result = subjects_to_be_ordered.order_by(order_direction + 'subject__last_name')
@@ -301,7 +303,9 @@ def get_subjects_filtered(subjects_to_be_filtered, filters):
     for row in filters:
         column = row[0]
         value = row[1]
-        if column == "first_name":
+        if column is None:
+            logger.warn("Filter column cannot be null")
+        elif column == "first_name":
             result = result.filter(subject__first_name__icontains=value)
         elif column == "last_name":
             result = result.filter(subject__last_name__icontains=value)
-- 
GitLab