summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/widgets.py24
1 files changed, 19 insertions, 5 deletions
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index 3fbf24f29..ffa09e7b4 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# Copyright (C) 2010-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+# Copyright (C) 2010-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# Copyright (C) 2007 skam <massimo dot scamarcia at gmail.com>
# (http://djangosnippets.org/snippets/233/)
@@ -45,12 +45,19 @@ reverse_lazy = lazy(reverse, unicode)
class Select2Multiple(forms.SelectMultiple):
- class Media:
+
+ @property
+ def media(self):
+ media = super(Select2Multiple, self).media
css = {
'all': ('select2/css/select2.css',)
}
- js = ('select2/js/select2.min.js',
- 'select2/js/init.js')
+ js = ['select2/js/select2.min.js']
+ for lang_code, lang in settings.LANGUAGES:
+ js.append('select2/js/i18n/{}.js'.format(lang_code))
+ media.add_css(css)
+ media.add_js(js)
+ return media
def render(self, name, value, attrs=None, choices=()):
klass = attrs and attrs.get('class') or ''
@@ -58,8 +65,15 @@ class Select2Multiple(forms.SelectMultiple):
if not attrs:
attrs = {}
attrs['class'] = klass
- return super(Select2Multiple, self).render(name, value, attrs,
+ attrs['style'] = "width: 370px"
+ html = super(Select2Multiple, self).render(name, value, attrs,
choices)
+ html += """<script type="text/javascript">
+ $(document).ready(function() {{
+ $("#id_{}").select2();
+ }});</script>
+ """.format(name)
+ return mark_safe(html)
class CheckboxSelectMultiple(CheckboxSelectMultipleBase):