summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/forms.py11
-rw-r--r--chimere/static/chimere/js/textareas.js2
-rw-r--r--chimere/static/chimere/js/textareas_admin.js28
-rw-r--r--chimere/widgets.py20
4 files changed, 50 insertions, 11 deletions
diff --git a/chimere/forms.py b/chimere/forms.py
index aedca9b..ea08474 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -35,7 +35,7 @@ from chimere.models import Marker, Route, PropertyModel, Property, Area,\
News, Category, SubCategory, RouteFile, MultimediaFile, MultimediaType, \
PictureFile, Importer
from chimere.widgets import AreaField, PointField, TextareaWidget, \
- DatePickerWidget
+ TextareaAdminWidget, DatePickerWidget
from datetime import timedelta, datetime, tzinfo
@@ -93,7 +93,7 @@ class NewsAdminForm(forms.ModelForm):
"""
Main form for news
"""
- content = forms.CharField(widget=TextareaWidget)
+ content = forms.CharField(widget=TextareaAdminWidget)
class Meta:
model = News
@@ -129,7 +129,7 @@ class CategoryAdminForm(forms.ModelForm):
"""
Main form for categories
"""
- description = forms.CharField(widget=TextareaWidget, required=False)
+ description = forms.CharField(widget=TextareaAdminWidget, required=False)
class Media:
js = list(settings.JQUERY_JS_URLS) + [
'%schimere/js/menu-sort.js' % settings.STATIC_URL,
@@ -141,7 +141,7 @@ class MarkerAdminFormBase(forms.ModelForm):
"""
Main form for marker
"""
- description = forms.CharField(widget=TextareaWidget, required=False)
+ description = forms.CharField(widget=TextareaAdminWidget, required=False)
class Meta:
model = Marker
@@ -230,6 +230,7 @@ class MarkerForm(MarkerAdminForm):
"""
ref_pk = forms.IntegerField(label=u" ", widget=forms.HiddenInput(),
required=False)
+ description = forms.CharField(widget=TextareaWidget, required=False)
class Meta:
model = Marker
exclude = ('status',)
@@ -432,7 +433,7 @@ class AreaAdminForm(forms.ModelForm):
Admin page to create an area
"""
area = AreaField(label=_("Area"), fields=(PointField(), PointField()))
- welcome_message = forms.CharField(widget=TextareaWidget)
+ welcome_message = forms.CharField(widget=TextareaAdminWidget)
class Meta:
model = Area
diff --git a/chimere/static/chimere/js/textareas.js b/chimere/static/chimere/js/textareas.js
index e15e7f2..048718d 100644
--- a/chimere/static/chimere/js/textareas.js
+++ b/chimere/static/chimere/js/textareas.js
@@ -22,7 +22,7 @@ tinyMCE.init({
theme : "advanced",
editor_selector : "mceEditor",
relative_urls : false,
- theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,bullist,numlist,separator,hr,separator,link,image",
+ theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,bullist,numlist,separator,hr,separator,link",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : ""
});
diff --git a/chimere/static/chimere/js/textareas_admin.js b/chimere/static/chimere/js/textareas_admin.js
new file mode 100644
index 0000000..e15e7f2
--- /dev/null
+++ b/chimere/static/chimere/js/textareas_admin.js
@@ -0,0 +1,28 @@
+/* base function shared by some pages */
+/* Copyright (C) 2009 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+See the file COPYING for details.
+*/
+
+tinyMCE.init({
+ mode : "textareas",
+ theme : "advanced",
+ editor_selector : "mceEditor",
+ relative_urls : false,
+ theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,bullist,numlist,separator,hr,separator,link,image",
+ theme_advanced_buttons2 : "",
+ theme_advanced_buttons3 : ""
+});
diff --git a/chimere/widgets.py b/chimere/widgets.py
index f336ee1..826283d 100644
--- a/chimere/widgets.py
+++ b/chimere/widgets.py
@@ -100,13 +100,10 @@ class ChosenSelectWidget(forms.Select):
u"</script>\n" % kwargs['attrs']['id']
return mark_safe(rendered)
-class TextareaWidget(forms.Textarea):
+class TextareaWidgetBase(forms.Textarea):
"""
Manage the edition of a text using TinyMCE
"""
- class Media:
- js = ["%stiny_mce.js" % settings.TINYMCE_URL,
- "%schimere/js/textareas.js" % settings.STATIC_URL,]
def render(self, *args, **kwargs):
if 'attrs' not in kwargs:
kwargs['attrs'] = {}
@@ -115,9 +112,22 @@ class TextareaWidget(forms.Textarea):
else:
kwargs['attrs']['class'] += ' '
kwargs['attrs']['class'] += 'mceEditor'
- rendered = super(TextareaWidget, self).render(*args, **kwargs)
+ rendered = super(TextareaWidgetBase, self).render(*args, **kwargs)
return mark_safe(rendered)
+class TextareaWidget(TextareaWidgetBase):
+ """
+ Manage the edition of a text using TinyMCE
+ """
+ class Media:
+ js = ["%stiny_mce.js" % settings.TINYMCE_URL,
+ "%schimere/js/textareas.js" % settings.STATIC_URL,]
+
+class TextareaAdminWidget(TextareaWidgetBase):
+ class Media:
+ js = ["%stiny_mce.js" % settings.TINYMCE_URL,
+ "%schimere/js/textareas_admin.js" % settings.STATIC_URL,]
+
class DatePickerWidget(forms.TextInput):
"""
Manage the edition of dates.