From cb4c28b4deed20215045b61e20d80639c5b9f18d Mon Sep 17 00:00:00 2001 From: Daniel Havlik Date: Wed, 31 Jan 2018 14:52:35 +0100 Subject: [PATCH 001/291] include fanstatic into wsgi pipeline --- buildout.cfg | 3 ++- setup.py | 2 ++ src/Zope2/utilities/skel/etc/zope.ini.in | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/buildout.cfg b/buildout.cfg index d1ad52e3c8..8d21a3cae7 100644 --- a/buildout.cfg +++ b/buildout.cfg @@ -1,7 +1,8 @@ [buildout] extensions = mr.developer -allow-picked-versions = false +allow-picked-versions = true +show-picked-versions = true develop = . extends = sources.cfg diff --git a/setup.py b/setup.py index a0a582c9ad..967f22750a 100644 --- a/setup.py +++ b/setup.py @@ -70,7 +70,9 @@ def _read_file(filename): 'RestrictedPython', 'ZConfig >= 2.9.2', 'ZODB', + 'fanstatic >= 1.0', 'ipaddress', + 'js.jquery', 'setuptools', 'six', 'transaction', diff --git a/src/Zope2/utilities/skel/etc/zope.ini.in b/src/Zope2/utilities/skel/etc/zope.ini.in index c4cef503f3..ef39b5202d 100644 --- a/src/Zope2/utilities/skel/etc/zope.ini.in +++ b/src/Zope2/utilities/skel/etc/zope.ini.in @@ -4,6 +4,7 @@ zope_conf = %(here)s/wsgi.conf [pipeline:main] pipeline = + egg:fanstatic#fanstatic egg:Zope#httpexceptions zope From 807a46958fda48ed9c3bd0a08ed117ae8b8958bd Mon Sep 17 00:00:00 2001 From: Daniel Havlik Date: Wed, 31 Jan 2018 14:53:26 +0100 Subject: [PATCH 002/291] remove not needed js.jquery --- setup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/setup.py b/setup.py index 967f22750a..7ea11021ab 100644 --- a/setup.py +++ b/setup.py @@ -72,7 +72,6 @@ def _read_file(filename): 'ZODB', 'fanstatic >= 1.0', 'ipaddress', - 'js.jquery', 'setuptools', 'six', 'transaction', From 1b04e2cb88830462182dd79ed68bdb0e5edefd13 Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Wed, 31 Jan 2018 17:59:15 +0100 Subject: [PATCH 003/291] Add bootstrap support. --- buildout.cfg | 1 + requirements-full.txt | 3 +++ setup.py | 1 + sources.cfg | 3 +++ versions-prod.cfg | 6 +++++- 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/buildout.cfg b/buildout.cfg index 8d21a3cae7..fff8a6a805 100644 --- a/buildout.cfg +++ b/buildout.cfg @@ -21,6 +21,7 @@ parts = requirements sources-dir = develop auto-checkout = + js.bootstrap [testenv] PYTHONHASHSEED = random diff --git a/requirements-full.txt b/requirements-full.txt index a9cc3f8e6b..92ff551922 100644 --- a/requirements-full.txt +++ b/requirements-full.txt @@ -24,14 +24,17 @@ ZEO==5.2.0 ZODB==5.4.0 ZServer==4.0b1 ; python_version < '3.0' Zope2==4.0b1 +fanstatic==1.0.0 five.globalrequest==99.1 five.localsitemanager==3.0.1 funcsigs==1.0.2 ipaddress==1.0.22 +js.jquery==1.9.1 mock==2.0.0 pbr==4.0.2 persistent==4.2.4.2 pytz==2018.4 +shutilwhich==1.1.0 six==1.11.0 transaction==2.2.1 waitress==1.1.0 diff --git a/setup.py b/setup.py index 7ea11021ab..1a732e1b05 100644 --- a/setup.py +++ b/setup.py @@ -72,6 +72,7 @@ def _read_file(filename): 'ZODB', 'fanstatic >= 1.0', 'ipaddress', + 'js.bootstrap >= 4.0.dev0', 'setuptools', 'six', 'transaction', diff --git a/sources.cfg b/sources.cfg index c7b9d89f6b..86bac8320d 100644 --- a/sources.cfg +++ b/sources.cfg @@ -16,6 +16,9 @@ RestrictedPython = git ${remotes:github}/RestrictedPython pushurl=${remotes:gith zExceptions = git ${remotes:github}/zExceptions pushurl=${remotes:github_push}/zExceptions zope.globalrequest = git ${remotes:github}/zope.globalrequest pushurl=${remotes:github_push}/zope.globalrequest +# Required depencencies +js.bootstrap = git https://github.com/gocept/js.bootstrap4.git branch=bootstrap4 + # Optional dependencies five.localsitemanager = git ${remotes:github}/five.localsitemanager pushurl=${remotes:github_push}/five.localsitemanager Missing = git ${remotes:github}/Missing pushurl=${remotes:github_push}/Missing diff --git a/versions-prod.cfg b/versions-prod.cfg index 5450dbfac8..d479ddc328 100644 --- a/versions-prod.cfg +++ b/versions-prod.cfg @@ -12,12 +12,15 @@ Chameleon = 3.2 DateTime = 4.2 DocumentTemplate = 3.0b3 ExtensionClass = 4.3.0 +fanstatic = 1.0.0 five.globalrequest = 99.1 five.localsitemanager = 3.0.1 funcsigs = 1.0.2 -ipaddress = 1.0.22 +ipaddress = 1.0.22 +js.jquery = 1.9.1 mock = 2.0.0 Missing = 4.0.1 +mock = 2.0.0 MultiMapping = 4.0 PasteDeploy = 1.5.2 pbr = 4.0.2 @@ -29,6 +32,7 @@ Products.ZCTextIndex = 4.0.2 pytz = 2018.4 Record = 3.4 RestrictedPython = 4.0b3 +shutilwhich = 1.1.0 six = 1.11.0 transaction = 2.2.1 waitress = 1.1.0 From f4023cb2dce74eed603e583730b10cfbe5c9675b Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Wed, 31 Jan 2018 18:00:01 +0100 Subject: [PATCH 004/291] Require the bootstrap assets on each page via the header template. Refactor the layout to be like suggested by bootstrap. --- src/App/Management.py | 12 +++++++++--- src/App/dtml/manage_page_footer.dtml | 1 + src/App/dtml/manage_page_header.dtml | 11 ++++++----- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/App/Management.py b/src/App/Management.py index 4cfb4aa5de..2fa24266e8 100644 --- a/src/App/Management.py +++ b/src/App/Management.py @@ -23,6 +23,7 @@ from six.moves.urllib.parse import quote, unquote from zExceptions import Redirect from zope.interface import implementer +import js.bootstrap try: from html import escape @@ -141,9 +142,6 @@ class Navigation(Base): security.declareProtected(view_management_screens, 'manage_menu') manage_menu = DTMLFile('dtml/menu', globals()) - security.declareProtected(view_management_screens, 'manage_page_header') - manage_page_header = DTMLFile('dtml/manage_page_header', globals()) - security.declareProtected(view_management_screens, 'manage_page_footer') manage_page_footer = DTMLFile('dtml/manage_page_footer', globals()) @@ -155,6 +153,14 @@ class Navigation(Base): manage_form_title._setFuncSignature( varnames=('form_title', 'help_product', 'help_topic')) + + _manage_page_header = DTMLFile('dtml/manage_page_header', globals()) + security.declareProtected(view_management_screens, 'manage_page_header') + def manage_page_header(self, *args, **kw): + """manage_page_header.""" + js.bootstrap.bootstrap.need() + return self._manage_page_header(*args, **kw) + security.declarePublic('manage_zmi_logout') def manage_zmi_logout(self, REQUEST, RESPONSE): """Logout current user""" diff --git a/src/App/dtml/manage_page_footer.dtml b/src/App/dtml/manage_page_footer.dtml index 308b1d01b6..f5471aad90 100644 --- a/src/App/dtml/manage_page_footer.dtml +++ b/src/App/dtml/manage_page_footer.dtml @@ -1,2 +1,3 @@ + diff --git a/src/App/dtml/manage_page_header.dtml b/src/App/dtml/manage_page_header.dtml index 1487706d83..66aa9f9c76 100644 --- a/src/App/dtml/manage_page_header.dtml +++ b/src/App/dtml/manage_page_header.dtml @@ -1,13 +1,14 @@ - - + + - + - - - -   - - -   - -   - - - - - - - -  href="&dtml-action;"href="" target="&dtml-target;">  - -  href="&dtml-action;"href="" target="&dtml-target;">  - - - - - - - -   - -   - - - - + -
- - - - -
-
+

&dtml-meta_type; Object - at + at - Locked + Locked -

-
- +

From 027ccb6fb758c00348f0c946cde5ff3e92a362c5 Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Fri, 2 Feb 2018 09:48:09 +0100 Subject: [PATCH 006/291] Switch back to tabs which are actually nicer. --- src/App/dtml/manage_tabs.dtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/App/dtml/manage_tabs.dtml b/src/App/dtml/manage_tabs.dtml index 870ad2c19a..90c2fc47d4 100644 --- a/src/App/dtml/manage_tabs.dtml +++ b/src/App/dtml/manage_tabs.dtml @@ -13,7 +13,7 @@ - + +