From bc6af3309fa3b031bb6591fd8e039d798efd4535 Mon Sep 17 00:00:00 2001 From: Andrew Aikman Date: Tue, 30 Nov 2021 11:13:47 +0000 Subject: [PATCH 1/6] Added aldryn config env to the setting DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID --- aldryn_config.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/aldryn_config.py b/aldryn_config.py index 3e532b2c..72caf1a5 100644 --- a/aldryn_config.py +++ b/aldryn_config.py @@ -1,3 +1,5 @@ +from functools import partial + from aldryn_client import forms @@ -17,6 +19,15 @@ class Form(forms.BaseForm): ) def to_settings(self, data, settings): + from aldryn_addons.utils import djsenv + + env = partial(djsenv, settings=settings) + + settings['DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID'] = env( + 'DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID', + default=settings['DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID'] + ) + if data['editor_theme']: settings['DJANGOCMS_SNIPPET_THEME'] = data['editor_theme'] if data['editor_mode']: From de837f69d3ffc705b6ece27ceab6da904e0a33fa Mon Sep 17 00:00:00 2001 From: Andrew Aikman Date: Tue, 30 Nov 2021 11:21:38 +0000 Subject: [PATCH 2/6] Added the chnagelog entry --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 06cd54cf..44c86be5 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,7 @@ Changelog Unreleased ================== +* feat: Exposed the setting DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID as an environment variable for the Divio addon * fix: Error when rendering a Draft Snippet plugin on a Published page * fix: Publish snippets by default as they were already in that state pre-versioning and cleanup unnecessary migration files before release! * feat: djangocms-versioning support added, including model restructure and configuration From a770387169e7af7c0a37860a35dee0ac53542f2b Mon Sep 17 00:00:00 2001 From: Andrew Aikman Date: Tue, 30 Nov 2021 12:12:02 +0000 Subject: [PATCH 3/6] Sidetrack error --- aldryn_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aldryn_config.py b/aldryn_config.py index 72caf1a5..7daccea1 100644 --- a/aldryn_config.py +++ b/aldryn_config.py @@ -25,7 +25,7 @@ def to_settings(self, data, settings): settings['DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID'] = env( 'DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID', - default=settings['DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID'] + default=None ) if data['editor_theme']: From 1e8b412ed9ca948adddaf97249053d1f1af2bf93 Mon Sep 17 00:00:00 2001 From: Andrew Aikman Date: Tue, 30 Nov 2021 13:18:54 +0000 Subject: [PATCH 4/6] Only override the setting if the env var is set --- aldryn_config.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/aldryn_config.py b/aldryn_config.py index 7daccea1..d65c0936 100644 --- a/aldryn_config.py +++ b/aldryn_config.py @@ -23,10 +23,13 @@ def to_settings(self, data, settings): env = partial(djsenv, settings=settings) - settings['DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID'] = env( + # Get a migration user if the env setting has been added + migration_user_id = env( 'DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID', - default=None + default=False ) + if migration_user_id: + settings['DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID'] = migration_user_id if data['editor_theme']: settings['DJANGOCMS_SNIPPET_THEME'] = data['editor_theme'] From 5ac6275d44c8d73738b9daacc3af416d3d56c524 Mon Sep 17 00:00:00 2001 From: Andrew Aikman Date: Tue, 30 Nov 2021 13:19:49 +0000 Subject: [PATCH 5/6] Protect the entry by forcing it as an int --- aldryn_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aldryn_config.py b/aldryn_config.py index d65c0936..c97e8a56 100644 --- a/aldryn_config.py +++ b/aldryn_config.py @@ -29,7 +29,7 @@ def to_settings(self, data, settings): default=False ) if migration_user_id: - settings['DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID'] = migration_user_id + settings['DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID'] = int(migration_user_id) if data['editor_theme']: settings['DJANGOCMS_SNIPPET_THEME'] = data['editor_theme'] From 66e4e81c04a207d248771e7cab5c29e303f2314c Mon Sep 17 00:00:00 2001 From: Andrew Aikman Date: Tue, 30 Nov 2021 13:52:41 +0000 Subject: [PATCH 6/6] Added Readme --- README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/README.rst b/README.rst index 6cedd459..4fe1bf5a 100644 --- a/README.rst +++ b/README.rst @@ -82,6 +82,7 @@ please set ``DJANGOCMS_SNIPPET_CACHE`` to ``False`` in your settings:: Migration 0010 requires the use of a user in order to create versions for existing snippets (if djangocms_versioning is installed and enabled), a user can be chosen with the setting ``DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID``, the default is 1. +This setting is also exposed as an Environment variable for Divio projects using the Divio addon. DJANGOCMS_SNIPPET_VERSIONING_MIGRATION_USER_ID = 2 # Will use user with id: 2