diff --git a/src/core/homepage_elements/html/plugin_settings.py b/src/core/homepage_elements/html/plugin_settings.py index b8e20b726..d8f127fca 100755 --- a/src/core/homepage_elements/html/plugin_settings.py +++ b/src/core/homepage_elements/html/plugin_settings.py @@ -19,9 +19,8 @@ def install(): import journal.models as journal_models import press.models as press_models - print('install for html') - - # check whether this homepage element has already been installed for all journals + # check whether this homepage element has + # already been installed for all journals journals = journal_models.Journal.objects.all() for journal in journals: @@ -62,7 +61,12 @@ def install(): models.PluginSetting.objects.get_or_create( name='html_block_content', plugin=plugin, - defaults={'pretty_name': 'HTML Block Content'} + defaults={ + 'pretty_name': 'HTML Block Content', + 'types': 'rich-text', + 'description': DESCRIPTION, + 'is_translatable': True, + } ) diff --git a/src/core/homepage_elements/html/views.py b/src/core/homepage_elements/html/views.py index 2b563ad19..6bc5ed4bc 100755 --- a/src/core/homepage_elements/html/views.py +++ b/src/core/homepage_elements/html/views.py @@ -14,11 +14,34 @@ @editor_user_required def html_settings(request): plugin = models.Plugin.objects.get(name='HTML') - html_block_content = setting_handler.get_plugin_setting(plugin, 'html_block_content', request.journal, create=True, - pretty='HTML Block Content').value + + try: + html_block_content = setting_handler.get_plugin_setting( + plugin, + 'html_block_content', + request.journal, + create=False, + pretty='HTML Block Content' + ).value + except models.PluginSetting.DoesNotExist: + messages.add_message( + request, + messages.ERROR, + "No 'html_block_content' setting found. Have you installed " + "this plugin?", + ) + return redirect( + reverse( + 'home_settings_index', + ) + ) + if request.POST: html_block_content = request.POST.get('html_block_content') - setting_handler.save_plugin_setting(plugin, 'html_block_content', html_block_content, request.journal) + setting_handler.save_plugin_setting(plugin, + 'html_block_content', + html_block_content, + request.journal) messages.add_message(request, messages.INFO, 'HTML Block updated.') return redirect(reverse('home_settings_index'))