You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.1 KiB

"""
Abstract base classes and mixins.
"""
from django import forms
from django.conf import settings
from ckeditor_uploader.widgets import CKEditorUploadingWidget
from content_editor.admin import ContentEditorInline
class ContentInlineBase(ContentEditorInline):
"""
Empty definition for later use.
"""
7 years ago
# TODO Use feincms3.plugins.richtext.RichText/RichTextInline instead
if getattr(settings, 'CKEDITOR_UPLOADS', False):
base_classes = [CKEditorUploadingWidget]
else:
base_classes = [forms.Textarea]
class RichTextarea(*base_classes):
def __init__(self, attrs=None):
# Provide class so that the code in plugin_ckeditor.js knows
# which text areas should be enhanced with a rich text
# control:
default_attrs = {'class': 'richtext'}
if attrs:
default_attrs.update(attrs)
super().__init__(default_attrs)
class RichTextInlineBase(ContentInlineBase):
formfield_overrides = {
'richtext': {'widget': RichTextarea},
}
class Media:
js = (
# '//cdn.ckeditor.com/4.5.6/standard/ckeditor.js',
'feincms3/plugin_ckeditor.js',
)