From c5ee423f90bcb2d9d3b37b3f17a403ec8af88873 Mon Sep 17 00:00:00 2001 From: Simon Caminada Date: Thu, 15 Mar 2018 11:21:23 +0000 Subject: [PATCH] install djangocms-text-ckeditor 3.5.3 --- addons/djangocms-text-ckeditor/addon.json | 6 +++ .../djangocms-text-ckeditor/aldryn_config.py | 50 +++++++++++++++++++ addons/djangocms-text-ckeditor/settings.json | 4 ++ requirements.in | 1 + settings.py | 1 + 5 files changed, 62 insertions(+) create mode 100644 addons/djangocms-text-ckeditor/addon.json create mode 100644 addons/djangocms-text-ckeditor/aldryn_config.py create mode 100644 addons/djangocms-text-ckeditor/settings.json diff --git a/addons/djangocms-text-ckeditor/addon.json b/addons/djangocms-text-ckeditor/addon.json new file mode 100644 index 0000000..7678082 --- /dev/null +++ b/addons/djangocms-text-ckeditor/addon.json @@ -0,0 +1,6 @@ +{ + "installed-apps": [ + "djangocms_text_ckeditor" + ], + "package-name": "djangocms-text-ckeditor" +} \ No newline at end of file diff --git a/addons/djangocms-text-ckeditor/aldryn_config.py b/addons/djangocms-text-ckeditor/aldryn_config.py new file mode 100644 index 0000000..8ff9e40 --- /dev/null +++ b/addons/djangocms-text-ckeditor/aldryn_config.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +from aldryn_client import forms + + +class Form(forms.BaseForm): + style_set = forms.CharField( + 'The "styles definition set" to use in the editor', + required=False, + ) + content_css = forms.CharField( + 'List of CSS files to be used to apply style to editor content', + required=False, + ) + + def clean(self): + data = super(Form, self).clean() + + if data.get('content_css'): + files = data['content_css'].split(',') + data['content_css'] = [item.strip() for item in files if item] + return data + + def to_settings(self, data, settings): + # boilerplate must provide /static/js/modules/ckeditor.wysiwyg.js and /static/css/base.css + CKEDITOR_SETTINGS = { + 'height': 300, + 'language': '{{ language }}', + 'toolbar': 'CMS', + 'skin': 'moono-lisa', + } + + # This could fail if aldryn-django-cms has not been configured yet. + boilerplate_name = settings['ALDRYN_BOILERPLATE_NAME'] + + if data.get('content_css'): + CKEDITOR_SETTINGS['contentsCss'] = data['content_css'] + else: + CKEDITOR_SETTINGS['contentsCss'] = ['/static/css/base.css'] + + if data.get('style_set'): + style_set = data['style_set'] + elif boilerplate_name == 'bootstrap3': + style_set = '/static/js/addons/ckeditor.wysiwyg.js' + else: + style_set = '' + + CKEDITOR_SETTINGS['stylesSet'] = 'default:{}'.format(style_set) + + settings['CKEDITOR_SETTINGS'] = CKEDITOR_SETTINGS + return settings diff --git a/addons/djangocms-text-ckeditor/settings.json b/addons/djangocms-text-ckeditor/settings.json new file mode 100644 index 0000000..62c2556 --- /dev/null +++ b/addons/djangocms-text-ckeditor/settings.json @@ -0,0 +1,4 @@ +{ + "content_css": null, + "style_set": null +} \ No newline at end of file diff --git a/requirements.in b/requirements.in index 8766aa9..37bcd08 100644 --- a/requirements.in +++ b/requirements.in @@ -2,5 +2,6 @@ https://control.divio.com/api/v1/apps/serve/aldryn-addons/1.0.2/24f5d1c8-66fe-43b2-a540-17d61045a72b/aldryn-addons-1.0.2.tar.gz#egg=aldryn-addons==1.0.2 https://control.divio.com/api/v1/apps/serve/aldryn-django/1.8.19.1/5dfa4420-e075-4377-a4b7-9feeaa3f5efb/aldryn-django-1.8.19.1.tar.gz#egg=aldryn-django==1.8.19.1 https://control.divio.com/api/v1/apps/serve/aldryn-sso/1.1.16/dbe0c45a-c981-4beb-8624-b0d2c4196aa0/aldryn-sso-1.1.16.tar.gz#egg=aldryn-sso==1.1.16 +https://control.divio.com/api/v1/apps/serve/djangocms-text-ckeditor/3.5.3/a7b5179f-cea5-4af8-b235-6b7f709c4e6a/djangocms-text-ckeditor-3.5.3.tar.gz#egg=djangocms-text-ckeditor==3.5.3 https://control.divio.com/api/v1/apps/serve/django-filer/1.3.0.1/bcb7d25b-6922-48a9-a252-9bc165f6403e/django-filer-1.3.0.1.tar.gz#egg=django-filer==1.3.0.1 # diff --git a/settings.py b/settings.py index fa2df1d..da1e501 100644 --- a/settings.py +++ b/settings.py @@ -5,6 +5,7 @@ INSTALLED_ADDONS = [ 'aldryn-addons', 'aldryn-django', 'aldryn-sso', + 'djangocms-text-ckeditor', 'django-filer', # ]