From 85a5db8f50d35f8a4004aba4fb4b2dc053f8ec7f Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 27 Aug 2012 19:51:11 +0200 Subject: Improve tinyMCE management (for ajax calls) --- chimere/models.py | 8 ++++++++ chimere/templates/chimere/blocks/head_form.html | 2 ++ chimere/templatetags/chimere_tags.py | 10 ++++++++++ chimere/widgets.py | 16 ++++++++++++++++ 4 files changed, 36 insertions(+) create mode 100644 chimere/templates/chimere/blocks/head_form.html diff --git a/chimere/models.py b/chimere/models.py index 8bff588..2ac1ac5 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -195,6 +195,14 @@ class SubCategory(models.Model): return [(category, sub_cats) for category, sub_cats \ in sub_categories.items()] + @classmethod + def getAvailableTuples(cls, area_name=None): + cats = [] + for cat, subcats in cls.getAvailable(area_name=area_name): + cats.append((unicode(cat), + [(subcat.pk, subcat.name) for subcat in subcats])) + return cats + IMPORTERS = {'KML':KMLManager, 'OSM':OSMManager, 'SHP':ShapefileManager diff --git a/chimere/templates/chimere/blocks/head_form.html b/chimere/templates/chimere/blocks/head_form.html new file mode 100644 index 0000000..2485c1a --- /dev/null +++ b/chimere/templates/chimere/blocks/head_form.html @@ -0,0 +1,2 @@ + + diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py index 132af09..a07dc44 100644 --- a/chimere/templatetags/chimere_tags.py +++ b/chimere/templatetags/chimere_tags.py @@ -111,6 +111,16 @@ def head_chimere(context): } return context_data +@register.inclusion_tag('chimere/blocks/head_form.html') +def head_form(): + """ + Manualy add forms header (necessary in case of ajax load) + """ + context_data = { + "TINYMCE_URL": settings.TINYMCE_URL, + } + return context_data + @register.inclusion_tag('chimere/blocks/map_menu.html', takes_context=True) def map_menu(context): context_data = {'routing':settings.CHIMERE_ENABLE_ROUTING} diff --git a/chimere/widgets.py b/chimere/widgets.py index 23095c7..9bbe0d9 100644 --- a/chimere/widgets.py +++ b/chimere/widgets.py @@ -146,6 +146,22 @@ class TextareaWidget(forms.Textarea): js = ["%stiny_mce.js" % settings.TINYMCE_URL, "%schimere/js/textareas.js" % settings.STATIC_URL,] + def render(self, *args, **kwargs): + rendered = super(TextareaWidget, self).render(*args, **kwargs) + rendered += u""" +""" + return mark_safe(rendered) + class DatePickerWidget(forms.TextInput): """ Manage the edition of dates. -- cgit v1.2.3