From 0f9d82ab80597ea54a409fa47517b9422d965bdf Mon Sep 17 00:00:00 2001
From: Todd Dembrey <todd.dembrey@torchbox.com>
Date: Thu, 14 Feb 2019 13:22:50 +0000
Subject: [PATCH] GH-957: open the modals if they contain errors and dont show
 a message

---
 opentech/apply/funds/views.py                        |  9 ---------
 .../src/javascript/apply/fancybox-global.js          | 12 ++++++++++++
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/opentech/apply/funds/views.py b/opentech/apply/funds/views.py
index 4e5167f33..214436f29 100644
--- a/opentech/apply/funds/views.py
+++ b/opentech/apply/funds/views.py
@@ -296,15 +296,6 @@ class UpdateReviewersView(DelegatedViewMixin, UpdateView):
     form_class = UpdateReviewersForm
     context_name = 'reviewer_form'
 
-    def form_invalid(self, form):
-        messages.error(
-            self.request,
-            mark_safe(
-                "There are errors with the Reviewers Form:" + form.errors.as_ul()
-            )
-        )
-        return super().form_invalid(form)
-
     def form_valid(self, form):
         old_reviewers = set(
             copy(reviewer)
diff --git a/opentech/static_src/src/javascript/apply/fancybox-global.js b/opentech/static_src/src/javascript/apply/fancybox-global.js
index 616c78f49..a97f59451 100644
--- a/opentech/static_src/src/javascript/apply/fancybox-global.js
+++ b/opentech/static_src/src/javascript/apply/fancybox-global.js
@@ -18,4 +18,16 @@
         $('.django-select2-checkboxes').select2('close');
     });
 
+    $(document).ready(
+        $('.modal').each((idx, element) => {
+            var modal = $(element);
+            var error = modal.has('.errorlist');
+            if ( error.length ) {
+                const modalID = modal.attr('id');
+                const buttonTrigger = $(`[data-src="#${modalID}"]`);
+                buttonTrigger[0].click();
+            }
+        })
+    );
+
 })(jQuery);
-- 
GitLab