From 02aaad635a6e86e4301c78a88c8535f520cecd5b Mon Sep 17 00:00:00 2001 From: Mark Stahler Date: Tue, 17 Jan 2012 21:22:22 -0500 Subject: [PATCH 1/4] Added TinyMCE support via django-tinymce --- dbtemplates/admin.py | 9 +++++++++ dbtemplates/conf.py | 7 +++++++ dbtemplates/urls.py | 4 ++++ 3 files changed, 20 insertions(+) create mode 100644 dbtemplates/urls.py diff --git a/dbtemplates/admin.py b/dbtemplates/admin.py index efdfbcb..3089747 100644 --- a/dbtemplates/admin.py +++ b/dbtemplates/admin.py @@ -1,6 +1,7 @@ import posixpath from django import forms from django.contrib import admin +from django.core.exceptions import ImproperlyConfigured from django.utils.translation import ungettext, ugettext_lazy as _ from django.utils.safestring import mark_safe @@ -59,6 +60,14 @@ if settings.DBTEMPLATES_AUTO_POPULATE_CONTENT: else: content_help_text = "" +if settings.DBTEMPLATES_USE_CODEMIRROR and settings.DBTEMPLATES_USE_TINYMCE: + raise ImproperlyConfigured("You may use either CodeMirror or TinyMCE with dbtemplates, not both. Please disable one of them.") + +if settings.DBTEMPLATES_USE_TINYMCE: + TemplateContentTextArea = TinyMce +else: + TemplateContentTextArea = forms.Textarea + class TemplateAdminForm(forms.ModelForm): """ diff --git a/dbtemplates/conf.py b/dbtemplates/conf.py index e1075a2..0bcf4ec 100644 --- a/dbtemplates/conf.py +++ b/dbtemplates/conf.py @@ -9,6 +9,7 @@ from appconf import AppConf class DbTemplatesConf(AppConf): USE_CODEMIRROR = False USE_REVERSION = False + USE_TINYMCE = False ADD_DEFAULT_SITE = True AUTO_POPULATE_CONTENT = True MEDIA_PREFIX = None @@ -40,3 +41,9 @@ class DbTemplatesConf(AppConf): raise ImproperlyConfigured("Please add 'reversion' to your " "INSTALLED_APPS setting to make use of it in dbtemplates.") return value + + def configure_use_tinymce(self, value): + if value and 'tinymce' not in settings.INSTALLED_APPS: + raise ImproperlyConfigured("Please add 'tinymce' to your " + "INSTALLED_APPS setting to make use of it in dbtemplates.") + return value diff --git a/dbtemplates/urls.py b/dbtemplates/urls.py new file mode 100644 index 0000000..62d9494 --- /dev/null +++ b/dbtemplates/urls.py @@ -0,0 +1,4 @@ +from django.conf.urls.defaults import * + +if 'tinymce' in settings.INSTALLED_APPS: + urlpatterns += patterns('', url(r'^tinymce/', include('tinymce.urls'))) From e866e52074f0dee8ab92dd4f3e4beafffb648c11 Mon Sep 17 00:00:00 2001 From: Mark Stahler Date: Tue, 17 Jan 2012 21:58:47 -0500 Subject: [PATCH 2/4] fixed tinyMce not appearing in admin area --- dbtemplates/admin.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dbtemplates/admin.py b/dbtemplates/admin.py index 3089747..67ac90b 100644 --- a/dbtemplates/admin.py +++ b/dbtemplates/admin.py @@ -63,8 +63,9 @@ else: if settings.DBTEMPLATES_USE_CODEMIRROR and settings.DBTEMPLATES_USE_TINYMCE: raise ImproperlyConfigured("You may use either CodeMirror or TinyMCE with dbtemplates, not both. Please disable one of them.") -if settings.DBTEMPLATES_USE_TINYMCE: - TemplateContentTextArea = TinyMce +if settings.DBTEMPLATES_USE_TINYMCE and'tinymce' in settings.INSTALLED_APPS: + from tinymce.widgets import AdminTinyMCE + TemplateContentTextArea = AdminTinyMCE else: TemplateContentTextArea = forms.Textarea From edaf6ea2585b1936a870d7c7aed3a06a063f2115 Mon Sep 17 00:00:00 2001 From: Mark Stahler Date: Tue, 17 Jan 2012 22:11:08 -0500 Subject: [PATCH 3/4] respect column widths --- dbtemplates/admin.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dbtemplates/admin.py b/dbtemplates/admin.py index 67ac90b..3f966fc 100644 --- a/dbtemplates/admin.py +++ b/dbtemplates/admin.py @@ -61,9 +61,10 @@ else: content_help_text = "" if settings.DBTEMPLATES_USE_CODEMIRROR and settings.DBTEMPLATES_USE_TINYMCE: - raise ImproperlyConfigured("You may use either CodeMirror or TinyMCE with dbtemplates, not both. Please disable one of them.") + raise ImproperlyConfigured("You may use either CodeMirror or TinyMCE " + "with dbtemplates, not both. Please disable one of them.") -if settings.DBTEMPLATES_USE_TINYMCE and'tinymce' in settings.INSTALLED_APPS: +if settings.DBTEMPLATES_USE_TINYMCE: from tinymce.widgets import AdminTinyMCE TemplateContentTextArea = AdminTinyMCE else: From 68d4342df403eeb23509bca4d2eef4d0d8e1d574 Mon Sep 17 00:00:00 2001 From: Mark Stahler Date: Wed, 18 Jan 2012 08:33:13 -0500 Subject: [PATCH 4/4] removed urls.py which is not required if django-tinymce is installed properly. fixed new bug relating to codemirror introduced by tinymce --- dbtemplates/admin.py | 2 -- dbtemplates/urls.py | 4 ---- 2 files changed, 6 deletions(-) delete mode 100644 dbtemplates/urls.py diff --git a/dbtemplates/admin.py b/dbtemplates/admin.py index 3f966fc..7e4dae8 100644 --- a/dbtemplates/admin.py +++ b/dbtemplates/admin.py @@ -67,8 +67,6 @@ if settings.DBTEMPLATES_USE_CODEMIRROR and settings.DBTEMPLATES_USE_TINYMCE: if settings.DBTEMPLATES_USE_TINYMCE: from tinymce.widgets import AdminTinyMCE TemplateContentTextArea = AdminTinyMCE -else: - TemplateContentTextArea = forms.Textarea class TemplateAdminForm(forms.ModelForm): diff --git a/dbtemplates/urls.py b/dbtemplates/urls.py deleted file mode 100644 index 62d9494..0000000 --- a/dbtemplates/urls.py +++ /dev/null @@ -1,4 +0,0 @@ -from django.conf.urls.defaults import * - -if 'tinymce' in settings.INSTALLED_APPS: - urlpatterns += patterns('', url(r'^tinymce/', include('tinymce.urls')))