Skip to content

Commit

Permalink
[fc] Repository: plone.app.versioningbehavior
Browse files Browse the repository at this point in the history
Branch: refs/heads/master
Date: 2018-10-17T10:11:22+02:00
Author: Gil Forcada (gforcada) <gil.gnome@gmail.com>
Commit: plone/plone.app.versioningbehavior@1277e50

Drop zope.app.intid dependency

Files changed:
M CHANGES.rst
M plone/app/versioningbehavior/tests/test_modifiers.py
M setup.py
Repository: plone.app.versioningbehavior

Branch: refs/heads/master
Date: 2018-10-17T10:32:49+02:00
Author: Markus Hilbert (iham) <markus.hilbert@iham.at>
Commit: plone/plone.app.versioningbehavior@3639dd5

Made writing Blob less aggressive. (issue #42)

Files changed:
M CHANGES.rst
M plone/app/versioningbehavior/modifiers.py
Repository: plone.app.versioningbehavior

Branch: refs/heads/master
Date: 2018-10-17T10:33:29+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.versioningbehavior@9ee6780

Merge branch 'master' into issue_42

Files changed:

Repository: plone.app.versioningbehavior

Branch: refs/heads/master
Date: 2018-10-23T10:31:56+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/plone.app.versioningbehavior@d71b8a6

Merge pull request #43 from plone/issue_42

Made writing Blob less aggressive. (issue #42)

Files changed:
M CHANGES.rst
M plone/app/versioningbehavior/modifiers.py
  • Loading branch information
jensens committed Oct 23, 2018
1 parent b582b9b commit 777a635
Showing 1 changed file with 34 additions and 35 deletions.
69 changes: 34 additions & 35 deletions last_commit.txt
Original file line number Diff line number Diff line change
@@ -1,67 +1,66 @@
Repository: plone.app.layout
Repository: plone.app.versioningbehavior


Branch: refs/heads/2.5.x
Date: 2018-10-13T08:47:57-03:00
Author: Johannes Raggam (thet) <thetetet@gmail.com>
Commit: https://github.com/plone/plone.app.layout/commit/e08fae8f33c1fb2853db54056840c943ce0a3d57
Branch: refs/heads/master
Date: 2018-10-17T10:11:22+02:00
Author: Gil Forcada (gforcada) <gil.gnome@gmail.com>
Commit: https://github.com/plone/plone.app.versioningbehavior/commit/1277e50edad33a2703091ab02f6cadbe9ee91ab4

Allow addition of extra body classes via multiple ``IBodyClassAdapter`` adapter registrations without the need to overload the ILayoutPolicy view.
Drop zope.app.intid dependency

Files changed:
M CHANGES.rst
M plone/app/layout/globals/interfaces.py
M plone/app/layout/globals/layout.py
M plone/app/versioningbehavior/tests/test_modifiers.py
M setup.py

b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex c8ec450..13ba161 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -10,7 +10,8 @@ Breaking changes:\n \n New features:\n \n-- *add item here*\n+- Allow addition of extra body classes via multiple IBodyClassAdapter adapter registrations without the need to overload the ILayoutPolicy view.\n+ [thet, jensens, agitator]\n \n Bug fixes:\n \ndiff --git a/plone/app/layout/globals/interfaces.py b/plone/app/layout/globals/interfaces.py\nindex ed8f4c4..212264c 100644\n--- a/plone/app/layout/globals/interfaces.py\n+++ b/plone/app/layout/globals/interfaces.py\n@@ -275,6 +275,11 @@ class IViewView(Interface):\n """\n \n \n+class IBodyClassAdapter(Interface):\n+ """Adapter interface for retrieving extra body classes.\n+ """\n+\n+\n class IPatternsSettingsRenderer(Interface):\n """ Interface for the adapter that renders the settings for patterns\n """\ndiff --git a/plone/app/layout/globals/layout.py b/plone/app/layout/globals/layout.py\nindex 9847879..8b821c1 100644\n--- a/plone/app/layout/globals/layout.py\n+++ b/plone/app/layout/globals/layout.py\n@@ -5,6 +5,7 @@\n from Products.CMFPlone.interfaces.controlpanel import ISiteSchema\n from Products.Five.browser.metaconfigure import ViewMixinForTemplates\n from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile\n+from plone.app.layout.globals.interfaces import IBodyClassAdapter\n from plone.app.layout.globals.interfaces import ILayoutPolicy\n from plone.app.layout.globals.interfaces import IViewView\n from plone.app.layout.icons.interfaces import IContentIcon\n@@ -16,12 +17,15 @@\n from zope.browserpage.viewpagetemplatefile import (\n ViewPageTemplateFile as ZopeViewPageTemplateFile\n )\n+from zope.component import adapter\n+from zope.component import getAdapters\n from zope.component import getMultiAdapter\n from zope.component import getUtility\n from zope.component import queryMultiAdapter\n from zope.component import queryUtility\n from zope.interface import alsoProvides\n from zope.interface import implements\n+from zope.interface import Interface\n from zope.publisher.browser import BrowserView\n \n \n@@ -268,4 +272,30 @@ def bodyClass(self, template, view):\n if msl or elonw:\n body_classes.append(\'pat-markspeciallinks\')\n \n+ # Add externally defined extra body classes\n+ body_class_adapters = getAdapters(\n+ (self.context, self.request),\n+ IBodyClassAdapter\n+ )\n+ for name, body_class_adapter in body_class_adapters:\n+ extra_classes = body_class_adapter.get_classes() or []\n+ if isinstance(extra_classes, basestring):\n+ extra_classes = extra_classes.split(\' \')\n+ body_classes.extend(extra_classes)\n+\n return \' \'.join(body_classes)\n+\n+\n+@adapter(Interface)\n+class DefaultBodyClasses(object):\n+\n+ implements(IBodyClassAdapter)\n+\n+ def __init__(self, context, request):\n+ self.context = context\n+ self.request = request\n+\n+ def get_classes(self):\n+ """Default body classes adapter.\n+ """\n+ return []\n'
b"diff --git a/CHANGES.rst b/CHANGES.rst\nindex 24d2105..a81df80 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -14,8 +14,8 @@ New features:\n \n Bug fixes:\n \n-- *add item here*\n-\n+- Remove (testing) dependency on zope.app.intid.\n+ [gforcada]\n \n 1.3.4 (2018-09-25)\n ------------------\ndiff --git a/plone/app/versioningbehavior/tests/test_modifiers.py b/plone/app/versioningbehavior/tests/test_modifiers.py\nindex 1a3c38e..56c27dd 100644\n--- a/plone/app/versioningbehavior/tests/test_modifiers.py\n+++ b/plone/app/versioningbehavior/tests/test_modifiers.py\n@@ -18,11 +18,11 @@\n from z3c.relationfield.schema import RelationChoice\n from z3c.relationfield.schema import RelationList\n from ZODB.interfaces import IBlob\n-from zope.app.intid.interfaces import IIntIds\n from zope.component import getUtility\n from zope.configuration import xmlconfig\n from zope.interface import alsoProvides\n from zope.interface import Interface\n+from zope.intid.interfaces import IIntIds\n \n import unittest\n \n@@ -210,10 +210,6 @@ def testRelations(self):\n )\n self.portal.portal_types._setObject('RelationsType', rel_fti)\n \n- # Setup IIntIds utility which is required for relations to work\n- from five.intid import site\n- from zope.app.intid.interfaces import IIntIds\n- site.add_intids(self.portal)\n intids = getUtility(IIntIds)\n \n source = createContentInContainer(self.portal, 'RelationsType')\n@@ -284,9 +280,6 @@ def register_RelationsType(self):\n )\n self.portal.portal_types._setObject('RelationsType', rel_fti)\n \n- # Setup IIntIds utility which is required for relations to work\n- site.add_intids(self.portal)\n-\n def testRelationsInBehaviors(self):\n self.register_RelationsType()\n intids = getUtility(IIntIds)\ndiff --git a/setup.py b/setup.py\nindex 1aa4ec7..d659f80 100644\n--- a/setup.py\n+++ b/setup.py\n@@ -15,7 +15,6 @@\n 'plone.app.dexterity',\n 'plone.app.testing',\n 'plone.namedfile[blobs]',\n- 'zope.app.intid',\n ]\n \n setup(\n"

Repository: plone.app.layout
Repository: plone.app.versioningbehavior


Branch: refs/heads/2.5.x
Date: 2018-10-13T08:51:52-03:00
Author: Rodrigo Ferreira de Souza (rodfersou) <rodfersou@gmail.com>
Commit: https://github.com/plone/plone.app.layout/commit/6d25294aff52f2be261756beef6ebb9837033aab
Branch: refs/heads/master
Date: 2018-10-17T10:32:49+02:00
Author: Markus Hilbert (iham) <markus.hilbert@iham.at>
Commit: https://github.com/plone/plone.app.versioningbehavior/commit/3639dd596f3d00f5edc1c347c0fb60b6df8cbafd

Add template and view arguments support to IBodyClassAdapters
Made writing Blob less aggressive. (issue #42)

Files changed:
M CHANGES.rst
M plone/app/layout/globals/layout.py
M plone/app/versioningbehavior/modifiers.py

b"diff --git a/CHANGES.rst b/CHANGES.rst\nindex 13ba161..0c1821a 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -15,7 +15,8 @@ New features:\n \n Bug fixes:\n \n-- *add item here*\n+- Add template and view arguments support to IBodyClassAdapters (fixes `#158 <https://github.com/plone/plone.app.layout/issues/158>`_).\n+ [rodfersou]\n \n \n 2.5.23 (2017-01-17)\ndiff --git a/plone/app/layout/globals/layout.py b/plone/app/layout/globals/layout.py\nindex 8b821c1..aef7aa3 100644\n--- a/plone/app/layout/globals/layout.py\n+++ b/plone/app/layout/globals/layout.py\n@@ -278,7 +278,10 @@ def bodyClass(self, template, view):\n IBodyClassAdapter\n )\n for name, body_class_adapter in body_class_adapters:\n- extra_classes = body_class_adapter.get_classes() or []\n+ try:\n+ extra_classes = body_class_adapter.get_classes(template, view) or []\n+ except TypeError: # This adapter is implemented without arguments\n+ extra_classes = body_class_adapter.get_classes() or []\n if isinstance(extra_classes, basestring):\n extra_classes = extra_classes.split(' ')\n body_classes.extend(extra_classes)\n"
b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex a81df80..bc48890 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -14,6 +14,9 @@ New features:\n \n Bug fixes:\n \n+- Made writing Blob less aggressive.(issue #42)\n+ [iham]\n+\n - Remove (testing) dependency on zope.app.intid.\n [gforcada]\n \ndiff --git a/plone/app/versioningbehavior/modifiers.py b/plone/app/versioningbehavior/modifiers.py\nindex 5e53e2f..1be71f4 100644\n--- a/plone/app/versioningbehavior/modifiers.py\n+++ b/plone/app/versioningbehavior/modifiers.py\n@@ -171,7 +171,9 @@ def reattachReferencedAttributes(self, obj, attrs_dict):\n fname = name.split(\'.\')[-1]\n field = iface.get(fname)\n if field is not None: # Field may have been removed from schema\n- field.get(iface(obj))._blob = blob\n+ adapted_field = field.get(iface(obj))\n+ if adapted_field:\n+ adapted_field._blob = blob\n \n def getOnCloneModifiers(self, obj):\n """Removes references to blobs.\n'

Repository: plone.app.layout
Repository: plone.app.versioningbehavior


Branch: refs/heads/2.5.x
Date: 2018-10-13T08:56:20-03:00
Author: Rodrigo Ferreira de Souza (rodfersou) <rodfersou@gmail.com>
Commit: https://github.com/plone/plone.app.layout/commit/fbff1e6a7fa1490dea246688f59a269004451d4b
Branch: refs/heads/master
Date: 2018-10-17T10:33:29+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: https://github.com/plone/plone.app.versioningbehavior/commit/9ee67806844d294eb7fdd73b396a36b8b9cb95df

Code review
Merge branch 'master' into issue_42

Files changed:
M plone/app/layout/globals/layout.py

b'diff --git a/plone/app/layout/globals/layout.py b/plone/app/layout/globals/layout.py\nindex aef7aa3..2483649 100644\n--- a/plone/app/layout/globals/layout.py\n+++ b/plone/app/layout/globals/layout.py\n@@ -298,7 +298,7 @@ def __init__(self, context, request):\n self.context = context\n self.request = request\n \n- def get_classes(self):\n+ def get_classes(self, template, view):\n """Default body classes adapter.\n """\n return []\n'

Repository: plone.app.layout
b''

Repository: plone.app.versioningbehavior

Branch: refs/heads/2.5.x
Date: 2018-10-18T22:57:08+02:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: https://github.com/plone/plone.app.layout/commit/022a709f38ca0d6a885c2ab5dc8fef98e0b05df2

Merge pull request #168 from plone/rodfersou/158-250
Branch: refs/heads/master
Date: 2018-10-23T10:31:56+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: https://github.com/plone/plone.app.versioningbehavior/commit/d71b8a6094c827d99e97ab875c9f6c373322215e

5.0.x - Add template and view arguments support to IBodyClassAdapters
Merge pull request #43 from plone/issue_42

Made writing Blob less aggressive. (issue #42)

Files changed:
M CHANGES.rst
M plone/app/layout/globals/interfaces.py
M plone/app/layout/globals/layout.py
M plone/app/versioningbehavior/modifiers.py

b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex c8ec450..0c1821a 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -10,11 +10,13 @@ Breaking changes:\n \n New features:\n \n-- *add item here*\n+- Allow addition of extra body classes via multiple IBodyClassAdapter adapter registrations without the need to overload the ILayoutPolicy view.\n+ [thet, jensens, agitator]\n \n Bug fixes:\n \n-- *add item here*\n+- Add template and view arguments support to IBodyClassAdapters (fixes `#158 <https://github.com/plone/plone.app.layout/issues/158>`_).\n+ [rodfersou]\n \n \n 2.5.23 (2017-01-17)\ndiff --git a/plone/app/layout/globals/interfaces.py b/plone/app/layout/globals/interfaces.py\nindex ed8f4c4..212264c 100644\n--- a/plone/app/layout/globals/interfaces.py\n+++ b/plone/app/layout/globals/interfaces.py\n@@ -275,6 +275,11 @@ class IViewView(Interface):\n """\n \n \n+class IBodyClassAdapter(Interface):\n+ """Adapter interface for retrieving extra body classes.\n+ """\n+\n+\n class IPatternsSettingsRenderer(Interface):\n """ Interface for the adapter that renders the settings for patterns\n """\ndiff --git a/plone/app/layout/globals/layout.py b/plone/app/layout/globals/layout.py\nindex 9847879..2483649 100644\n--- a/plone/app/layout/globals/layout.py\n+++ b/plone/app/layout/globals/layout.py\n@@ -5,6 +5,7 @@\n from Products.CMFPlone.interfaces.controlpanel import ISiteSchema\n from Products.Five.browser.metaconfigure import ViewMixinForTemplates\n from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile\n+from plone.app.layout.globals.interfaces import IBodyClassAdapter\n from plone.app.layout.globals.interfaces import ILayoutPolicy\n from plone.app.layout.globals.interfaces import IViewView\n from plone.app.layout.icons.interfaces import IContentIcon\n@@ -16,12 +17,15 @@\n from zope.browserpage.viewpagetemplatefile import (\n ViewPageTemplateFile as ZopeViewPageTemplateFile\n )\n+from zope.component import adapter\n+from zope.component import getAdapters\n from zope.component import getMultiAdapter\n from zope.component import getUtility\n from zope.component import queryMultiAdapter\n from zope.component import queryUtility\n from zope.interface import alsoProvides\n from zope.interface import implements\n+from zope.interface import Interface\n from zope.publisher.browser import BrowserView\n \n \n@@ -268,4 +272,33 @@ def bodyClass(self, template, view):\n if msl or elonw:\n body_classes.append(\'pat-markspeciallinks\')\n \n+ # Add externally defined extra body classes\n+ body_class_adapters = getAdapters(\n+ (self.context, self.request),\n+ IBodyClassAdapter\n+ )\n+ for name, body_class_adapter in body_class_adapters:\n+ try:\n+ extra_classes = body_class_adapter.get_classes(template, view) or []\n+ except TypeError: # This adapter is implemented without arguments\n+ extra_classes = body_class_adapter.get_classes() or []\n+ if isinstance(extra_classes, basestring):\n+ extra_classes = extra_classes.split(\' \')\n+ body_classes.extend(extra_classes)\n+\n return \' \'.join(body_classes)\n+\n+\n+@adapter(Interface)\n+class DefaultBodyClasses(object):\n+\n+ implements(IBodyClassAdapter)\n+\n+ def __init__(self, context, request):\n+ self.context = context\n+ self.request = request\n+\n+ def get_classes(self, template, view):\n+ """Default body classes adapter.\n+ """\n+ return []\n'
b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex a81df80..bc48890 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -14,6 +14,9 @@ New features:\n \n Bug fixes:\n \n+- Made writing Blob less aggressive.(issue #42)\n+ [iham]\n+\n - Remove (testing) dependency on zope.app.intid.\n [gforcada]\n \ndiff --git a/plone/app/versioningbehavior/modifiers.py b/plone/app/versioningbehavior/modifiers.py\nindex 5e53e2f..1be71f4 100644\n--- a/plone/app/versioningbehavior/modifiers.py\n+++ b/plone/app/versioningbehavior/modifiers.py\n@@ -171,7 +171,9 @@ def reattachReferencedAttributes(self, obj, attrs_dict):\n fname = name.split(\'.\')[-1]\n field = iface.get(fname)\n if field is not None: # Field may have been removed from schema\n- field.get(iface(obj))._blob = blob\n+ adapted_field = field.get(iface(obj))\n+ if adapted_field:\n+ adapted_field._blob = blob\n \n def getOnCloneModifiers(self, obj):\n """Removes references to blobs.\n'

0 comments on commit 777a635

Please sign in to comment.