From 81f5f74c4c093e375f5811f0bb225603efa39fd4 Mon Sep 17 00:00:00 2001
From: Bryan Brancotte <bryan.brancotte@pasteur.fr>
Date: Mon, 25 Feb 2019 16:52:32 +0100
Subject: [PATCH] Normally we should receive ErrorDict, but in case we do

---
 ippisite/ippidb/templatetags/customtags.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/ippisite/ippidb/templatetags/customtags.py b/ippisite/ippidb/templatetags/customtags.py
index 67185274..c2210197 100644
--- a/ippisite/ippidb/templatetags/customtags.py
+++ b/ippisite/ippidb/templatetags/customtags.py
@@ -3,7 +3,7 @@ import logging
 from django import forms
 from django import template
 from django.contrib.messages.storage.base import Message
-from django.forms.utils import ErrorList
+from django.forms.utils import ErrorList, ErrorDict
 from django.utils.safestring import mark_safe
 from django.utils.translation import ugettext
 
@@ -115,6 +115,13 @@ def bootstrap_core(object):
         # print errors in a bootstrap way
         for error in object:
             ret.append("""<div class="alert alert-danger">%s</div>""" % error.replace("\n", "<br/>"))
+    elif isinstance(object, ErrorDict):
+        # print errors in a bootstrap way
+        for key, error in object.items():
+            ret.append('<div class="alert alert-danger"><b>%s:</b>' % key)
+            for line in bootstrap_core(error):
+                ret.append(line)
+            ret.append('</div>')
     elif isinstance(object, Message):
         # print messages in a bootstrap way
         message = object
-- 
GitLab