From 991cf76d810b440a2413417af5064390fb90a760 Mon Sep 17 00:00:00 2001
From: Fredrik Jonsson <frjo@xdeb.org>
Date: Thu, 14 May 2020 10:55:27 +0200
Subject: [PATCH] Improving the result calculation, a lot of dirty data in the
 db.

---
 hypha/apply/funds/views.py | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/hypha/apply/funds/views.py b/hypha/apply/funds/views.py
index 83dad0ce8..44c6b5d12 100644
--- a/hypha/apply/funds/views.py
+++ b/hypha/apply/funds/views.py
@@ -1124,7 +1124,11 @@ class SubmissionResultView(FilterView):
         return new_kwargs
 
     def get_queryset(self):
-        return self.filterset_class._meta.model.objects.current()
+        # For rounds we want all submissions but otherwise only current.
+        if self.request.GET.get('round'):
+            return self.filterset_class._meta.model.objects.all()
+        else:
+            return self.filterset_class._meta.model.objects.current()
 
     def get_context_data(self, **kwargs):
         search_term = self.request.GET.get('query')
@@ -1144,14 +1148,24 @@ class SubmissionResultView(FilterView):
         )
 
     def get_submission_values(self):
+        import re
         values = []
         for submission in self.object_list:
             try:
-                value = int(submission.data('value'))
-            except (TypeError, ValueError):
+                value = submission.data('value')
+            except KeyError:
                 value = 0
             else:
-                if not value or value < 0:
+                value = str(value)
+                value = re.sub(r'[.,]\d{2}$', '', value)
+                value = value.replace('USD', '')
+                value = value.replace('$', '')
+                value = value.replace('-', '')
+                value = value.replace(',', '')
+                value = value.replace('.', '')
+                try:
+                    value = int(value)
+                except (TypeError, ValueError):
                     value = 0
             finally:
                 values.append(value)
-- 
GitLab