summaryrefslogtreecommitdiff
path: root/ishtar_common/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-16 17:55:00 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-11-28 11:40:16 +0100
commitcfcbb04a4c2eb4cd587f34826f2ce69ff6025312 (patch)
treee96f14eb96dd0c44aa0d5e5b8b4f9e8aa2cd110d /ishtar_common/forms.py
parent948d624874bee030a03d63c114a5040113ef694c (diff)
downloadIshtar-cfcbb04a4c2eb4cd587f34826f2ce69ff6025312.tar.bz2
Ishtar-cfcbb04a4c2eb4cd587f34826f2ce69ff6025312.zip
Wizard: display selected on final wizard panel
Diffstat (limited to 'ishtar_common/forms.py')
-rw-r--r--ishtar_common/forms.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py
index 20c65971e..63551ede2 100644
--- a/ishtar_common/forms.py
+++ b/ishtar_common/forms.py
@@ -341,6 +341,38 @@ class CustomForm(BSForm):
return sorted(customs, key=lambda x: x[1])
+class PkWizardSearch(object):
+ current_model = None
+ pk_key = None
+
+ @classmethod
+ def get_formated_datas(cls, cleaned_datas):
+ if not cls.current_model or not cls.pk_key:
+ return []
+ items = []
+ for data in cleaned_datas:
+ if not data or cls.pk_key not in data or not data[cls.pk_key]:
+ continue
+ pks = data[cls.pk_key]
+ for pk in unicode(pks).split(u','):
+ if not pk:
+ continue
+ try:
+ items.append(
+ unicode(cls.current_model.objects.get(pk=int(pk)))
+ )
+ except (cls.current_model.DoesNotExist, ValueError):
+ continue
+ return [
+ (u"",
+ mark_safe(
+ u"<ul class='compact'><li>" + u"</li><li>".join(items) +
+ u"</li></ul>"
+ ))
+ ]
+
+
+
class CustomFormSearch(forms.Form):
need_user_for_initialization = True