From 84bbfa38892348cb0091fd189d26b4222de317e3 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 12 Aug 2020 15:28:33 +0200 Subject: [PATCH 01/15] Update python packages Update python requirements with (cd requirements; rm *.txt; make) This updates Django from version 2.2.9 to version 3.1. This updates Wagtail from version 2.7.1 to version 2.10. The virtual environment can be update to the specified versions with pip-sync requirements/dev.txt --- requirements/base.txt | 64 +++++++++++-------- requirements/dev.txt | 121 ++++++++++++++++++++---------------- requirements/docs.txt | 34 +++++----- requirements/production.txt | 64 +++++++++++-------- requirements/test.txt | 92 ++++++++++++++------------- 5 files changed, 208 insertions(+), 167 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 0d8976a..cfb7408 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -5,39 +5,49 @@ # pip-compile --output-file=base.txt base.in # arrow==0.14.7 # via ics -beautifulsoup4==4.6.0 # via wagtail -certifi==2019.11.28 # via requests +asgiref==3.2.10 # via django +beautifulsoup4==4.8.2 # via wagtail +certifi==2020.6.20 # via requests chardet==3.0.4 # via requests -django-auth-ldap==2.1.0 -django-modelcluster==5.0.1 # via wagtail -django-modeltranslation==0.14.2 # via wagtail-modeltranslation -django-taggit==1.2.0 # via wagtail +django-auth-ldap==2.2.0 +django-filter==2.3.0 # via wagtail +django-modelcluster==5.0.2 # via wagtail +django-modeltranslation==0.15.1 # via wagtail-modeltranslation +django-taggit==1.3.0 # via wagtail django-treebeard==4.3.1 # via wagtail -django==2.2.9 -djangorestframework==3.11.0 # via wagtail +django==3.1 +djangorestframework==3.11.1 # via wagtail draftjs-exporter==2.1.7 # via wagtail -html5lib==1.0.1 # via wagtail -ics==0.6 -idna==2.8 # via requests -markdown==3.1.1 -pillow==6.2.2 # via wagtail -psycopg2-binary==2.8.4 +et-xmlfile==1.0.1 # via openpyxl +html5lib==1.1 # via wagtail +ics==0.7 +idna==2.10 # via requests +importlib-metadata==1.7.0 # via markdown +jdcal==1.4.1 # via openpyxl +l18n==2018.5 # via wagtail +markdown==3.2.2 +openpyxl==3.0.4 # via tablib +pillow==7.2.0 # via wagtail +psycopg2-binary==2.8.5 pyasn1-modules==0.2.8 # via python-ldap pyasn1==0.4.8 # via pyasn1-modules, python-ldap -pygments==2.5.2 +pygments==2.6.1 python-dateutil==2.8.1 # via arrow, ics -python-ldap==3.2.0 # via django-auth-ldap -pytz==2019.3 # via django, django-modelcluster, wagtail -requests==2.22.0 # via wagtail -six==1.14.0 # via django-modeltranslation, html5lib, ics, python-dateutil, wagtail -sqlparse==0.3.0 # via django +python-ldap==3.3.1 # via django-auth-ldap +pytz==2020.1 # via django, django-modelcluster, l18n +requests==2.24.0 # via wagtail +six==1.15.0 # via django-modeltranslation, html5lib, ics, l18n, python-dateutil +soupsieve==2.0.1 # via beautifulsoup4 +sqlparse==0.3.1 # via django +tablib[xls,xlsx]==2.0.0 # via wagtail tatsu==4.4.0 # via ics unidecode==1.1.1 # via wagtail -urllib3==1.25.7 # via requests -wagtail-modeltranslation==0.10.6 -wagtail==2.7.1 +urllib3==1.25.10 # via requests +wagtail-modeltranslation==0.10.13 +wagtail==2.10 webencodings==0.5.1 # via html5lib -willow==1.3 # via wagtail - -# The following packages are considered to be unsafe in a requirements file: -# setuptools +willow==1.4 # via wagtail +xlrd==1.2.0 # via tablib +xlsxwriter==1.3.2 # via wagtail +xlwt==1.3.0 # via tablib +zipp==3.1.0 # via importlib-metadata diff --git a/requirements/dev.txt b/requirements/dev.txt index 269ba27..bfa89fe 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -5,84 +5,97 @@ # pip-compile --output-file=dev.txt dev.in # arrow==0.14.7 -astroid==2.3.3 # via pylint +asgiref==3.2.10 +astroid==2.4.2 # via pylint attrs==19.3.0 -backcall==0.1.0 # via ipython -beautifulsoup4==4.6.0 -certifi==2019.11.28 +backcall==0.2.0 # via ipython +beautifulsoup4==4.8.2 +certifi==2020.6.20 chardet==3.0.4 -click==7.0 # via pip-tools -coverage==5.0.3 -decorator==4.4.1 # via ipython, traitlets -django-auth-ldap==2.1.0 -django-coverage-plugin==1.6.0 -django-debug-toolbar==2.1 -django-modelcluster==5.0.1 -django-modeltranslation==0.14.2 -django-taggit==1.2.0 +click==7.1.2 # via pip-tools +coverage==5.2.1 +decorator==4.4.2 # via ipython, traitlets +django-auth-ldap==2.2.0 +django-coverage-plugin==1.8.0 +django-debug-toolbar==2.2 +django-filter==2.3.0 +django-modelcluster==5.0.2 +django-modeltranslation==0.15.1 +django-taggit==1.3.0 django-treebeard==4.3.1 -django==2.2.9 -djangorestframework==3.11.0 +django==3.1 +djangorestframework==3.11.1 draftjs-exporter==2.1.7 -entrypoints==0.3 +et-xmlfile==1.0.1 factory-boy==2.12.0 -faker==4.0.0 # via factory-boy -flake8==3.7.9 -html5lib==1.0.1 -ics==0.6 -idna==2.8 -importlib-metadata==1.4.0 -ipdb==0.12.3 +faker==4.1.1 # via factory-boy +flake8==3.8.3 +html5lib==1.1 +ics==0.7 +idna==2.10 +importlib-metadata==1.7.0 +iniconfig==1.0.1 +ipdb==0.13.3 ipython-genutils==0.2.0 # via traitlets -ipython==7.11.1 # via ipdb +ipython==7.17.0 # via ipdb isort==4.3.21 # via pylint -jedi==0.15.2 # via ipython +jdcal==1.4.1 +jedi==0.17.2 # via ipython +l18n==2018.5 lazy-object-proxy==1.4.3 # via astroid -markdown==3.1.1 +markdown==3.2.2 mccabe==0.6.1 -more-itertools==8.1.0 -packaging==20.0 -parso==0.5.2 # via jedi -pexpect==4.7.0 # via ipython +more-itertools==8.4.0 +openpyxl==3.0.4 +packaging==20.4 +parso==0.7.1 # via jedi +pexpect==4.8.0 # via ipython pickleshare==0.7.5 # via ipython -pillow==6.2.2 -pip-tools==4.3.0 +pillow==7.2.0 +pip-tools==5.3.1 pluggy==0.13.1 -prompt-toolkit==3.0.2 # via ipython -psycopg2-binary==2.8.4 +prompt-toolkit==3.0.6 # via ipython +psycopg2-binary==2.8.5 ptyprocess==0.6.0 # via pexpect -py==1.8.1 +py==1.9.0 pyasn1-modules==0.2.8 pyasn1==0.4.8 -pycodestyle==2.5.0 +pycodestyle==2.6.0 pydocstyle==5.0.2 # via pylama -pyflakes==2.1.1 -pygments==2.5.2 +pyflakes==2.2.0 +pygments==2.6.1 pylama==7.7.1 -pylint==2.4.4 -pyparsing==2.4.6 -pytest-django==3.8.0 -pytest==5.3.2 +pylint==2.5.3 +pyparsing==2.4.7 +pytest-django==3.9.0 +pytest==6.0.1 python-dateutil==2.8.1 -python-ldap==3.2.0 -pytz==2019.3 -requests==2.22.0 -six==1.14.0 +python-ldap==3.3.1 +pytz==2020.1 +requests==2.24.0 +six==1.15.0 snowballstemmer==2.0.0 # via pydocstyle -sqlparse==0.3.0 +soupsieve==2.0.1 +sqlparse==0.3.1 +tablib[xls,xlsx]==2.0.0 tatsu==4.4.0 text-unidecode==1.3 # via faker +toml==0.10.1 traitlets==4.3.3 # via ipython typed-ast==1.4.1 # via astroid unidecode==1.1.1 -urllib3==1.25.7 -wagtail-modeltranslation==0.10.6 -wagtail==2.7.1 -wcwidth==0.1.8 +urllib3==1.25.10 +wagtail-modeltranslation==0.10.13 +wagtail==2.10 +wcwidth==0.2.5 # via prompt-toolkit webencodings==0.5.1 -willow==1.3 -wrapt==1.11.2 # via astroid -zipp==1.0.0 +willow==1.4 +wrapt==1.12.1 # via astroid +xlrd==1.2.0 +xlsxwriter==1.3.2 +xlwt==1.3.0 +zipp==3.1.0 # The following packages are considered to be unsafe in a requirements file: +# pip # setuptools diff --git a/requirements/docs.txt b/requirements/docs.txt index 23ee50b..c7f170a 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -6,31 +6,31 @@ # alabaster==0.7.12 # via sphinx babel==2.8.0 # via sphinx -certifi==2019.11.28 # via requests +certifi==2020.6.20 # via requests chardet==3.0.4 # via requests commonmark==0.9.1 # via recommonmark docutils==0.16 # via recommonmark, sphinx -idna==2.8 # via requests +idna==2.10 # via requests imagesize==1.2.0 # via sphinx -jinja2==2.10.3 # via sphinx +jinja2==2.11.2 # via sphinx markupsafe==1.1.1 # via jinja2 -packaging==20.0 # via sphinx -pygments==2.5.2 # via sphinx -pyparsing==2.4.6 # via packaging -pytz==2019.3 # via babel +packaging==20.4 # via sphinx +pygments==2.6.1 # via sphinx +pyparsing==2.4.7 # via packaging +pytz==2020.1 # via babel recommonmark==0.6.0 -requests==2.22.0 # via sphinx -six==1.14.0 # via packaging +requests==2.24.0 # via sphinx +six==1.15.0 # via packaging snowballstemmer==2.0.0 # via sphinx -sphinx-rtd-theme==0.4.3 -sphinx==2.3.1 -sphinxcontrib-applehelp==1.0.1 # via sphinx -sphinxcontrib-devhelp==1.0.1 # via sphinx -sphinxcontrib-htmlhelp==1.0.2 # via sphinx +sphinx-rtd-theme==0.5.0 +sphinx==3.2.0 +sphinxcontrib-applehelp==1.0.2 # via sphinx +sphinxcontrib-devhelp==1.0.2 # via sphinx +sphinxcontrib-htmlhelp==1.0.3 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.2 # via sphinx -sphinxcontrib-serializinghtml==1.1.3 # via sphinx -urllib3==1.25.7 # via requests +sphinxcontrib-qthelp==1.0.3 # via sphinx +sphinxcontrib-serializinghtml==1.1.4 # via sphinx +urllib3==1.25.10 # via requests # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/production.txt b/requirements/production.txt index 61e2110..0652fde 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -5,39 +5,49 @@ # pip-compile --output-file=production.txt production.in # arrow==0.14.7 -beautifulsoup4==4.6.0 -certifi==2019.11.28 +asgiref==3.2.10 +beautifulsoup4==4.8.2 +certifi==2020.6.20 chardet==3.0.4 -django-auth-ldap==2.1.0 -django-modelcluster==5.0.1 -django-modeltranslation==0.14.2 -django-taggit==1.2.0 +django-auth-ldap==2.2.0 +django-filter==2.3.0 +django-modelcluster==5.0.2 +django-modeltranslation==0.15.1 +django-taggit==1.3.0 django-treebeard==4.3.1 -django==2.2.9 -djangorestframework==3.11.0 +django==3.1 +djangorestframework==3.11.1 draftjs-exporter==2.1.7 -html5lib==1.0.1 -ics==0.6 -idna==2.8 -markdown==3.1.1 -pillow==6.2.2 -psycopg2-binary==2.8.4 +et-xmlfile==1.0.1 +html5lib==1.1 +ics==0.7 +idna==2.10 +importlib-metadata==1.7.0 +jdcal==1.4.1 +l18n==2018.5 +markdown==3.2.2 +openpyxl==3.0.4 +pillow==7.2.0 +psycopg2-binary==2.8.5 pyasn1-modules==0.2.8 pyasn1==0.4.8 -pygments==2.5.2 +pygments==2.6.1 python-dateutil==2.8.1 -python-ldap==3.2.0 -pytz==2019.3 -requests==2.22.0 -six==1.14.0 -sqlparse==0.3.0 +python-ldap==3.3.1 +pytz==2020.1 +requests==2.24.0 +six==1.15.0 +soupsieve==2.0.1 +sqlparse==0.3.1 +tablib[xls,xlsx]==2.0.0 tatsu==4.4.0 unidecode==1.1.1 -urllib3==1.25.7 -wagtail-modeltranslation==0.10.6 -wagtail==2.7.1 +urllib3==1.25.10 +wagtail-modeltranslation==0.10.13 +wagtail==2.10 webencodings==0.5.1 -willow==1.3 - -# The following packages are considered to be unsafe in a requirements file: -# setuptools +willow==1.4 +xlrd==1.2.0 +xlsxwriter==1.3.2 +xlwt==1.3.0 +zipp==3.1.0 diff --git a/requirements/test.txt b/requirements/test.txt index 0741b4b..06ef5c9 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -5,57 +5,65 @@ # pip-compile --output-file=test.txt test.in # arrow==0.14.7 +asgiref==3.2.10 attrs==19.3.0 # via pytest -beautifulsoup4==4.6.0 -certifi==2019.11.28 +beautifulsoup4==4.8.2 +certifi==2020.6.20 chardet==3.0.4 -coverage==5.0.3 -django-auth-ldap==2.1.0 -django-coverage-plugin==1.6.0 -django-modelcluster==5.0.1 -django-modeltranslation==0.14.2 -django-taggit==1.2.0 +coverage==5.2.1 +django-auth-ldap==2.2.0 +django-coverage-plugin==1.8.0 +django-filter==2.3.0 +django-modelcluster==5.0.2 +django-modeltranslation==0.15.1 +django-taggit==1.3.0 django-treebeard==4.3.1 -django==2.2.9 -djangorestframework==3.11.0 +django==3.1 +djangorestframework==3.11.1 draftjs-exporter==2.1.7 -entrypoints==0.3 # via flake8 -flake8==3.7.9 -html5lib==1.0.1 -ics==0.6 -idna==2.8 -importlib-metadata==1.4.0 # via pluggy, pytest -markdown==3.1.1 +et-xmlfile==1.0.1 +flake8==3.8.3 +html5lib==1.1 +ics==0.7 +idna==2.10 +importlib-metadata==1.7.0 +iniconfig==1.0.1 # via pytest +jdcal==1.4.1 +l18n==2018.5 +markdown==3.2.2 mccabe==0.6.1 # via flake8 -more-itertools==8.1.0 # via pytest, zipp -packaging==20.0 # via pytest -pillow==6.2.2 +more-itertools==8.4.0 # via pytest +openpyxl==3.0.4 +packaging==20.4 # via pytest +pillow==7.2.0 pluggy==0.13.1 # via pytest -psycopg2-binary==2.8.4 -py==1.8.1 # via pytest +psycopg2-binary==2.8.5 +py==1.9.0 # via pytest pyasn1-modules==0.2.8 pyasn1==0.4.8 -pycodestyle==2.5.0 # via flake8 -pyflakes==2.1.1 # via flake8 -pygments==2.5.2 -pyparsing==2.4.6 # via packaging -pytest-django==3.8.0 -pytest==5.3.2 +pycodestyle==2.6.0 # via flake8 +pyflakes==2.2.0 # via flake8 +pygments==2.6.1 +pyparsing==2.4.7 # via packaging +pytest-django==3.9.0 +pytest==6.0.1 python-dateutil==2.8.1 -python-ldap==3.2.0 -pytz==2019.3 -requests==2.22.0 -six==1.14.0 -sqlparse==0.3.0 +python-ldap==3.3.1 +pytz==2020.1 +requests==2.24.0 +six==1.15.0 +soupsieve==2.0.1 +sqlparse==0.3.1 +tablib[xls,xlsx]==2.0.0 tatsu==4.4.0 +toml==0.10.1 # via pytest unidecode==1.1.1 -urllib3==1.25.7 -wagtail-modeltranslation==0.10.6 -wagtail==2.7.1 -wcwidth==0.1.8 # via pytest +urllib3==1.25.10 +wagtail-modeltranslation==0.10.13 +wagtail==2.10 webencodings==0.5.1 -willow==1.3 -zipp==1.0.0 # via importlib-metadata - -# The following packages are considered to be unsafe in a requirements file: -# setuptools +willow==1.4 +xlrd==1.2.0 +xlsxwriter==1.3.2 +xlwt==1.3.0 +zipp==3.1.0 From 73869b2d65061c602fbdc5d46ced181c0c7e64c0 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 12 Aug 2020 15:45:14 +0200 Subject: [PATCH 02/15] Update patches after library update Update our library patches to the package versions installed by the previous commit. The patches should be applied from the virtual environment directory with for f in ../patches/*; do patch -p1 < $f; done --- ...eck-ALLOWED_HOSTS-for-dummy-requests.patch | 8 ++++---- ...s-and-images-support-partial-matches.patch | 20 +++++++++---------- ...snippets-chooser-to-use-autocomplete.patch | 8 ++++---- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/patches/django-Do-not-check-ALLOWED_HOSTS-for-dummy-requests.patch b/patches/django-Do-not-check-ALLOWED_HOSTS-for-dummy-requests.patch index 7b67d90..2624c45 100644 --- a/patches/django-Do-not-check-ALLOWED_HOSTS-for-dummy-requests.patch +++ b/patches/django-Do-not-check-ALLOWED_HOSTS-for-dummy-requests.patch @@ -1,4 +1,4 @@ -From 360f59c74c5a3678c16b8e189a1674451d7adf9e Mon Sep 17 00:00:00 2001 +From 41d351e97c1cc8d8c0bab812eacffb2dcd6e9ad2 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 2 Jan 2020 14:53:04 +0100 Subject: [PATCH] django: Do not check ALLOWED_HOSTS for dummy requests. @@ -13,10 +13,10 @@ handled by django. It is used by wagtail to implement preview. 1 file changed, 3 insertions(+) diff --git a/lib/python3.7/site-packages/django/http/request.py b/lib/python3.7/site-packages/django/http/request.py -index 39298aac..da077044 100644 +index 083bf2d..4b8c9a9 100644 --- a/lib/python3.7/site-packages/django/http/request.py +++ b/lib/python3.7/site-packages/django/http/request.py -@@ -94,6 +94,9 @@ class HttpRequest: +@@ -120,6 +120,9 @@ class HttpRequest: """Return the HTTP host using the environment or request headers.""" host = self._get_raw_host() @@ -27,5 +27,5 @@ index 39298aac..da077044 100644 allowed_hosts = settings.ALLOWED_HOSTS if settings.DEBUG and not allowed_hosts: -- -2.24.1 +2.26.2 diff --git a/patches/documents-and-images-support-partial-matches.patch b/patches/documents-and-images-support-partial-matches.patch index 55e577c..51f6b16 100644 --- a/patches/documents-and-images-support-partial-matches.patch +++ b/patches/documents-and-images-support-partial-matches.patch @@ -1,4 +1,4 @@ -From dc182e0d381c70bed3c5da4e52da265bfe1e4822 Mon Sep 17 00:00:00 2001 +From dffa61c525b20f4c0f28e2cd6c045abb31c424f4 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 2 Jan 2020 15:23:36 +0100 Subject: [PATCH] documents/images: Support partial match on search @@ -19,10 +19,10 @@ This is a workaround and should be replaced by a cleaner approach. 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/python3.7/site-packages/wagtail/documents/views/chooser.py b/lib/python3.7/site-packages/wagtail/documents/views/chooser.py -index c7efb1c..2ecd934 100644 +index 6adc3aa..dee0087 100644 --- a/lib/python3.7/site-packages/wagtail/documents/views/chooser.py +++ b/lib/python3.7/site-packages/wagtail/documents/views/chooser.py -@@ -68,7 +68,7 @@ def chooser(request): +@@ -69,7 +69,7 @@ def chooser(request): if searchform.is_valid(): q = searchform.cleaned_data['q'] @@ -32,10 +32,10 @@ index c7efb1c..2ecd934 100644 else: documents = documents.order_by('-created_at') diff --git a/lib/python3.7/site-packages/wagtail/documents/views/documents.py b/lib/python3.7/site-packages/wagtail/documents/views/documents.py -index 9ea1a24..09ba770 100644 +index 4ce20fe..1228b95 100644 --- a/lib/python3.7/site-packages/wagtail/documents/views/documents.py +++ b/lib/python3.7/site-packages/wagtail/documents/views/documents.py -@@ -52,7 +52,7 @@ def index(request): +@@ -53,7 +53,7 @@ def index(request): form = SearchForm(request.GET, placeholder=_("Search documents")) if form.is_valid(): query_string = form.cleaned_data['q'] @@ -45,10 +45,10 @@ index 9ea1a24..09ba770 100644 form = SearchForm(placeholder=_("Search documents")) diff --git a/lib/python3.7/site-packages/wagtail/images/views/chooser.py b/lib/python3.7/site-packages/wagtail/images/views/chooser.py -index 262b61f..910821d 100644 +index b36095e..b576f5d 100644 --- a/lib/python3.7/site-packages/wagtail/images/views/chooser.py +++ b/lib/python3.7/site-packages/wagtail/images/views/chooser.py -@@ -98,7 +98,7 @@ def chooser(request): +@@ -99,7 +99,7 @@ def chooser(request): if searchform.is_valid(): q = searchform.cleaned_data['q'] @@ -58,10 +58,10 @@ index 262b61f..910821d 100644 else: is_searching = False diff --git a/lib/python3.7/site-packages/wagtail/images/views/images.py b/lib/python3.7/site-packages/wagtail/images/views/images.py -index 3246ccb..bd0e9ea 100644 +index edb1c40..e030224 100644 --- a/lib/python3.7/site-packages/wagtail/images/views/images.py +++ b/lib/python3.7/site-packages/wagtail/images/views/images.py -@@ -45,7 +45,7 @@ def index(request): +@@ -46,7 +46,7 @@ def index(request): if form.is_valid(): query_string = form.cleaned_data['q'] @@ -71,5 +71,5 @@ index 3246ccb..bd0e9ea 100644 form = SearchForm(placeholder=_("Search images")) -- -2.24.1 +2.26.2 diff --git a/patches/hack-snippets-chooser-to-use-autocomplete.patch b/patches/hack-snippets-chooser-to-use-autocomplete.patch index b3fc226..c2de5b9 100644 --- a/patches/hack-snippets-chooser-to-use-autocomplete.patch +++ b/patches/hack-snippets-chooser-to-use-autocomplete.patch @@ -1,4 +1,4 @@ -From d1f371bdcb803d06447999e1cf3e934da9297168 Mon Sep 17 00:00:00 2001 +From 740a083bf5879e37a35e510e1da789cc441040d8 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 19 Nov 2019 15:27:16 +0100 Subject: [PATCH] Hack snippets chooser to use autocomplete @@ -12,10 +12,10 @@ Try to get away with changing the Chooserd to use autocomplete(). 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/python3.7/site-packages/wagtail/snippets/views/chooser.py b/lib/python3.7/site-packages/wagtail/snippets/views/chooser.py -index adffdef..74de073 100644 +index 7c93edd..66ece97 100644 --- a/lib/python3.7/site-packages/wagtail/snippets/views/chooser.py +++ b/lib/python3.7/site-packages/wagtail/snippets/views/chooser.py -@@ -34,7 +34,7 @@ def choose(request, app_label, model_name): +@@ -35,7 +35,7 @@ def choose(request, app_label, model_name): search_query = search_form.cleaned_data['q'] search_backend = get_search_backend() @@ -25,5 +25,5 @@ index adffdef..74de073 100644 else: -- -2.22.0 +2.26.2 From ace029b1fd3db203f6297c93a1724bac468f22b0 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 12 Aug 2020 15:56:36 +0200 Subject: [PATCH 03/15] Update permission_required to current Wagtail API Wagtails permission_required has been moved from wagtail.admin.utils to wagtail.admin.auth [1]. Use new package name. [1] https://docs.wagtail.io/en/stable/releases/2.7.html. --- mpicms/users/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpicms/users/views.py b/mpicms/users/views.py index 7646777..b1f7fd2 100644 --- a/mpicms/users/views.py +++ b/mpicms/users/views.py @@ -4,7 +4,7 @@ from django.utils.translation import ugettext as _ from wagtail.admin import messages -from wagtail.admin.utils import permission_required +from wagtail.admin.auth import permission_required from wagtail.core import hooks from wagtail.users.views.users import User, change_user_perm, get_user_edit_form From 566509bc6a3a03f3fddf2411b1af9d702458bbf7 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 12 Aug 2020 16:04:17 +0200 Subject: [PATCH 04/15] Update to current wagtail.api.v2 API Some names in wagtail.api.v2 have changed ([1] vs [2]) Update our source accordingly. [1] https://docs.wagtail.io/en/v2.0/advanced_topics/api/v2/configuration.html [2] https://docs.wagtail.io/en/v2.10/advanced_topics/api/v2/configuration.html --- mpicms/base/api.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mpicms/base/api.py b/mpicms/base/api.py index 68b980c..d55a989 100644 --- a/mpicms/base/api.py +++ b/mpicms/base/api.py @@ -1,11 +1,11 @@ -from wagtail.api.v2.endpoints import PagesAPIEndpoint +from wagtail.api.v2.views import PagesAPIViewSet from wagtail.api.v2.router import WagtailAPIRouter -from wagtail.images.api.v2.endpoints import ImagesAPIEndpoint -from wagtail.documents.api.v2.endpoints import DocumentsAPIEndpoint +from wagtail.images.api.v2.views import ImagesAPIViewSet +from wagtail.documents.api.v2.views import DocumentsAPIViewSet api_router = WagtailAPIRouter('wagtailapi') -api_router.register_endpoint('pages', PagesAPIEndpoint) -api_router.register_endpoint('images', ImagesAPIEndpoint) -api_router.register_endpoint('documents', DocumentsAPIEndpoint) +api_router.register_endpoint('pages', PagesAPIViewSet) +api_router.register_endpoint('images', ImagesAPIViewSet) +api_router.register_endpoint('documents', DocumentsAPIViewSet) From 895413fb2bc9156fd2ed57e1b0640f89bc5d0764 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 12 Aug 2020 16:06:36 +0200 Subject: [PATCH 05/15] Add migrations after library update Create migrations with ./manage.py makemigrations --- .../migrations/0052_formfield_clean_name.py | 18 ++++++++++++++++++ .../migrations/0004_auto_20200812_1604.py | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 mpicms/base/migrations/0052_formfield_clean_name.py create mode 100644 mpicms/contrib/sites/migrations/0004_auto_20200812_1604.py diff --git a/mpicms/base/migrations/0052_formfield_clean_name.py b/mpicms/base/migrations/0052_formfield_clean_name.py new file mode 100644 index 0000000..f95f09d --- /dev/null +++ b/mpicms/base/migrations/0052_formfield_clean_name.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1 on 2020-08-12 14:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0051_formfield_formpage'), + ] + + operations = [ + migrations.AddField( + model_name='formfield', + name='clean_name', + field=models.CharField(blank=True, default='', help_text='Safe name of the form field, the label converted to ascii_snake_case', max_length=255, verbose_name='name'), + ), + ] diff --git a/mpicms/contrib/sites/migrations/0004_auto_20200812_1604.py b/mpicms/contrib/sites/migrations/0004_auto_20200812_1604.py new file mode 100644 index 0000000..ab5e7fa --- /dev/null +++ b/mpicms/contrib/sites/migrations/0004_auto_20200812_1604.py @@ -0,0 +1,17 @@ +# Generated by Django 3.1 on 2020-08-12 14:04 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('sites', '0003_set_site_domain_and_name'), + ] + + operations = [ + migrations.AlterModelOptions( + name='site', + options={'ordering': ['domain'], 'verbose_name': 'site', 'verbose_name_plural': 'sites'}, + ), + ] From 13bbfea9b0422aa1251093911e23d6ccd4528329 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 12 Aug 2020 16:25:10 +0200 Subject: [PATCH 06/15] Remove obsolete Wagtail SiteMiddleware The SiteMiddlware is obsoleted [1]. Use wagtail_site tag instead. [1] https://docs.wagtail.io/en/stable/releases/2.9.html --- config/settings/base.py | 1 - mpicms/templates/footer.html | 6 +++--- mpicms/templates/menus/main.html | 9 +++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/config/settings/base.py b/config/settings/base.py index 8b57606..36d0187 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -131,7 +131,6 @@ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'wagtail.core.middleware.SiteMiddleware', 'wagtail.contrib.redirects.middleware.RedirectMiddleware', ] diff --git a/mpicms/templates/footer.html b/mpicms/templates/footer.html index 2bd22ae..be7774e 100644 --- a/mpicms/templates/footer.html +++ b/mpicms/templates/footer.html @@ -1,5 +1,5 @@ -{% load i18n %} - +{% load i18n wagtailcore_tags %} +{% wagtail_site as current_site %} @@ -7,7 +7,7 @@
- {% with request.site.root_page.specific.footer_items as footer_items %} + {% with current_site.root_page.specific.footer_items as footer_items %} {% for menu in footer_items %}