-
-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nobody uses simplejson #24
Conversation
…fallback if json is not found, which is hard to achieve in Python 2.6 upwards.
AFAIK plone.app.jquerytoolsuses it as well not just TinyMCE. Asigottech On 15.6.2012 14:50, Patrick Gerken wrote:
|
jquerytools does not use simplejson. |
My bad, I was pulling it in with jquerytools when installing geocaching BR Wyn On 15.6.2012 15:01, Patrick Gerken wrote:
|
If nobody objects until tomorrow I merge it then |
+1 On 15.6.2012 15:07, Patrick Gerken wrote:
|
+1 |
-1. It's still there because simplejson is still used in preference to the stdlib json library in some cases, because it's faster. Please leave it; we shouldn't just remove version pins from the KGS. |
Branch: refs/heads/master Date: 2015-01-23T13:33:00+01:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.content@6ceac41 Keep default_page when renaming objects Files changed: M CHANGES.rst M plone/app/content/browser/actions.py M plone/app/content/browser/folder.py M plone/app/content/tests/test_actions.py M plone/app/content/tests/test_folder.py diff --git a/CHANGES.rst b/CHANGES.rst index 1e0de22..4b87c62 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ Changelog 3.0.2 (unreleased) ------------------ +- Keep default_page when renaming objects. + [pbauer] + - Use INameChooser for new id when renaming objects using folder_rename or object_rename. Fix plone/plone.app.dexterity#73 [pbauer] diff --git a/plone/app/content/browser/actions.py b/plone/app/content/browser/actions.py index e2ae3c2..c5dc0bc 100644 --- a/plone/app/content/browser/actions.py +++ b/plone/app/content/browser/actions.py @@ -120,6 +120,10 @@ def handle_rename(self, action): newid = data['new_id'] newid = INameChooser(parent).chooseName(newid, self.context) + context_state = getMultiAdapter( + (self.context, self.request), name='plone_context_state') + if context_state.is_default_page(): + parent.setDefaultPage(newid) # Requires cmf.ModifyPortalContent permission self.context.title = data['new_title'] # Requires zope2.CopyOrMove permission diff --git a/plone/app/content/browser/folder.py b/plone/app/content/browser/folder.py index 46f0370..56ee9f7 100644 --- a/plone/app/content/browser/folder.py +++ b/plone/app/content/browser/folder.py @@ -310,8 +310,13 @@ def __call__(self): notify(ObjectModifiedEvent(obj)) if newid and obid != newid: parent = aq_parent(aq_inner(obj)) - # make the new id safe + # Make sure newid is safe newid = INameChooser(parent).chooseName(newid, obj) + # Update the default_page on the parent. + context_state = getMultiAdapter( + (obj, self.request), name='plone_context_state') + if context_state.is_default_page(): + parent.setDefaultPage(newid) parent.manage_renameObjects((obid, ), (newid, )) elif change_title: # the rename will have already triggered a reindex diff --git a/plone/app/content/tests/test_actions.py b/plone/app/content/tests/test_actions.py index e16d0c6..de4db77 100644 --- a/plone/app/content/tests/test_actions.py +++ b/plone/app/content/tests/test_actions.py @@ -135,6 +135,23 @@ def test_create_safe_id_on_renaming(self): self.portal.manage_delObjects(ids='f4-4') transaction.commit() + def test_default_page_updated_on_rename(self): + login(self.portal, TEST_USER_NAME) + folder = self.portal['f1'] + folder.invokeFactory(type_name='Document', id='d1', title='A Doc') + doc = folder['d1'] + folder.setDefaultPage('d1') + transaction.commit() + self.assertEqual(folder.default_page, 'd1') + + # We need zope2.CopyOrMove permission to rename content + self.browser.open(doc.absolute_url() + '/object_rename') + self.browser.getControl(name='form.widgets.new_id').value = ' ?renamed' + self.browser.getControl(name='form.widgets.new_title').value = 'Doc' + self.browser.getControl(name='form.buttons.Rename').click() + self.assertEqual(folder.getFolderContents()[0].id, 'renamed') + self.assertEqual(folder.default_page, 'renamed') + def test_rename_form_cancel(self): folder = self.portal['f1'] diff --git a/plone/app/content/tests/test_folder.py b/plone/app/content/tests/test_folder.py index d6323fc..911af47 100644 --- a/plone/app/content/tests/test_folder.py +++ b/plone/app/content/tests/test_folder.py @@ -188,11 +188,11 @@ class RenameTest(BaseTest): def test_folder_rename_objects(self): from plone.app.content.browser.folder import RenameAction uid = IUUID(self.portal.page) - self.portal.invokeFactory('Document', id="page2", title="2nd page") + self.portal.invokeFactory('Document', id='page2', title='2nd page') uid2 = IUUID(self.portal.page2) items = [ - {"UID": uid, "newid": "I am UnSafe! ", "newtitle": "New!"}, - {"UID": uid2, "newid": ". ,;new id : _! ", "newtitle": "Newer!"}, + {'UID': uid, 'newid': 'I am UnSafe! ', 'newtitle': 'New!'}, + {'UID': uid2, 'newid': '. ,;new id : _! ', 'newtitle': 'Newer!'}, ] self.request.form['torename'] = json.dumps(items) view = RenameAction(self.portal, self.request) @@ -200,6 +200,18 @@ def test_folder_rename_objects(self): self.assertEqual(self.portal['i-am-unsafe'].title, "New!") self.assertEqual(self.portal['new-id-_'].title, "Newer!") + def test_default_page_updated_on_rename_objects(self): + from plone.app.content.browser.folder import RenameAction + self.portal.setDefaultPage('page') + uid = IUUID(self.portal.page) + items = [ + {'UID': uid, 'newid': 'page-renamed', 'newtitle': 'Page'}, + ] + self.request.form['torename'] = json.dumps(items) + view = RenameAction(self.portal, self.request) + view() + self.assertEqual(self.portal.default_page, 'page-renamed') + class ContextInfoTest(BaseTest): Repository: plone.app.content Branch: refs/heads/master Date: 2015-01-23T13:48:10+01:00 Author: Daniel Widerin (saily) <daniel@widerin.net> Commit: plone/plone.app.content@ba34a9d Merge pull request #24 from plone/keep_default_page_on_rename Keep default_page when renaming objects Files changed: M CHANGES.rst M plone/app/content/browser/actions.py M plone/app/content/browser/folder.py M plone/app/content/tests/test_actions.py M plone/app/content/tests/test_folder.py diff --git a/CHANGES.rst b/CHANGES.rst index 1e0de22..4b87c62 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ Changelog 3.0.2 (unreleased) ------------------ +- Keep default_page when renaming objects. + [pbauer] + - Use INameChooser for new id when renaming objects using folder_rename or object_rename. Fix plone/plone.app.dexterity#73 [pbauer] diff --git a/plone/app/content/browser/actions.py b/plone/app/content/browser/actions.py index e2ae3c2..c5dc0bc 100644 --- a/plone/app/content/browser/actions.py +++ b/plone/app/content/browser/actions.py @@ -120,6 +120,10 @@ def handle_rename(self, action): newid = data['new_id'] newid = INameChooser(parent).chooseName(newid, self.context) + context_state = getMultiAdapter( + (self.context, self.request), name='plone_context_state') + if context_state.is_default_page(): + parent.setDefaultPage(newid) # Requires cmf.ModifyPortalContent permission self.context.title = data['new_title'] # Requires zope2.CopyOrMove permission diff --git a/plone/app/content/browser/folder.py b/plone/app/content/browser/folder.py index 46f0370..56ee9f7 100644 --- a/plone/app/content/browser/folder.py +++ b/plone/app/content/browser/folder.py @@ -310,8 +310,13 @@ def __call__(self): notify(ObjectModifiedEvent(obj)) if newid and obid != newid: parent = aq_parent(aq_inner(obj)) - # make the new id safe + # Make sure newid is safe newid = INameChooser(parent).chooseName(newid, obj) + # Update the default_page on the parent. + context_state = getMultiAdapter( + (obj, self.request), name='plone_context_state') + if context_state.is_default_page(): + parent.setDefaultPage(newid) parent.manage_renameObjects((obid, ), (newid, )) elif change_title: # the rename will have already triggered a reindex diff --git a/plone/app/content/tests/test_actions.py b/plone/app/content/tests/test_actions.py index e16d0c6..de4db77 100644 --- a/plone/app/content/tests/test_actions.py +++ b/plone/app/content/tests/test_actions.py @@ -135,6 +135,23 @@ def test_create_safe_id_on_renaming(self): self.portal.manage_delObjects(ids='f4-4') transaction.commit() + def test_default_page_updated_on_rename(self): + login(self.portal, TEST_USER_NAME) + folder = self.portal['f1'] + folder.invokeFactory(type_name='Document', id='d1', title='A Doc') + doc = folder['d1'] + folder.setDefaultPage('d1') + transaction.commit() + self.assertEqual(folder.default_page, 'd1') + + # We need zope2.CopyOrMove permission to rename content + self.browser.open(doc.absolute_url() + '/object_rename') + self.browser.getControl(name='form.widgets.new_id').value = ' ?renamed' + self.browser.getControl(name='form.widgets.new_title').value = 'Doc' + self.browser.getControl(name='form.buttons.Rename').click() + self.assertEqual(folder.getFolderContents()[0].id, 'renamed') + self.assertEqual(folder.default_page, 'renamed') + def test_rename_form_cancel(self): folder = self.portal['f1'] diff --git a/plone/app/content/tests/test_folder.py b/plone/app/content/tests/test_folder.py index d6323fc..911af47 100644 --- a/plone/app/content/tests/test_folder.py +++ b/plone/app/content/tests/test_folder.py @@ -188,11 +188,11 @@ class RenameTest(BaseTest): def test_folder_rename_objects(self): from plone.app.content.browser.folder import RenameAction uid = IUUID(self.portal.page) - self.portal.invokeFactory('Document', id="page2", title="2nd page") + self.portal.invokeFactory('Document', id='page2', title='2nd page') uid2 = IUUID(self.portal.page2) items = [ - {"UID": uid, "newid": "I am UnSafe! ", "newtitle": "New!"}, - {"UID": uid2, "newid": ". ,;new id : _! ", "newtitle": "Newer!"}, + {'UID': uid, 'newid': 'I am UnSafe! ', 'newtitle': 'New!'}, + {'UID': uid2, 'newid': '. ,;new id : _! ', 'newtitle': 'Newer!'}, ] self.request.form['torename'] = json.dumps(items) view = RenameAction(self.portal, self.request) @@ -200,6 +200,18 @@ def test_folder_rename_objects(self): self.assertEqual(self.portal['i-am-unsafe'].title, "New!") self.assertEqual(self.portal['new-id-_'].title, "Newer!") + def test_default_page_updated_on_rename_objects(self): + from plone.app.content.browser.folder import RenameAction + self.portal.setDefaultPage('page') + uid = IUUID(self.portal.page) + items = [ + {'UID': uid, 'newid': 'page-renamed', 'newtitle': 'Page'}, + ] + self.request.form['torename'] = json.dumps(items) + view = RenameAction(self.portal, self.request) + view() + self.assertEqual(self.portal.default_page, 'page-renamed') + class ContextInfoTest(BaseTest):
Branch: refs/heads/master Date: 2015-01-26T13:50:33+01:00 Author: Johannes Raggam (thet) <raggam-nl@adm.at> Commit: plone/mockup@ee6b2d3 add missing changelog entry and upgrade notice Files changed: M CHANGES.rst M mockup/GETTING_STARTED.md diff --git a/CHANGES.rst b/CHANGES.rst index ed528de..23f197c 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,7 +1,17 @@ Changelog ========= -1.8.3 (unreleased) +2.0.0 (unreleased) +------------------ + +- Patternslib merge: Use Patternslib's scanner and registry. This allows us + to: Use Patternslib patterns with Mockup/Plone and use Mockup patterns with + Patternslib outside of Plone. For changes required to patterns, see: + mockup/GETTING_STARTED.md . Refs: #460. + [jcbrand] + + +1.8.3 (2015-01-26) ------------------ New patterns: @@ -26,6 +36,22 @@ New patterns: Fixes and enhancements: +- Test fixes. + [vangheem] + +- Various structure pattern fixes. + [vangheem] + +- Make relateditems fullwidth. + [vangheem] + +- Add npm and bower tasks to Makefile. + [benniboy] + +- TinyMCE pattern fix: Don't append scale to generated image url, if no scale + is given. + [frapell] + - In the resource registry bundle detail view, add the fields ``last_compilation``, ``jscompilation`` and ``csscompilation`` for display. This gives more insight about the state of each bundle. @@ -36,6 +62,9 @@ Fixes and enhancements: ``disabled`` states. [thet] +- Relicensing from MIT to BSD. Refs #24 + [thet] + - Modal Pattern: If ``data-base-url`` attribute is available on the body, use it. Otherwise search for a ``<base>`` tag. Plone 5 dropped the usage of base tags. diff --git a/mockup/GETTING_STARTED.md b/mockup/GETTING_STARTED.md index 1ec0e5e..90b0522 100644 --- a/mockup/GETTING_STARTED.md +++ b/mockup/GETTING_STARTED.md @@ -131,6 +131,7 @@ After that, access the served site in a webbrowser under the url: http://localhost:8000 + # Including a local mockup-core checkout for developing If you want to also hack on mockup-core together with mockup and not push the @@ -141,3 +142,30 @@ Just replace the mockup-core line in bower.json with: Please note, you have to commit the changes on mockup-core before running ``make bootstrap``. + + +# Upgrade from pre-2.0 to 2.0 based Mockup patterns + +Since version 2.0, Mockup uses the Patternslib scanner and it's registry. This +allows us to: Use Patternslib patterns with Mockup/Plone and use Mockup +patterns with Patternslib outside of Plone. The integration with Patternslib +require that some small changes be made to newly developed Mockup patterns: + +1. Patterns should now use pat-registry as dependency instead of + mockup-registry. + + define([ + 'jquery' + 'mockup-patterns-base', + 'pat-registry' + ], function($, Base, registry) { + +2. Patterns' selectors are now explicitly specified via the trigger attribute. + For example: + + var Modal = Base.extend({ + name: 'modal', + trigger: '.pat-modal', + +3. Because of change 2, patterns now fire events via the emit method, instead + of the trigger method.
Branch: refs/heads/master Date: 2015-01-24T12:59:43+01:00 Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si> Commit: https://github.com/plone/plone.app.upgrade/commit/d64f2e7f4228417ccd38117aa2143e5d0d6f568e fix member security test (validate_email was removed in CMFPlone) Files changed: M plone/app/upgrade/v30/tests.py diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index 9325d0d..174ed33 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -87,6 +87,7 @@ from plone.app.upgrade.v30.alphas import reorderUserActions from plone.app.upgrade.v30.alphas import updatePASPlugins from plone.app.upgrade.v30.alphas import updateConfigletTitles +from plone.app.upgrade.v30.alphas import updateMemberSecurity from plone.app.upgrade.v30.alphas import addCacheForResourceRegistry from plone.app.upgrade.v30.alphas import removeTablelessSkin from plone.app.upgrade.v30.alphas import addObjectProvidesIndex @@ -660,6 +661,12 @@ def testAddEmailCharsetProperty(self): self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8') def testUpdateMemberSecurity(self): + # validate_email was removed in Plone 5, so we need to add it + # manually here + self.portal.manage_addProperty('validate_email', False, 'boolean') + + updateMemberSecurity(self.portal) + pprop = getToolByName(self.portal, 'portal_properties') self.assertEqual( pprop.site_properties.getProperty('allowAnonymousViewAbout'), Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-01-26T18:22:10+01:00 Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si> Commit: https://github.com/plone/plone.app.upgrade/commit/cb2da21ac688e8def4f8f175fa493a7eeb8829f8 another test fix ('allowAnonymousViewAbout' property was removed) Files changed: M plone/app/upgrade/v30/tests.py diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index 174ed33..65fb99c 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -661,16 +661,20 @@ def testAddEmailCharsetProperty(self): self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8') def testUpdateMemberSecurity(self): - # validate_email was removed in Plone 5, so we need to add it - # manually here + # These properties were removed in Plone 5, so we add them + # manually here and check if they are properly updated by the + # updateMemberSecurity upgrade step + pprop = getToolByName(self.portal, 'portal_properties') self.portal.manage_addProperty('validate_email', False, 'boolean') + pprop.site_properties.manage_addProperty( + 'allowAnonymousViewAbout', True, 'boolean') updateMemberSecurity(self.portal) - pprop = getToolByName(self.portal, 'portal_properties') self.assertEqual( - pprop.site_properties.getProperty('allowAnonymousViewAbout'), - False) + pprop.site_properties.getProperty('allowAnonymousViewAbout'), + False + ) pmembership = getToolByName(self.portal, 'portal_membership') self.assertEqual(pmembership.memberareaCreationFlag, False) Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-01-26T19:42:49+01:00 Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si> Commit: https://github.com/plone/plone.app.upgrade/commit/d4525b59f8b5ccabbd3c633ebf37a4921c298840 update changelog Files changed: M CHANGES.rst diff --git a/CHANGES.rst b/CHANGES.rst index 1bf846a..910e15b 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,10 @@ Changelog 1.3.9 (unreleased) ------------------ +- Update tests after removal of ``allowAnonymousViewAbout`` and + ``validate_email`` properties in CMFPlone. + [jcerjak] + - Add upgrade step for the security control panel. [jcerjak] Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-02-27T07:47:36+01:00 Author: Timo Stollenwerk () <contact@timostollenwerk.net> Commit: https://github.com/plone/plone.app.upgrade/commit/a3d575cba24976e450ef5d5ef3f2e2d5079113b6 Merge branch 'master' into plip10359-security-controlpanel Conflicts: CHANGES.rst Files changed: M CHANGES.rst M MANIFEST.in M plone/app/upgrade/tests/base.py M plone/app/upgrade/tests/test_upgrade.py M plone/app/upgrade/utils.py M plone/app/upgrade/v25/tests.py M plone/app/upgrade/v30/tests.py M plone/app/upgrade/v31/tests.py M plone/app/upgrade/v32/tests.py M plone/app/upgrade/v33/tests.py M plone/app/upgrade/v40/tests.py M plone/app/upgrade/v42/configure.zcml M plone/app/upgrade/v42/profiles/to_rc1/metadata.xml M plone/app/upgrade/v43/configure.zcml M plone/app/upgrade/v50/configure.zcml M plone/app/upgrade/v50/profiles/to_alpha3/registry.xml M plone/app/upgrade/v50/profiles/to_beta1/registry.xml M setup.py diff --git a/CHANGES.rst b/CHANGES.rst index 910e15b..e25607e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -8,6 +8,10 @@ Changelog ``validate_email`` properties in CMFPlone. [jcerjak] +- Do not run tests not suited for the current Plone version + (implemented for 4.0 and below) + [jensens] + - Add upgrade step for the security control panel. [jcerjak] diff --git a/MANIFEST.in b/MANIFEST.in index 233d37d..6acb23e 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,3 @@ -include *.txt include *.rst recursive-include docs * diff --git a/plone/app/upgrade/tests/base.py b/plone/app/upgrade/tests/base.py index 840416c..5359e35 100644 --- a/plone/app/upgrade/tests/base.py +++ b/plone/app/upgrade/tests/base.py @@ -10,9 +10,9 @@ from zope.site.hooks import setSite from Testing.ZopeTestCase.sandbox import Sandboxed +from Products.PloneTestCase.PloneTestCase import PloneTestCase from Products.PloneTestCase.layer import PloneSiteLayer -from Products.PloneTestCase.ptc import PloneTestCase -from Products.PloneTestCase.ptc import setupPloneSite +from Products.PloneTestCase.setup import setupPloneSite from Products.CMFCore.interfaces import IActionCategory from Products.CMFCore.interfaces import IActionInfo @@ -20,8 +20,9 @@ from Products.CMFCore.tests.base.testcase import WarningInterceptor from Products.GenericSetup.context import TarballImportContext -setupPloneSite() +from Products.Five import zcml +setupPloneSite(products=["plone.app.folder"]) class MigrationTest(PloneTestCase): diff --git a/plone/app/upgrade/tests/test_upgrade.py b/plone/app/upgrade/tests/test_upgrade.py index c697671..6771463 100644 --- a/plone/app/upgrade/tests/test_upgrade.py +++ b/plone/app/upgrade/tests/test_upgrade.py @@ -1,7 +1,8 @@ from Products.CMFPlone.factory import _DEFAULT_PROFILE from Products.CMFCore.utils import getToolByName - +from plone.app.upgrade.utils import version_match from plone.app.upgrade.tests.base import MigrationTest +import mock class TestUpgrade(MigrationTest): @@ -24,6 +25,16 @@ def testProfileVersion(self): last = self.setup.getLastVersionForProfile(_DEFAULT_PROFILE) self.assertEqual(last, current) + @mock.patch('plone.app.upgrade.utils.plone_version', '5.0b1') + def testVersionMatch(self): + self.assertFalse(version_match('2.5')) + self.assertFalse(version_match('3.1b1')) + self.assertFalse(version_match('5.2.b1')) + self.assertTrue(version_match('5.0a3.dev0')) + self.assertTrue(version_match('5.0b1.dev0')) + self.assertTrue(version_match('5.0b3')) + self.assertTrue(version_match('5.0')) + def testDoUpgrades(self): self.setRoles(['Manager']) diff --git a/plone/app/upgrade/utils.py b/plone/app/upgrade/utils.py index 5f1b5c7..66e72ff 100644 --- a/plone/app/upgrade/utils.py +++ b/plone/app/upgrade/utils.py @@ -11,10 +11,25 @@ from Products.ZCatalog.ProgressHandler import ZLogHandler from ZODB.POSException import ConflictError +import pkg_resources + _marker = [] logger = logging.getLogger('plone.app.upgrade') +plone_version = pkg_resources.get_distribution("Products.CMFPlone").version + + +def version_match(target): + """ Given, our versioning scheme is always major.minorANYTHING, where major + and minor are single-digit numbers, we can compare versions as follows. + pkg_resources.parse_version is not compatible with our versioning scheme + (like '5.0b1') and also not compatible with the semver.org proposal + (requires '5.0-beta1'). + """ + # MAJOR.MINOR + return (target[0], target[2]) == (plone_version[0], plone_version[2]) + def null_upgrade_step(tool): """ This is a null upgrade, use it when nothing happens """ diff --git a/plone/app/upgrade/v25/tests.py b/plone/app/upgrade/v25/tests.py index 036e8b5..32628fb 100644 --- a/plone/app/upgrade/v25/tests.py +++ b/plone/app/upgrade/v25/tests.py @@ -4,6 +4,7 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest from plone.app.upgrade.utils import loadMigrationProfile +from plone.app.upgrade.utils import version_match from plone.app.upgrade.v25 import fixupPloneLexicon from plone.app.upgrade.v25 import setLoginFormInCookieAuth @@ -117,6 +118,8 @@ def testDCMIStorageUpdated(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('2.5'): + return suite suite.addTest(makeSuite(TestMigrations_v2_5_0)) suite.addTest(makeSuite(TestMigrations_v2_5_1)) suite.addTest(makeSuite(TestMigrations_v2_5_2)) diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index 65fb99c..7f1c7d2 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -74,6 +74,7 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest from plone.app.upgrade.utils import loadMigrationProfile +from plone.app.upgrade.utils import version_match from plone.app.upgrade.v30.alphas import enableZope3Site from plone.app.upgrade.v30.alphas import migrateOldActions @@ -1111,6 +1112,8 @@ def testFullUpgrade(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('3.0'): + return suite suite.addTest(makeSuite(TestMigrations_v2_5_x)) suite.addTest(makeSuite(TestMigrations_v3_0_Actions)) suite.addTest(makeSuite(TestMigrations_v3_0_alpha1)) diff --git a/plone/app/upgrade/v31/tests.py b/plone/app/upgrade/v31/tests.py index 01005b3..a0a49e9 100644 --- a/plone/app/upgrade/v31/tests.py +++ b/plone/app/upgrade/v31/tests.py @@ -5,6 +5,7 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest +from plone.app.upgrade.utils import version_match from plone.app.upgrade.v31.betas import reinstallCMFPlacefulWorkflow @@ -113,6 +114,8 @@ def testFullUpgrade(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('3.1'): + return suite suite.addTest(makeSuite(TestMigrations_v3_1)) suite.addTest(makeSuite(TestFunctionalMigrations)) return suite diff --git a/plone/app/upgrade/v32/tests.py b/plone/app/upgrade/v32/tests.py index bc0e7a1..5cf445a 100644 --- a/plone/app/upgrade/v32/tests.py +++ b/plone/app/upgrade/v32/tests.py @@ -1,5 +1,6 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest +from plone.app.upgrade.utils import version_match from plone.app.upgrade.v32.betas import three1_beta1 class TestMigrations_v3_2(MigrationTest): @@ -45,6 +46,8 @@ def testFullUpgrade(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('3.2'): + return suite suite.addTest(makeSuite(TestMigrations_v3_2)) suite.addTest(makeSuite(TestFunctionalMigrations)) return suite diff --git a/plone/app/upgrade/v33/tests.py b/plone/app/upgrade/v33/tests.py index 01a5de8..3c846cd 100644 --- a/plone/app/upgrade/v33/tests.py +++ b/plone/app/upgrade/v33/tests.py @@ -3,6 +3,8 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest from plone.app.upgrade.v33 import three2_three3 +from plone.app.upgrade.utils import version_match + class TestMigrations_v3_3(MigrationTest): @@ -88,6 +90,8 @@ def testFolderUpgrade(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('3.3'): + return suite suite.addTest(makeSuite(TestMigrations_v3_3)) suite.addTest(makeSuite(TestFunctionalMigrations)) return suite diff --git a/plone/app/upgrade/v40/tests.py b/plone/app/upgrade/v40/tests.py index c350619..42b7bb0 100644 --- a/plone/app/upgrade/v40/tests.py +++ b/plone/app/upgrade/v40/tests.py @@ -30,6 +30,7 @@ from plone.app.upgrade.v40.betas import updateIconMetadata from plone.app.upgrade.v40.betas import removeLargePloneFolder from plone.app.upgrade.tests.base import MigrationTest +from plone.app.upgrade.utils import version_match from plone.portlet.static import static from plone.portlets.interfaces import IPortletAssignmentMapping @@ -662,5 +663,7 @@ def testProfile(self): def test_suite(): - from unittest import defaultTestLoader - return defaultTestLoader.loadTestsFromName(__name__) + import unittest + if not version_match('4.0'): + return unittest.TestSuite() + return unittest.defaultTestLoader.loadTestsFromName(__name__) diff --git a/plone/app/upgrade/v42/configure.zcml b/plone/app/upgrade/v42/configure.zcml index 11cdb91..8ee6574 100644 --- a/plone/app/upgrade/v42/configure.zcml +++ b/plone/app/upgrade/v42/configure.zcml @@ -185,4 +185,29 @@ </genericsetup:upgradeSteps> + <genericsetup:upgradeSteps + source="4211" + destination="4212" + profile="Products.CMFPlone:plone"> + + <genericsetup:upgradeStep + title="Miscellaneous" + description="" + handler="..utils.null_upgrade_step" + /> + </genericsetup:upgradeSteps> + + <genericsetup:upgradeSteps + source="4212" + destination="4213" + profile="Products.CMFPlone:plone"> + + <genericsetup:upgradeStep + title="Miscellaneous" + description="" + handler="..utils.null_upgrade_step" + /> + </genericsetup:upgradeSteps> + + </configure> diff --git a/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml b/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml index 048b99f..df3a631 100644 --- a/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml +++ b/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml @@ -3,6 +3,5 @@ <version>1</version> <dependencies> <dependency>profile-plone.app.jquery:default</dependency> - <dependency>profile-plone.app.search:default</dependency> </dependencies> </metadata> diff --git a/plone/app/upgrade/v43/configure.zcml b/plone/app/upgrade/v43/configure.zcml index 523f731..71c0a87 100644 --- a/plone/app/upgrade/v43/configure.zcml +++ b/plone/app/upgrade/v43/configure.zcml @@ -8,7 +8,7 @@ <include file="profiles.zcml" /> <genericsetup:upgradeSteps - source="4208" + source="4213" destination="4300" profile="Products.CMFPlone:plone"> diff --git a/plone/app/upgrade/v50/configure.zcml b/plone/app/upgrade/v50/configure.zcml index 01dd8e9..b840fc8 100644 --- a/plone/app/upgrade/v50/configure.zcml +++ b/plone/app/upgrade/v50/configure.zcml @@ -7,7 +7,7 @@ <include file="profiles.zcml" /> <gs:upgradeSteps - source="4309" + source="4310" destination="5000" profile="Products.CMFPlone:plone"> diff --git a/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml b/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml index 94c1214..de3f86f 100644 --- a/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml +++ b/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml @@ -108,7 +108,7 @@ <field type="plone.registry.field.ASCII"> <title>URL of less.js</title> </field> - <value>++plone++static/components/less/dist/less-1.7.4.js</value> + <value>++plone++static/components/less/dist/less.js</value> </record> <record name="plone.resources.less-modify"> <field type="plone.registry.field.ASCII"> @@ -120,7 +120,7 @@ <records prefix="plone.resources/less" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/less/dist/less-1.7.4.js</value> + <value key="js">++plone++static/components/less/dist/less.js</value> </records> <record name="plone.resources.less-variables"> @@ -138,6 +138,10 @@ interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++plone++static/components/mockup-core/js/pattern.js</value> </records> + <records prefix="plone.resources/mockup-parser" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/mockup-core/js/parser.js</value> + </records> <records prefix="plone.resources/jquery" interface='Products.CMFPlone.interfaces.IResourceRegistry'> @@ -386,224 +390,224 @@ <records prefix="plone.resources/tinymce-advlist" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/advlist/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/advlist/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-anchor" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/anchor/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/anchor/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-autolink" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/autolink/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autolink/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-autoresize" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/autoresize/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autoresize/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-autosave" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/autosave/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autosave/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-bbcode" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/bbcode/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/bbcode/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-charmap" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/charmap/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/charmap/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-code" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/code/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/code/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-colorpicker" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/colorpicker/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/colorpicker/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-contextmenu" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/contextmenu/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/contextmenu/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-directionality" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/directionality/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/directionality/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-emoticons" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/emoticons/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/emoticons/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-fullpage" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/fullpage/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/fullpage/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-fullscreen" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/fullscreen/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/fullscreen/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-hr" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/hr/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/hr/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-image" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/image/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/image/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-importcss" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/importcss/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/importcss/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-insertdatetime" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/insertdatetime/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/insertdatetime/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-layer" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/layer/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/layer/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-legacyoutput" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/legacyoutput/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/legacyoutput/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-link" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/link/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/link/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-lists" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/lists/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/lists/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-media" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/media/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/media/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-nonbreaking" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/nonbreaking/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/nonbreaking/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-noneditable" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/noneditable/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/noneditable/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-pagebreak" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/pagebreak/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/pagebreak/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-paste" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/paste/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/paste/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-preview" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/preview/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/preview/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-print" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/print/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/print/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-save" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/save/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/save/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-searchreplace" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/searchreplace/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/searchreplace/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-spellchecker" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/spellchecker/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/spellchecker/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-tabfocus" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/tabfocus/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/tabfocus/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-table" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/table/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/table/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-template" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/template/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/template/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-textcolor" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/textcolor/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/textcolor/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-textpattern" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/textpattern/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/textpattern/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-visualblocks" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/visualblocks/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/visualblocks/plugin.js</value> <value key="css"> - <element>++plone++static/components/tinymce/plugins/visualblocks/css/visualblocks.css</element> + <element>++plone++static/components/tinymce-builded/js/tinymce/plugins/visualblocks/css/visualblocks.css</element> </value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-visualchars" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/visualchars/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/visualchars/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-wordcount" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/wordcount/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/wordcount/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-modern-theme" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/themes/modern/theme.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/themes/modern/theme.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/tinymce.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/tinymce.js</value> <value key="export">window.tinyMCE</value> <value key="init">function () { this.tinyMCE.DOM.events.domLoaded = true; return this.tinyMCE; }</value> <value key="css"> - <element>++plone++static/components/tinymce/skins/lightgray/skin.min.css</element> - <element>++plone++static/components/tinymce/skins/lightgray/content.inline.min.css</element> + <element>++plone++static/components/tinymce-builded/js/tinymce/skins/lightgray/skin.min.css</element> + <element>++plone++static/components/tinymce-builded/js/tinymce/skins/lightgray/content.inline.min.css</element> </value> </records> @@ -629,6 +633,11 @@ <value key="js">++resource++mockupjs/i18n.js</value> </records> + <records prefix="plone.resources/translate" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockupjs/i18n-wrapper.js</value> + </records> + <!-- Patterns --> @@ -642,12 +651,20 @@ <records prefix="plone.resources/mockup-patterns-select2" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++resource++mockup/select2/patterns.js</value> + <value key="js">++resource++mockup/select2/pattern.js</value> <value key="css"> <element>++resource++mockup/select2/pattern.select2.less</element> </value> </records> + <records prefix="plone.resources/mockup-patterns-livesearch" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/livesearch/pattern.js</value> + <value key="css"> + <element>++resource++mockup/livesearch/pattern.livesearch.less</element> + </value> + </records> + <records prefix="plone.resources/mockup-patterns-accessibility" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/accessibility/pattern.js</value> @@ -666,6 +683,11 @@ <value key="js">++resource++mockup/backdrop/pattern.js</value> </records> + <records prefix="plone.resources/mockup-patterns-cookietrigger" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/cookietrigger/pattern.js</value> + </records> + <records prefix="plone.resources/mockup-patterns-sortable" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/sortable/pattern.js</value> @@ -681,6 +703,11 @@ <value key="js">++resource++mockup/formunloadalert/pattern.js</value> </records> + <records prefix="plone.resources/mockup-patterns-inlinevalidation" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/inlinevalidation/pattern.js</value> + </records> + <records prefix="plone.resources/mockup-patterns-modal" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/modal/pattern.js</value> @@ -726,6 +753,9 @@ <records prefix="plone.resources/mockup-patterns-select2" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/select2/pattern.js</value> + <value key="css"> + <element>++resource++mockup/select2/pattern.select2.less</element> + </value> </records> <records prefix="plone.resources/mockup-patterns-structure" @@ -751,6 +781,11 @@ <value key="js">++resource++mockup/tablesorter/pattern.js</value> </records> + <records prefix="plone.resources/mockup-patterns-textareamimetypeselector" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/textareamimetypeselector/pattern.js</value> + </records> + <records prefix="plone.resources/mockup-patterns-tinymce" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/tinymce/pattern.js</value> @@ -818,44 +853,13 @@ <value key="js">++plone++static/components/r.js/dist/r.js</value> </records> - <!-- legacy js --> - - <records prefix="plone.resources/plone_javascript_variables" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">plone_javascript_variables.js</value> - </records> - <records prefix="plone.resources/cookie_functions" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">cookie_functions.js</value> - </records> + <!-- legacy js --> <records prefix="plone.resources/jquery-highlightsearchterms" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">jquery.highlightsearchterms.js</value> </records> - <records prefix="plone.resources/inline-validation" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">inline_validation.js</value> - </records> - <records prefix="plone.resources/kss-bbb" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">kss-bbb.js</value> - </records> - <records prefix="plone.resources/table_sorter" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">table_sorter.js</value> - </records> - <records prefix="plone.resources/unlockOnFormUnload" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">unlockOnFormUnload.js</value> - </records> - - <!-- disabled --> - <records prefix="plone.resources/mark_special_links" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">mark_special_links.js</value> - </records> <record name="plone.resources.last_legacy_import"> <field type="plone.registry.field.Datetime"> @@ -921,7 +925,6 @@ <value key="css"> <element>++plone++static/plone.less</element> </value> - <value key="deps">jquery</value> </records> <!-- Bundles --> @@ -940,12 +943,7 @@ <records prefix="plone.bundles/plone-legacy" interface='Products.CMFPlone.interfaces.IBundleRegistry'> <value key="resources" purge="false"> - <element>plone_javascript_variables</element> - <element>unlockOnFormUnload</element> - <element>table_sorter</element> - <element>inline-validation</element> <element>jquery-highlightsearchterms</element> - <element>cookie_functions</element> </value> <value key="depends">plone</value> <value key="jscompilation">++plone++static/plone-legacy-compiled.js</value> diff --git a/plone/app/upgrade/v50/profiles/to_beta1/registry.xml b/plone/app/upgrade/v50/profiles/to_beta1/registry.xml index 12883fa..6865f48 100644 --- a/plone/app/upgrade/v50/profiles/to_beta1/registry.xml +++ b/plone/app/upgrade/v50/profiles/to_beta1/registry.xml @@ -8,4 +8,170 @@ prefix="plone" /> <records interface="Products.CMFPlone.interfaces.ISiteSchema" prefix="plone" /> + + <records prefix="plone.resources/mockup-patterns-contentloader" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/contentloader/pattern.js</value> + </records> + <records prefix="plone.resources/mockup-patterns-resourceregistry" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="url">++resource++mockup/resourceregistry</value> + <value key="js">++resource++mockup/resourceregistry/pattern.js</value> + <value key="css"> + <element>++resource++mockup/resourceregistry/pattern.resourceregistry.less</element> + </value> + </records> + + + <!-- Plone bundle resources --> + <records prefix="plone.resources/plone" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++plone.js</value> + <value key="css"> + <element>++plone++static/plone.less</element> + </value> + </records> + <records prefix="plone.resources/plone-logged-in" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++plone-logged-in.js</value> + <value key="css"> + <element>++plone++static/plone-logged-in.less</element> + </value> + </records> + <records prefix="plone.resources/resourceregistry" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/resourceregistry.js</value> + <value key="css"> + <element>++plone++static/resourceregistry.less</element> + </value> + </records> + + <!-- Bundles --> + <records prefix="plone.bundles/plone" + interface='Products.CMFPlone.interfaces.IBundleRegistry'> + <value key="resources"> + <element>plone</element> + </value> + <value key="enabled">True</value> + <value key="jscompilation">++plone++static/plone-compiled.min.js</value> + <value key="csscompilation">++plone++static/plone-compiled.css</value> + <value key="last_compilation">2014-11-26 00:00:00</value> + <value key="depends">plone-logged-in</value> + </records> + + <records prefix="plone.bundles/plone-logged-in" + interface='Products.CMFPlone.interfaces.IBundleRegistry'> + <value key="resources"> + <element>plone-logged-in</element> + </value> + <value key="enabled">True</value> + <value key="expression">python: member is not None</value> + <value key="jscompilation">++plone++static/plone-logged-in-compiled.min.js</value> + <value key="csscompilation">++plone++static/plone-logged-in-compiled.css</value> + <value key="last_compilation">2014-11-26 00:00:00</value> + </records> + + <records prefix="plone.bundles/resourceregistry" + interface='Products.CMFPlone.interfaces.IBundleRegistry'> + <value key="resources"> + <element>resourceregistry</element> + </value> + <value key="enabled">False</value> + <value key="jscompilation">++plone++static/resourceregistry-compiled.min.js</value> + <value key="csscompilation">++plone++static/resourceregistry-compiled.css</value> + <value key="last_compilation">2015-02-13 00:00:00</value> + </records> + + <!-- recurrence widget registrations --> + <records prefix="plone.resources/jquery.recurrenceinput" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/jquery.recurrenceinput.js/src/jquery.recurrenceinput</value> + <!-- Perhaps a bit wonky here for now, depending on legacy jquery tools stuff here --> + <value key="deps">jquery,resource-plone-app-jquerytools-js,resource-plone-app-jquerytools-dateinput-js,jquery.tmpl</value> + </records> + <records prefix="plone.resources/jquery.tmpl" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/jquery.recurrenceinput.js/lib/jquery.tmpl</value> + <value key="deps">jquery</value> + </records> + + <records prefix="plone.resources/mockup-patterns-markspeciallinks" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/markspeciallinks/pattern.js</value> + <value key="css"> + <element>++resource++mockup/markspeciallinks/pattern.markspeciallinks.less</element> + </value> + </records> + + <!-- patternslib dependencies --> + <records prefix="plone.resources/pat-compat" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/compat</value> + </records> + <records prefix="plone.resources/pat-registry" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/registry</value> + </records> + <records prefix="plone.resources/pat-jquery-ext" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/jquery-ext</value> + </records> + <records prefix="plone.resources/pat-logger" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/logger</value> + </records> + <records prefix="plone.resources/pat-parser" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/parser</value> + </records> + <records prefix="plone.resources/pat-utils" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/utils</value> + </records> + <records prefix="plone.resources/logging" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/logging/src/logging</value> + </records> + + + <!-- add theme mapper related --> + + <!-- pattern --> + <records prefix="plone.resources/mockup-patterns-filemanager" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="url">++resource++mockup/filemanager</value> + <value key="js">++resource++mockup/filemanager/pattern.js</value> + <value key="css"> + <element>++resource++mockup/filemanager/pattern.filemanager.less</element> + </value> + </records> + <records prefix="plone.resources/mockup-patterns-thememapper" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="url">++resource++mockup/thememapper</value> + <value key="js">++resource++mockup/thememapper/pattern.js</value> + <value key="css"> + <element>++resource++mockup/thememapper/pattern.thememapper.less</element> + </value> + </records> + + <!-- bundle resource --> + <records prefix="plone.resources/thememapper" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++plone.app.theming/thememapper.js</value> + <value key="css"> + <element>++resource++plone.app.theming/thememapper.less</element> + </value> + </records> + + <!-- bundle --> + <records prefix="plone.bundles/thememapper" + interface='Products.CMFPlone.interfaces.IBundleRegistry'> + <value key="resources"> + <element>thememapper</element> + </value> + <value key="enabled">False</value> + <value key="jscompilation">++resource++plone.app.theming/thememapper-compiled.min.js</value> + <value key="csscompilation">++resource++plone.app.theming/thememapper-compiled.css</value> + <value key="last_compilation">2015-02-13 00:00:00</value> + </records> </registry> diff --git a/setup.py b/setup.py index 1dd33a5..9c38656 100644 --- a/setup.py +++ b/setup.py @@ -26,6 +26,7 @@ zip_safe=False, extras_require=dict( test=[ + 'mock', 'Products.CMFPlacefulWorkflow', 'Products.CMFQuickInstallerTool', 'Products.PloneTestCase', Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-02-27T17:22:00+01:00 Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si> Commit: https://github.com/plone/plone.app.upgrade/commit/edadcaeddd63cb370a3284dc82417ea52694586a fix tests (don't fail if the security properties are already there) This restores Plone 4 compatibility Files changed: M plone/app/upgrade/v30/tests.py diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index 7f1c7d2..1bf4207 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -663,12 +663,18 @@ def testAddEmailCharsetProperty(self): def testUpdateMemberSecurity(self): # These properties were removed in Plone 5, so we add them - # manually here and check if they are properly updated by the + # manually here if needed and check if they are properly updated by the # updateMemberSecurity upgrade step pprop = getToolByName(self.portal, 'portal_properties') - self.portal.manage_addProperty('validate_email', False, 'boolean') - pprop.site_properties.manage_addProperty( - 'allowAnonymousViewAbout', True, 'boolean') + try: + self.portal.manage_addProperty('validate_email', False, 'boolean') + except: # property is already there + pass + try: + pprop.site_properties.manage_addProperty( + 'allowAnonymousViewAbout', True, 'boolean') + except: # property is already there + pass updateMemberSecurity(self.portal) Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-02-27T17:38:40+01:00 Author: Timo Stollenwerk (tisto) <tisto@plone.org> Commit: https://github.com/plone/plone.app.upgrade/commit/e8a445959e6c2a1ee8d4bb467105c56033ed34f2 Merge pull request #24 from plone/plip10359-security-controlpanel Plip10359 security controlpanel Files changed: M CHANGES.rst M plone/app/upgrade/v30/tests.py diff --git a/CHANGES.rst b/CHANGES.rst index f75c955..e25607e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,10 @@ Changelog 1.3.9 (unreleased) ------------------ +- Update tests after removal of ``allowAnonymousViewAbout`` and + ``validate_email`` properties in CMFPlone. + [jcerjak] + - Do not run tests not suited for the current Plone version (implemented for 4.0 and below) [jensens] diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index e4bf5da..1bf4207 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -88,6 +88,7 @@ from plone.app.upgrade.v30.alphas import reorderUserActions from plone.app.upgrade.v30.alphas import updatePASPlugins from plone.app.upgrade.v30.alphas import updateConfigletTitles +from plone.app.upgrade.v30.alphas import updateMemberSecurity from plone.app.upgrade.v30.alphas import addCacheForResourceRegistry from plone.app.upgrade.v30.alphas import removeTablelessSkin from plone.app.upgrade.v30.alphas import addObjectProvidesIndex @@ -661,10 +662,26 @@ def testAddEmailCharsetProperty(self): self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8') def testUpdateMemberSecurity(self): + # These properties were removed in Plone 5, so we add them + # manually here if needed and check if they are properly updated by the + # updateMemberSecurity upgrade step pprop = getToolByName(self.portal, 'portal_properties') + try: + self.portal.manage_addProperty('validate_email', False, 'boolean') + except: # property is already there + pass + try: + pprop.site_properties.manage_addProperty( + 'allowAnonymousViewAbout', True, 'boolean') + except: # property is already there + pass + + updateMemberSecurity(self.portal) + self.assertEqual( - pprop.site_properties.getProperty('allowAnonymousViewAbout'), - False) + pprop.site_properties.getProperty('allowAnonymousViewAbout'), + False + ) pmembership = getToolByName(self.portal, 'portal_membership') self.assertEqual(pmembership.memberareaCreationFlag, False)
Branch: refs/heads/master Date: 2015-01-24T12:59:43+01:00 Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si> Commit: https://github.com/plone/plone.app.upgrade/commit/d64f2e7f4228417ccd38117aa2143e5d0d6f568e fix member security test (validate_email was removed in CMFPlone) Files changed: M plone/app/upgrade/v30/tests.py diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index 9325d0d..174ed33 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -87,6 +87,7 @@ from plone.app.upgrade.v30.alphas import reorderUserActions from plone.app.upgrade.v30.alphas import updatePASPlugins from plone.app.upgrade.v30.alphas import updateConfigletTitles +from plone.app.upgrade.v30.alphas import updateMemberSecurity from plone.app.upgrade.v30.alphas import addCacheForResourceRegistry from plone.app.upgrade.v30.alphas import removeTablelessSkin from plone.app.upgrade.v30.alphas import addObjectProvidesIndex @@ -660,6 +661,12 @@ def testAddEmailCharsetProperty(self): self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8') def testUpdateMemberSecurity(self): + # validate_email was removed in Plone 5, so we need to add it + # manually here + self.portal.manage_addProperty('validate_email', False, 'boolean') + + updateMemberSecurity(self.portal) + pprop = getToolByName(self.portal, 'portal_properties') self.assertEqual( pprop.site_properties.getProperty('allowAnonymousViewAbout'), Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-01-26T18:22:10+01:00 Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si> Commit: https://github.com/plone/plone.app.upgrade/commit/cb2da21ac688e8def4f8f175fa493a7eeb8829f8 another test fix ('allowAnonymousViewAbout' property was removed) Files changed: M plone/app/upgrade/v30/tests.py diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index 174ed33..65fb99c 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -661,16 +661,20 @@ def testAddEmailCharsetProperty(self): self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8') def testUpdateMemberSecurity(self): - # validate_email was removed in Plone 5, so we need to add it - # manually here + # These properties were removed in Plone 5, so we add them + # manually here and check if they are properly updated by the + # updateMemberSecurity upgrade step + pprop = getToolByName(self.portal, 'portal_properties') self.portal.manage_addProperty('validate_email', False, 'boolean') + pprop.site_properties.manage_addProperty( + 'allowAnonymousViewAbout', True, 'boolean') updateMemberSecurity(self.portal) - pprop = getToolByName(self.portal, 'portal_properties') self.assertEqual( - pprop.site_properties.getProperty('allowAnonymousViewAbout'), - False) + pprop.site_properties.getProperty('allowAnonymousViewAbout'), + False + ) pmembership = getToolByName(self.portal, 'portal_membership') self.assertEqual(pmembership.memberareaCreationFlag, False) Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-01-26T19:42:49+01:00 Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si> Commit: https://github.com/plone/plone.app.upgrade/commit/d4525b59f8b5ccabbd3c633ebf37a4921c298840 update changelog Files changed: M CHANGES.rst diff --git a/CHANGES.rst b/CHANGES.rst index 1bf846a..910e15b 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,10 @@ Changelog 1.3.9 (unreleased) ------------------ +- Update tests after removal of ``allowAnonymousViewAbout`` and + ``validate_email`` properties in CMFPlone. + [jcerjak] + - Add upgrade step for the security control panel. [jcerjak] Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-02-27T07:47:36+01:00 Author: Timo Stollenwerk () <contact@timostollenwerk.net> Commit: https://github.com/plone/plone.app.upgrade/commit/a3d575cba24976e450ef5d5ef3f2e2d5079113b6 Merge branch 'master' into plip10359-security-controlpanel Conflicts: CHANGES.rst Files changed: M CHANGES.rst M MANIFEST.in M plone/app/upgrade/tests/base.py M plone/app/upgrade/tests/test_upgrade.py M plone/app/upgrade/utils.py M plone/app/upgrade/v25/tests.py M plone/app/upgrade/v30/tests.py M plone/app/upgrade/v31/tests.py M plone/app/upgrade/v32/tests.py M plone/app/upgrade/v33/tests.py M plone/app/upgrade/v40/tests.py M plone/app/upgrade/v42/configure.zcml M plone/app/upgrade/v42/profiles/to_rc1/metadata.xml M plone/app/upgrade/v43/configure.zcml M plone/app/upgrade/v50/configure.zcml M plone/app/upgrade/v50/profiles/to_alpha3/registry.xml M plone/app/upgrade/v50/profiles/to_beta1/registry.xml M setup.py diff --git a/CHANGES.rst b/CHANGES.rst index 910e15b..e25607e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -8,6 +8,10 @@ Changelog ``validate_email`` properties in CMFPlone. [jcerjak] +- Do not run tests not suited for the current Plone version + (implemented for 4.0 and below) + [jensens] + - Add upgrade step for the security control panel. [jcerjak] diff --git a/MANIFEST.in b/MANIFEST.in index 233d37d..6acb23e 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,3 @@ -include *.txt include *.rst recursive-include docs * diff --git a/plone/app/upgrade/tests/base.py b/plone/app/upgrade/tests/base.py index 840416c..5359e35 100644 --- a/plone/app/upgrade/tests/base.py +++ b/plone/app/upgrade/tests/base.py @@ -10,9 +10,9 @@ from zope.site.hooks import setSite from Testing.ZopeTestCase.sandbox import Sandboxed +from Products.PloneTestCase.PloneTestCase import PloneTestCase from Products.PloneTestCase.layer import PloneSiteLayer -from Products.PloneTestCase.ptc import PloneTestCase -from Products.PloneTestCase.ptc import setupPloneSite +from Products.PloneTestCase.setup import setupPloneSite from Products.CMFCore.interfaces import IActionCategory from Products.CMFCore.interfaces import IActionInfo @@ -20,8 +20,9 @@ from Products.CMFCore.tests.base.testcase import WarningInterceptor from Products.GenericSetup.context import TarballImportContext -setupPloneSite() +from Products.Five import zcml +setupPloneSite(products=["plone.app.folder"]) class MigrationTest(PloneTestCase): diff --git a/plone/app/upgrade/tests/test_upgrade.py b/plone/app/upgrade/tests/test_upgrade.py index c697671..6771463 100644 --- a/plone/app/upgrade/tests/test_upgrade.py +++ b/plone/app/upgrade/tests/test_upgrade.py @@ -1,7 +1,8 @@ from Products.CMFPlone.factory import _DEFAULT_PROFILE from Products.CMFCore.utils import getToolByName - +from plone.app.upgrade.utils import version_match from plone.app.upgrade.tests.base import MigrationTest +import mock class TestUpgrade(MigrationTest): @@ -24,6 +25,16 @@ def testProfileVersion(self): last = self.setup.getLastVersionForProfile(_DEFAULT_PROFILE) self.assertEqual(last, current) + @mock.patch('plone.app.upgrade.utils.plone_version', '5.0b1') + def testVersionMatch(self): + self.assertFalse(version_match('2.5')) + self.assertFalse(version_match('3.1b1')) + self.assertFalse(version_match('5.2.b1')) + self.assertTrue(version_match('5.0a3.dev0')) + self.assertTrue(version_match('5.0b1.dev0')) + self.assertTrue(version_match('5.0b3')) + self.assertTrue(version_match('5.0')) + def testDoUpgrades(self): self.setRoles(['Manager']) diff --git a/plone/app/upgrade/utils.py b/plone/app/upgrade/utils.py index 5f1b5c7..66e72ff 100644 --- a/plone/app/upgrade/utils.py +++ b/plone/app/upgrade/utils.py @@ -11,10 +11,25 @@ from Products.ZCatalog.ProgressHandler import ZLogHandler from ZODB.POSException import ConflictError +import pkg_resources + _marker = [] logger = logging.getLogger('plone.app.upgrade') +plone_version = pkg_resources.get_distribution("Products.CMFPlone").version + + +def version_match(target): + """ Given, our versioning scheme is always major.minorANYTHING, where major + and minor are single-digit numbers, we can compare versions as follows. + pkg_resources.parse_version is not compatible with our versioning scheme + (like '5.0b1') and also not compatible with the semver.org proposal + (requires '5.0-beta1'). + """ + # MAJOR.MINOR + return (target[0], target[2]) == (plone_version[0], plone_version[2]) + def null_upgrade_step(tool): """ This is a null upgrade, use it when nothing happens """ diff --git a/plone/app/upgrade/v25/tests.py b/plone/app/upgrade/v25/tests.py index 036e8b5..32628fb 100644 --- a/plone/app/upgrade/v25/tests.py +++ b/plone/app/upgrade/v25/tests.py @@ -4,6 +4,7 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest from plone.app.upgrade.utils import loadMigrationProfile +from plone.app.upgrade.utils import version_match from plone.app.upgrade.v25 import fixupPloneLexicon from plone.app.upgrade.v25 import setLoginFormInCookieAuth @@ -117,6 +118,8 @@ def testDCMIStorageUpdated(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('2.5'): + return suite suite.addTest(makeSuite(TestMigrations_v2_5_0)) suite.addTest(makeSuite(TestMigrations_v2_5_1)) suite.addTest(makeSuite(TestMigrations_v2_5_2)) diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index 65fb99c..7f1c7d2 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -74,6 +74,7 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest from plone.app.upgrade.utils import loadMigrationProfile +from plone.app.upgrade.utils import version_match from plone.app.upgrade.v30.alphas import enableZope3Site from plone.app.upgrade.v30.alphas import migrateOldActions @@ -1111,6 +1112,8 @@ def testFullUpgrade(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('3.0'): + return suite suite.addTest(makeSuite(TestMigrations_v2_5_x)) suite.addTest(makeSuite(TestMigrations_v3_0_Actions)) suite.addTest(makeSuite(TestMigrations_v3_0_alpha1)) diff --git a/plone/app/upgrade/v31/tests.py b/plone/app/upgrade/v31/tests.py index 01005b3..a0a49e9 100644 --- a/plone/app/upgrade/v31/tests.py +++ b/plone/app/upgrade/v31/tests.py @@ -5,6 +5,7 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest +from plone.app.upgrade.utils import version_match from plone.app.upgrade.v31.betas import reinstallCMFPlacefulWorkflow @@ -113,6 +114,8 @@ def testFullUpgrade(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('3.1'): + return suite suite.addTest(makeSuite(TestMigrations_v3_1)) suite.addTest(makeSuite(TestFunctionalMigrations)) return suite diff --git a/plone/app/upgrade/v32/tests.py b/plone/app/upgrade/v32/tests.py index bc0e7a1..5cf445a 100644 --- a/plone/app/upgrade/v32/tests.py +++ b/plone/app/upgrade/v32/tests.py @@ -1,5 +1,6 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest +from plone.app.upgrade.utils import version_match from plone.app.upgrade.v32.betas import three1_beta1 class TestMigrations_v3_2(MigrationTest): @@ -45,6 +46,8 @@ def testFullUpgrade(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('3.2'): + return suite suite.addTest(makeSuite(TestMigrations_v3_2)) suite.addTest(makeSuite(TestFunctionalMigrations)) return suite diff --git a/plone/app/upgrade/v33/tests.py b/plone/app/upgrade/v33/tests.py index 01a5de8..3c846cd 100644 --- a/plone/app/upgrade/v33/tests.py +++ b/plone/app/upgrade/v33/tests.py @@ -3,6 +3,8 @@ from plone.app.upgrade.tests.base import FunctionalUpgradeTestCase from plone.app.upgrade.tests.base import MigrationTest from plone.app.upgrade.v33 import three2_three3 +from plone.app.upgrade.utils import version_match + class TestMigrations_v3_3(MigrationTest): @@ -88,6 +90,8 @@ def testFolderUpgrade(self): def test_suite(): from unittest import TestSuite, makeSuite suite = TestSuite() + if not version_match('3.3'): + return suite suite.addTest(makeSuite(TestMigrations_v3_3)) suite.addTest(makeSuite(TestFunctionalMigrations)) return suite diff --git a/plone/app/upgrade/v40/tests.py b/plone/app/upgrade/v40/tests.py index c350619..42b7bb0 100644 --- a/plone/app/upgrade/v40/tests.py +++ b/plone/app/upgrade/v40/tests.py @@ -30,6 +30,7 @@ from plone.app.upgrade.v40.betas import updateIconMetadata from plone.app.upgrade.v40.betas import removeLargePloneFolder from plone.app.upgrade.tests.base import MigrationTest +from plone.app.upgrade.utils import version_match from plone.portlet.static import static from plone.portlets.interfaces import IPortletAssignmentMapping @@ -662,5 +663,7 @@ def testProfile(self): def test_suite(): - from unittest import defaultTestLoader - return defaultTestLoader.loadTestsFromName(__name__) + import unittest + if not version_match('4.0'): + return unittest.TestSuite() + return unittest.defaultTestLoader.loadTestsFromName(__name__) diff --git a/plone/app/upgrade/v42/configure.zcml b/plone/app/upgrade/v42/configure.zcml index 11cdb91..8ee6574 100644 --- a/plone/app/upgrade/v42/configure.zcml +++ b/plone/app/upgrade/v42/configure.zcml @@ -185,4 +185,29 @@ </genericsetup:upgradeSteps> + <genericsetup:upgradeSteps + source="4211" + destination="4212" + profile="Products.CMFPlone:plone"> + + <genericsetup:upgradeStep + title="Miscellaneous" + description="" + handler="..utils.null_upgrade_step" + /> + </genericsetup:upgradeSteps> + + <genericsetup:upgradeSteps + source="4212" + destination="4213" + profile="Products.CMFPlone:plone"> + + <genericsetup:upgradeStep + title="Miscellaneous" + description="" + handler="..utils.null_upgrade_step" + /> + </genericsetup:upgradeSteps> + + </configure> diff --git a/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml b/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml index 048b99f..df3a631 100644 --- a/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml +++ b/plone/app/upgrade/v42/profiles/to_rc1/metadata.xml @@ -3,6 +3,5 @@ <version>1</version> <dependencies> <dependency>profile-plone.app.jquery:default</dependency> - <dependency>profile-plone.app.search:default</dependency> </dependencies> </metadata> diff --git a/plone/app/upgrade/v43/configure.zcml b/plone/app/upgrade/v43/configure.zcml index 523f731..71c0a87 100644 --- a/plone/app/upgrade/v43/configure.zcml +++ b/plone/app/upgrade/v43/configure.zcml @@ -8,7 +8,7 @@ <include file="profiles.zcml" /> <genericsetup:upgradeSteps - source="4208" + source="4213" destination="4300" profile="Products.CMFPlone:plone"> diff --git a/plone/app/upgrade/v50/configure.zcml b/plone/app/upgrade/v50/configure.zcml index 01dd8e9..b840fc8 100644 --- a/plone/app/upgrade/v50/configure.zcml +++ b/plone/app/upgrade/v50/configure.zcml @@ -7,7 +7,7 @@ <include file="profiles.zcml" /> <gs:upgradeSteps - source="4309" + source="4310" destination="5000" profile="Products.CMFPlone:plone"> diff --git a/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml b/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml index 94c1214..de3f86f 100644 --- a/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml +++ b/plone/app/upgrade/v50/profiles/to_alpha3/registry.xml @@ -108,7 +108,7 @@ <field type="plone.registry.field.ASCII"> <title>URL of less.js</title> </field> - <value>++plone++static/components/less/dist/less-1.7.4.js</value> + <value>++plone++static/components/less/dist/less.js</value> </record> <record name="plone.resources.less-modify"> <field type="plone.registry.field.ASCII"> @@ -120,7 +120,7 @@ <records prefix="plone.resources/less" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/less/dist/less-1.7.4.js</value> + <value key="js">++plone++static/components/less/dist/less.js</value> </records> <record name="plone.resources.less-variables"> @@ -138,6 +138,10 @@ interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++plone++static/components/mockup-core/js/pattern.js</value> </records> + <records prefix="plone.resources/mockup-parser" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/mockup-core/js/parser.js</value> + </records> <records prefix="plone.resources/jquery" interface='Products.CMFPlone.interfaces.IResourceRegistry'> @@ -386,224 +390,224 @@ <records prefix="plone.resources/tinymce-advlist" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/advlist/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/advlist/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-anchor" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/anchor/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/anchor/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-autolink" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/autolink/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autolink/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-autoresize" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/autoresize/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autoresize/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-autosave" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/autosave/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/autosave/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-bbcode" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/bbcode/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/bbcode/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-charmap" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/charmap/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/charmap/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-code" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/code/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/code/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-colorpicker" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/colorpicker/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/colorpicker/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-contextmenu" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/contextmenu/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/contextmenu/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-directionality" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/directionality/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/directionality/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-emoticons" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/emoticons/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/emoticons/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-fullpage" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/fullpage/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/fullpage/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-fullscreen" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/fullscreen/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/fullscreen/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-hr" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/hr/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/hr/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-image" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/image/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/image/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-importcss" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/importcss/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/importcss/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-insertdatetime" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/insertdatetime/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/insertdatetime/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-layer" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/layer/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/layer/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-legacyoutput" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/legacyoutput/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/legacyoutput/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-link" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/link/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/link/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-lists" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/lists/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/lists/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-media" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/media/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/media/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-nonbreaking" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/nonbreaking/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/nonbreaking/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-noneditable" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/noneditable/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/noneditable/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-pagebreak" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/pagebreak/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/pagebreak/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-paste" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/paste/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/paste/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-preview" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/preview/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/preview/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-print" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/print/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/print/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-save" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/save/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/save/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-searchreplace" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/searchreplace/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/searchreplace/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-spellchecker" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/spellchecker/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/spellchecker/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-tabfocus" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/tabfocus/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/tabfocus/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-table" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/table/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/table/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-template" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/template/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/template/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-textcolor" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/textcolor/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/textcolor/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-textpattern" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/textpattern/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/textpattern/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-visualblocks" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/visualblocks/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/visualblocks/plugin.js</value> <value key="css"> - <element>++plone++static/components/tinymce/plugins/visualblocks/css/visualblocks.css</element> + <element>++plone++static/components/tinymce-builded/js/tinymce/plugins/visualblocks/css/visualblocks.css</element> </value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-visualchars" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/visualchars/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/visualchars/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-wordcount" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/plugins/wordcount/plugin.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/plugins/wordcount/plugin.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce-modern-theme" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/themes/modern/theme.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/themes/modern/theme.js</value> <value key="deps">tinymce</value> </records> <records prefix="plone.resources/tinymce" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++plone++static/components/tinymce/tinymce.js</value> + <value key="js">++plone++static/components/tinymce-builded/js/tinymce/tinymce.js</value> <value key="export">window.tinyMCE</value> <value key="init">function () { this.tinyMCE.DOM.events.domLoaded = true; return this.tinyMCE; }</value> <value key="css"> - <element>++plone++static/components/tinymce/skins/lightgray/skin.min.css</element> - <element>++plone++static/components/tinymce/skins/lightgray/content.inline.min.css</element> + <element>++plone++static/components/tinymce-builded/js/tinymce/skins/lightgray/skin.min.css</element> + <element>++plone++static/components/tinymce-builded/js/tinymce/skins/lightgray/content.inline.min.css</element> </value> </records> @@ -629,6 +633,11 @@ <value key="js">++resource++mockupjs/i18n.js</value> </records> + <records prefix="plone.resources/translate" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockupjs/i18n-wrapper.js</value> + </records> + <!-- Patterns --> @@ -642,12 +651,20 @@ <records prefix="plone.resources/mockup-patterns-select2" interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">++resource++mockup/select2/patterns.js</value> + <value key="js">++resource++mockup/select2/pattern.js</value> <value key="css"> <element>++resource++mockup/select2/pattern.select2.less</element> </value> </records> + <records prefix="plone.resources/mockup-patterns-livesearch" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/livesearch/pattern.js</value> + <value key="css"> + <element>++resource++mockup/livesearch/pattern.livesearch.less</element> + </value> + </records> + <records prefix="plone.resources/mockup-patterns-accessibility" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/accessibility/pattern.js</value> @@ -666,6 +683,11 @@ <value key="js">++resource++mockup/backdrop/pattern.js</value> </records> + <records prefix="plone.resources/mockup-patterns-cookietrigger" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/cookietrigger/pattern.js</value> + </records> + <records prefix="plone.resources/mockup-patterns-sortable" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/sortable/pattern.js</value> @@ -681,6 +703,11 @@ <value key="js">++resource++mockup/formunloadalert/pattern.js</value> </records> + <records prefix="plone.resources/mockup-patterns-inlinevalidation" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/inlinevalidation/pattern.js</value> + </records> + <records prefix="plone.resources/mockup-patterns-modal" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/modal/pattern.js</value> @@ -726,6 +753,9 @@ <records prefix="plone.resources/mockup-patterns-select2" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/select2/pattern.js</value> + <value key="css"> + <element>++resource++mockup/select2/pattern.select2.less</element> + </value> </records> <records prefix="plone.resources/mockup-patterns-structure" @@ -751,6 +781,11 @@ <value key="js">++resource++mockup/tablesorter/pattern.js</value> </records> + <records prefix="plone.resources/mockup-patterns-textareamimetypeselector" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/textareamimetypeselector/pattern.js</value> + </records> + <records prefix="plone.resources/mockup-patterns-tinymce" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">++resource++mockup/tinymce/pattern.js</value> @@ -818,44 +853,13 @@ <value key="js">++plone++static/components/r.js/dist/r.js</value> </records> - <!-- legacy js --> - - <records prefix="plone.resources/plone_javascript_variables" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">plone_javascript_variables.js</value> - </records> - <records prefix="plone.resources/cookie_functions" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">cookie_functions.js</value> - </records> + <!-- legacy js --> <records prefix="plone.resources/jquery-highlightsearchterms" interface='Products.CMFPlone.interfaces.IResourceRegistry'> <value key="js">jquery.highlightsearchterms.js</value> </records> - <records prefix="plone.resources/inline-validation" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">inline_validation.js</value> - </records> - <records prefix="plone.resources/kss-bbb" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">kss-bbb.js</value> - </records> - <records prefix="plone.resources/table_sorter" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">table_sorter.js</value> - </records> - <records prefix="plone.resources/unlockOnFormUnload" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">unlockOnFormUnload.js</value> - </records> - - <!-- disabled --> - <records prefix="plone.resources/mark_special_links" - interface='Products.CMFPlone.interfaces.IResourceRegistry'> - <value key="js">mark_special_links.js</value> - </records> <record name="plone.resources.last_legacy_import"> <field type="plone.registry.field.Datetime"> @@ -921,7 +925,6 @@ <value key="css"> <element>++plone++static/plone.less</element> </value> - <value key="deps">jquery</value> </records> <!-- Bundles --> @@ -940,12 +943,7 @@ <records prefix="plone.bundles/plone-legacy" interface='Products.CMFPlone.interfaces.IBundleRegistry'> <value key="resources" purge="false"> - <element>plone_javascript_variables</element> - <element>unlockOnFormUnload</element> - <element>table_sorter</element> - <element>inline-validation</element> <element>jquery-highlightsearchterms</element> - <element>cookie_functions</element> </value> <value key="depends">plone</value> <value key="jscompilation">++plone++static/plone-legacy-compiled.js</value> diff --git a/plone/app/upgrade/v50/profiles/to_beta1/registry.xml b/plone/app/upgrade/v50/profiles/to_beta1/registry.xml index 12883fa..6865f48 100644 --- a/plone/app/upgrade/v50/profiles/to_beta1/registry.xml +++ b/plone/app/upgrade/v50/profiles/to_beta1/registry.xml @@ -8,4 +8,170 @@ prefix="plone" /> <records interface="Products.CMFPlone.interfaces.ISiteSchema" prefix="plone" /> + + <records prefix="plone.resources/mockup-patterns-contentloader" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/contentloader/pattern.js</value> + </records> + <records prefix="plone.resources/mockup-patterns-resourceregistry" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="url">++resource++mockup/resourceregistry</value> + <value key="js">++resource++mockup/resourceregistry/pattern.js</value> + <value key="css"> + <element>++resource++mockup/resourceregistry/pattern.resourceregistry.less</element> + </value> + </records> + + + <!-- Plone bundle resources --> + <records prefix="plone.resources/plone" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++plone.js</value> + <value key="css"> + <element>++plone++static/plone.less</element> + </value> + </records> + <records prefix="plone.resources/plone-logged-in" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++plone-logged-in.js</value> + <value key="css"> + <element>++plone++static/plone-logged-in.less</element> + </value> + </records> + <records prefix="plone.resources/resourceregistry" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/resourceregistry.js</value> + <value key="css"> + <element>++plone++static/resourceregistry.less</element> + </value> + </records> + + <!-- Bundles --> + <records prefix="plone.bundles/plone" + interface='Products.CMFPlone.interfaces.IBundleRegistry'> + <value key="resources"> + <element>plone</element> + </value> + <value key="enabled">True</value> + <value key="jscompilation">++plone++static/plone-compiled.min.js</value> + <value key="csscompilation">++plone++static/plone-compiled.css</value> + <value key="last_compilation">2014-11-26 00:00:00</value> + <value key="depends">plone-logged-in</value> + </records> + + <records prefix="plone.bundles/plone-logged-in" + interface='Products.CMFPlone.interfaces.IBundleRegistry'> + <value key="resources"> + <element>plone-logged-in</element> + </value> + <value key="enabled">True</value> + <value key="expression">python: member is not None</value> + <value key="jscompilation">++plone++static/plone-logged-in-compiled.min.js</value> + <value key="csscompilation">++plone++static/plone-logged-in-compiled.css</value> + <value key="last_compilation">2014-11-26 00:00:00</value> + </records> + + <records prefix="plone.bundles/resourceregistry" + interface='Products.CMFPlone.interfaces.IBundleRegistry'> + <value key="resources"> + <element>resourceregistry</element> + </value> + <value key="enabled">False</value> + <value key="jscompilation">++plone++static/resourceregistry-compiled.min.js</value> + <value key="csscompilation">++plone++static/resourceregistry-compiled.css</value> + <value key="last_compilation">2015-02-13 00:00:00</value> + </records> + + <!-- recurrence widget registrations --> + <records prefix="plone.resources/jquery.recurrenceinput" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/jquery.recurrenceinput.js/src/jquery.recurrenceinput</value> + <!-- Perhaps a bit wonky here for now, depending on legacy jquery tools stuff here --> + <value key="deps">jquery,resource-plone-app-jquerytools-js,resource-plone-app-jquerytools-dateinput-js,jquery.tmpl</value> + </records> + <records prefix="plone.resources/jquery.tmpl" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/jquery.recurrenceinput.js/lib/jquery.tmpl</value> + <value key="deps">jquery</value> + </records> + + <records prefix="plone.resources/mockup-patterns-markspeciallinks" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++mockup/markspeciallinks/pattern.js</value> + <value key="css"> + <element>++resource++mockup/markspeciallinks/pattern.markspeciallinks.less</element> + </value> + </records> + + <!-- patternslib dependencies --> + <records prefix="plone.resources/pat-compat" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/compat</value> + </records> + <records prefix="plone.resources/pat-registry" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/registry</value> + </records> + <records prefix="plone.resources/pat-jquery-ext" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/jquery-ext</value> + </records> + <records prefix="plone.resources/pat-logger" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/logger</value> + </records> + <records prefix="plone.resources/pat-parser" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/parser</value> + </records> + <records prefix="plone.resources/pat-utils" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/patternslib/src/core/utils</value> + </records> + <records prefix="plone.resources/logging" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++plone++static/components/logging/src/logging</value> + </records> + + + <!-- add theme mapper related --> + + <!-- pattern --> + <records prefix="plone.resources/mockup-patterns-filemanager" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="url">++resource++mockup/filemanager</value> + <value key="js">++resource++mockup/filemanager/pattern.js</value> + <value key="css"> + <element>++resource++mockup/filemanager/pattern.filemanager.less</element> + </value> + </records> + <records prefix="plone.resources/mockup-patterns-thememapper" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="url">++resource++mockup/thememapper</value> + <value key="js">++resource++mockup/thememapper/pattern.js</value> + <value key="css"> + <element>++resource++mockup/thememapper/pattern.thememapper.less</element> + </value> + </records> + + <!-- bundle resource --> + <records prefix="plone.resources/thememapper" + interface='Products.CMFPlone.interfaces.IResourceRegistry'> + <value key="js">++resource++plone.app.theming/thememapper.js</value> + <value key="css"> + <element>++resource++plone.app.theming/thememapper.less</element> + </value> + </records> + + <!-- bundle --> + <records prefix="plone.bundles/thememapper" + interface='Products.CMFPlone.interfaces.IBundleRegistry'> + <value key="resources"> + <element>thememapper</element> + </value> + <value key="enabled">False</value> + <value key="jscompilation">++resource++plone.app.theming/thememapper-compiled.min.js</value> + <value key="csscompilation">++resource++plone.app.theming/thememapper-compiled.css</value> + <value key="last_compilation">2015-02-13 00:00:00</value> + </records> </registry> diff --git a/setup.py b/setup.py index 1dd33a5..9c38656 100644 --- a/setup.py +++ b/setup.py @@ -26,6 +26,7 @@ zip_safe=False, extras_require=dict( test=[ + 'mock', 'Products.CMFPlacefulWorkflow', 'Products.CMFQuickInstallerTool', 'Products.PloneTestCase', Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-02-27T17:22:00+01:00 Author: Jure Cerjak (jcerjak) <jcerjak@termitnjak.si> Commit: https://github.com/plone/plone.app.upgrade/commit/edadcaeddd63cb370a3284dc82417ea52694586a fix tests (don't fail if the security properties are already there) This restores Plone 4 compatibility Files changed: M plone/app/upgrade/v30/tests.py diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index 7f1c7d2..1bf4207 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -663,12 +663,18 @@ def testAddEmailCharsetProperty(self): def testUpdateMemberSecurity(self): # These properties were removed in Plone 5, so we add them - # manually here and check if they are properly updated by the + # manually here if needed and check if they are properly updated by the # updateMemberSecurity upgrade step pprop = getToolByName(self.portal, 'portal_properties') - self.portal.manage_addProperty('validate_email', False, 'boolean') - pprop.site_properties.manage_addProperty( - 'allowAnonymousViewAbout', True, 'boolean') + try: + self.portal.manage_addProperty('validate_email', False, 'boolean') + except: # property is already there + pass + try: + pprop.site_properties.manage_addProperty( + 'allowAnonymousViewAbout', True, 'boolean') + except: # property is already there + pass updateMemberSecurity(self.portal) Repository: plone.app.upgrade Branch: refs/heads/master Date: 2015-02-27T17:38:40+01:00 Author: Timo Stollenwerk (tisto) <tisto@plone.org> Commit: https://github.com/plone/plone.app.upgrade/commit/e8a445959e6c2a1ee8d4bb467105c56033ed34f2 Merge pull request #24 from plone/plip10359-security-controlpanel Plip10359 security controlpanel Files changed: M CHANGES.rst M plone/app/upgrade/v30/tests.py diff --git a/CHANGES.rst b/CHANGES.rst index f75c955..e25607e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,10 @@ Changelog 1.3.9 (unreleased) ------------------ +- Update tests after removal of ``allowAnonymousViewAbout`` and + ``validate_email`` properties in CMFPlone. + [jcerjak] + - Do not run tests not suited for the current Plone version (implemented for 4.0 and below) [jensens] diff --git a/plone/app/upgrade/v30/tests.py b/plone/app/upgrade/v30/tests.py index e4bf5da..1bf4207 100644 --- a/plone/app/upgrade/v30/tests.py +++ b/plone/app/upgrade/v30/tests.py @@ -88,6 +88,7 @@ from plone.app.upgrade.v30.alphas import reorderUserActions from plone.app.upgrade.v30.alphas import updatePASPlugins from plone.app.upgrade.v30.alphas import updateConfigletTitles +from plone.app.upgrade.v30.alphas import updateMemberSecurity from plone.app.upgrade.v30.alphas import addCacheForResourceRegistry from plone.app.upgrade.v30.alphas import removeTablelessSkin from plone.app.upgrade.v30.alphas import addObjectProvidesIndex @@ -661,10 +662,26 @@ def testAddEmailCharsetProperty(self): self.assertEqual(self.portal.getProperty('email_charset'), 'utf-8') def testUpdateMemberSecurity(self): + # These properties were removed in Plone 5, so we add them + # manually here if needed and check if they are properly updated by the + # updateMemberSecurity upgrade step pprop = getToolByName(self.portal, 'portal_properties') + try: + self.portal.manage_addProperty('validate_email', False, 'boolean') + except: # property is already there + pass + try: + pprop.site_properties.manage_addProperty( + 'allowAnonymousViewAbout', True, 'boolean') + except: # property is already there + pass + + updateMemberSecurity(self.portal) + self.assertEqual( - pprop.site_properties.getProperty('allowAnonymousViewAbout'), - False) + pprop.site_properties.getProperty('allowAnonymousViewAbout'), + False + ) pmembership = getToolByName(self.portal, 'portal_membership') self.assertEqual(pmembership.memberareaCreationFlag, False)
Branch: refs/heads/master Date: 2015-03-18T17:05:23+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@65851d4 Adding widget.use_wild_card_search parameter, see issue #23 Files changed: M src/archetypes/referencebrowserwidget/browser/view.py M src/archetypes/referencebrowserwidget/config.py M src/archetypes/referencebrowserwidget/tests/test_product.py M src/archetypes/referencebrowserwidget/widget.py Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-19T11:03:46+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@02537c9 Display a help message if wildcard search is available for currently selected index Files changed: M src/archetypes/referencebrowserwidget/browser/popup.pt M src/archetypes/referencebrowserwidget/browser/view.py M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-19T11:06:53+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@7f37f30 Updated changelog Files changed: M docs/CHANGES.txt Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-19T11:13:18+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@d246761 Updated demo to be able to test disabled wildcard search easily, see issue #23 Files changed: M src/archetypes/referencebrowserwidget/demo.py Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-20T09:48:16+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@16b0051 Avoid to use jQuery eval() method, make sure data is valid JSON so it can be extracted automatically by jQuery.data Files changed: M src/archetypes/referencebrowserwidget/browser/popup.pt M src/archetypes/referencebrowserwidget/browser/view.py M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-23T10:29:12+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@cf40286 Moved help message translation to a method on the popup view, see issue #23 Files changed: M src/archetypes/referencebrowserwidget/browser/popup.pt M src/archetypes/referencebrowserwidget/browser/view.py Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-23T13:18:39+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@051bd8e Typo + use _ to translate so i18ndude can find the msgid Files changed: M src/archetypes/referencebrowserwidget/browser/view.py Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-23T19:01:55+01:00 Author: Vincent Fretin (vincentfretin) <vincent.fretin@gmail.com> Commit: plone/archetypes.referencebrowserwidget@65394a2 Merge pull request #24 from gbastien/master New feature widget.use_wildcard_search Files changed: M docs/CHANGES.txt M src/archetypes/referencebrowserwidget/browser/popup.pt M src/archetypes/referencebrowserwidget/browser/view.py M src/archetypes/referencebrowserwidget/config.py M src/archetypes/referencebrowserwidget/demo.py M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js M src/archetypes/referencebrowserwidget/tests/test_product.py M src/archetypes/referencebrowserwidget/widget.py
Branch: refs/heads/master Date: 2015-03-18T17:05:23+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@65851d4 Adding widget.use_wild_card_search parameter, see issue #23 Files changed: M src/archetypes/referencebrowserwidget/browser/view.py M src/archetypes/referencebrowserwidget/config.py M src/archetypes/referencebrowserwidget/tests/test_product.py M src/archetypes/referencebrowserwidget/widget.py Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-19T11:03:46+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@02537c9 Display a help message if wildcard search is available for currently selected index Files changed: M src/archetypes/referencebrowserwidget/browser/popup.pt M src/archetypes/referencebrowserwidget/browser/view.py M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-19T11:06:53+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@7f37f30 Updated changelog Files changed: M docs/CHANGES.txt Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-19T11:13:18+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@d246761 Updated demo to be able to test disabled wildcard search easily, see issue #23 Files changed: M src/archetypes/referencebrowserwidget/demo.py Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-20T09:48:16+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@16b0051 Avoid to use jQuery eval() method, make sure data is valid JSON so it can be extracted automatically by jQuery.data Files changed: M src/archetypes/referencebrowserwidget/browser/popup.pt M src/archetypes/referencebrowserwidget/browser/view.py M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-23T10:29:12+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@cf40286 Moved help message translation to a method on the popup view, see issue #23 Files changed: M src/archetypes/referencebrowserwidget/browser/popup.pt M src/archetypes/referencebrowserwidget/browser/view.py Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-23T13:18:39+01:00 Author: Gauthier Bastien (gbastien) <g.bastien@imio.be> Commit: plone/archetypes.referencebrowserwidget@051bd8e Typo + use _ to translate so i18ndude can find the msgid Files changed: M src/archetypes/referencebrowserwidget/browser/view.py Repository: archetypes.referencebrowserwidget Branch: refs/heads/master Date: 2015-03-23T19:01:55+01:00 Author: Vincent Fretin (vincentfretin) <vincent.fretin@gmail.com> Commit: plone/archetypes.referencebrowserwidget@65394a2 Merge pull request #24 from gbastien/master New feature widget.use_wildcard_search Files changed: M docs/CHANGES.txt M src/archetypes/referencebrowserwidget/browser/popup.pt M src/archetypes/referencebrowserwidget/browser/view.py M src/archetypes/referencebrowserwidget/config.py M src/archetypes/referencebrowserwidget/demo.py M src/archetypes/referencebrowserwidget/skins/referencebrowser/referencebrowser.js M src/archetypes/referencebrowserwidget/tests/test_product.py M src/archetypes/referencebrowserwidget/widget.py
Branch: refs/heads/master Date: 2015-03-30T14:07:40+02:00 Author: Harald Friessnegger (frisi) <harald@webmeisterei.com> Commit: plone/archetypes.referencebrowserwidget@a02e2c8 activate automatic wildcard search (PR #24) for textindexng too Files changed: M src/archetypes/referencebrowserwidget/config.py
Branch: refs/heads/master Date: 2015-03-30T14:07:40+02:00 Author: Harald Friessnegger (frisi) <harald@webmeisterei.com> Commit: plone/archetypes.referencebrowserwidget@a02e2c8 activate automatic wildcard search (PR #24) for textindexng too Files changed: M src/archetypes/referencebrowserwidget/config.py
Branch: refs/heads/master Date: 2015-05-29T17:39:01+02:00 Author: Timo Stollenwerk (tisto) <tisto@plone.org> Commit: plone/plone.app.blob@ab8898c Revert "Fixing permission for download (refs #22)" Files changed: M src/plone/app/blob/field.py Repository: plone.app.blob Branch: refs/heads/master Date: 2015-05-29T10:43:39-05:00 Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.app.blob@6b466bf Merge pull request #24 from plone/revert-23-download-fix Revert "Fixing permission for download (refs #22)" Files changed: M src/plone/app/blob/field.py
Branch: refs/heads/master Date: 2015-05-29T17:39:01+02:00 Author: Timo Stollenwerk (tisto) <tisto@plone.org> Commit: plone/plone.app.blob@ab8898c Revert "Fixing permission for download (refs #22)" Files changed: M src/plone/app/blob/field.py Repository: plone.app.blob Branch: refs/heads/master Date: 2015-05-29T10:43:39-05:00 Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.app.blob@6b466bf Merge pull request #24 from plone/revert-23-download-fix Revert "Fixing permission for download (refs #22)" Files changed: M src/plone/app/blob/field.py
Branch: refs/heads/master Date: 2015-06-02T13:58:30+02:00 Author: Tom Gross (tomgross) <itconsense@gmail.com> Commit: plone/plone.app.collection@434a355 This package does not depend on plone.app.form Files changed: M setup.py Repository: plone.app.collection Branch: refs/heads/master Date: 2015-06-02T19:43:36+02:00 Author: Tom Gross (tomgross) <itconsense@gmail.com> Commit: plone/plone.app.collection@88d9bff added Plone 4.3 classifiers Files changed: M setup.py Repository: plone.app.collection Branch: refs/heads/master Date: 2015-06-02T22:09:51-05:00 Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.app.collection@6cc6754 Merge pull request #24 from plone/tomgross-patch-1 This package does not depend on plone.app.form Files changed: M setup.py
Branch: refs/heads/master Date: 2015-06-02T16:14:28+02:00 Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com> Commit: plone/plone.schemaeditor@105ea0f do not assume fieldfactory exists Files changed: M plone/schemaeditor/browser/schema/listing.py Repository: plone.schemaeditor Branch: refs/heads/master Date: 2015-06-02T16:15:43+02:00 Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com> Commit: plone/plone.schemaeditor@f795625 merge Files changed: M CHANGES.rst M plone/schemaeditor/browser/schema/listing.py M plone/schemaeditor/browser/schema/schema_listing.pt M plone/schemaeditor/fields.py M plone/schemaeditor/interfaces.py Repository: plone.schemaeditor Branch: refs/heads/master Date: 2015-06-02T17:18:52+02:00 Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com> Commit: plone/plone.schemaeditor@dfb2e83 add a 'protected' attribute to field factory Files changed: M CHANGES.rst M plone/schemaeditor/browser/schema/listing.py M plone/schemaeditor/browser/schema/schema_listing.pt M plone/schemaeditor/fields.py M plone/schemaeditor/interfaces.py Repository: plone.schemaeditor Branch: refs/heads/master Date: 2015-06-03T11:46:58+02:00 Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com> Commit: plone/plone.schemaeditor@022e4f6 Merge pull request #24 from plone/ebr-protected-field Tests are green , I merge Files changed: M CHANGES.rst M plone/schemaeditor/browser/schema/listing.py M plone/schemaeditor/browser/schema/schema_listing.pt M plone/schemaeditor/fields.py M plone/schemaeditor/interfaces.py
Branch: refs/heads/master Date: 2015-09-17T11:45:27+02:00 Author: Johannes Raggam (thet) <raggam-nl@adm.at> Commit: plone/plone.app.z3cform@8365d9f Allow time options to be customized for DatetimeWidget. Files changed: M CHANGES.rst M plone/app/z3cform/tests/test_widgets.py M plone/app/z3cform/widget.py Repository: plone.app.z3cform Branch: refs/heads/master Date: 2015-09-17T18:18:25+02:00 Author: Johannes Raggam (thet) <raggam-nl@adm.at> Commit: plone/plone.app.z3cform@77d9868 Merge pull request #24 from plone/thet-customize-time Allow time options to be customized for DatetimeWidget. Files changed: M CHANGES.rst M plone/app/z3cform/tests/test_widgets.py M plone/app/z3cform/widget.py
Branch: refs/heads/master Date: 2015-10-07T10:11:35-05:00 Author: vangheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.protect@2ff4018 Always force html serializer as the XHTML variant seems to cause character encoding issues Files changed: M CHANGES.rst M plone/protect/auto.py Repository: plone.protect Branch: refs/heads/master Date: 2015-10-07T11:29:36-05:00 Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.protect@21c12b6 Merge pull request #24 from plone/html-serializer Always force html serializer as the XHTML variant seems Files changed: M CHANGES.rst M plone/protect/auto.py
Branch: refs/heads/master Date: 2016-02-10T23:06:24+01:00 Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com> Commit: plone/plone.app.testing@cc72ec7 make sure ramcache object is valid Files changed: M CHANGES.rst M plone/app/testing/layers.py Repository: plone.app.testing Branch: refs/heads/master Date: 2016-02-11T09:08:29+01:00 Author: Eric BREHAULT (ebrehault) <ebrehault@gmail.com> Commit: plone/plone.app.testing@28e087b Merge pull request #24 from plone/ebr-ramcache-error Make sure ramcache object is valid Files changed: M CHANGES.rst M plone/app/testing/layers.py
Branch: refs/heads/1.0.x Date: 2015-12-13T23:44:12+01:00 Author: Nathan Van Gheem (vangheem) <vangheem@gmail.com> Commit: plone/plone.app.imaging@8a5719f Disable csrf protection when scale is generated and traversed to Files changed: M docs/HISTORY.txt M setup.py M src/plone/app/imaging/traverse.py Repository: plone.app.imaging Branch: refs/heads/1.0.x Date: 2016-02-23T13:35:07-05:00 Author: Eric Steele (esteele) <eric@esteele.net> Commit: plone/plone.app.imaging@132c731 Merge pull request #24 from plone/write-on-read Disable csrf protection when scale is generated and traversed to Files changed: M docs/HISTORY.txt M setup.py M src/plone/app/imaging/traverse.py
Branch: refs/heads/master Date: 2016-03-11T23:13:07+01:00 Author: Gil Forcada (gforcada) <gforcada@gnome.org> Commit: plone/plone.app.iterate@98df4a5 Minimal cleanup Files changed: M plone/app/iterate/__init__.py M plone/app/iterate/archiver.py M plone/app/iterate/browser/cancel.py M plone/app/iterate/browser/checkin.py M plone/app/iterate/browser/checkout.py M plone/app/iterate/containers.py M plone/app/iterate/copier.py M plone/app/iterate/dexterity/copier.py M plone/app/iterate/dexterity/interfaces.py M plone/app/iterate/dexterity/policy.py M plone/app/iterate/dexterity/utils.py M plone/app/iterate/event.py M plone/app/iterate/interfaces.py M plone/app/iterate/lock.py M plone/app/iterate/policy.py M plone/app/iterate/relation.py M plone/app/iterate/setuphandlers.py M plone/app/iterate/subscribers/locking.py M plone/app/iterate/subscribers/marker.py M plone/app/iterate/subscribers/versioning.py M plone/app/iterate/util.py Repository: plone.app.iterate Branch: refs/heads/master Date: 2016-03-12T08:08:15+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.forcada@freitag.de> Commit: plone/plone.app.iterate@638a61a Merge pull request #24 from plone/minimal-cleanup Minimal cleanup Files changed: M plone/app/iterate/__init__.py M plone/app/iterate/archiver.py M plone/app/iterate/browser/cancel.py M plone/app/iterate/browser/checkin.py M plone/app/iterate/browser/checkout.py M plone/app/iterate/containers.py M plone/app/iterate/copier.py M plone/app/iterate/dexterity/copier.py M plone/app/iterate/dexterity/interfaces.py M plone/app/iterate/dexterity/policy.py M plone/app/iterate/dexterity/utils.py M plone/app/iterate/event.py M plone/app/iterate/interfaces.py M plone/app/iterate/lock.py M plone/app/iterate/policy.py M plone/app/iterate/relation.py M plone/app/iterate/setuphandlers.py M plone/app/iterate/subscribers/locking.py M plone/app/iterate/subscribers/marker.py M plone/app/iterate/subscribers/versioning.py M plone/app/iterate/util.py
Branch: refs/heads/master Date: 2016-03-11T23:13:07+01:00 Author: Gil Forcada (gforcada) <gforcada@gnome.org> Commit: plone/plone.app.iterate@98df4a5 Minimal cleanup Files changed: M plone/app/iterate/__init__.py M plone/app/iterate/archiver.py M plone/app/iterate/browser/cancel.py M plone/app/iterate/browser/checkin.py M plone/app/iterate/browser/checkout.py M plone/app/iterate/containers.py M plone/app/iterate/copier.py M plone/app/iterate/dexterity/copier.py M plone/app/iterate/dexterity/interfaces.py M plone/app/iterate/dexterity/policy.py M plone/app/iterate/dexterity/utils.py M plone/app/iterate/event.py M plone/app/iterate/interfaces.py M plone/app/iterate/lock.py M plone/app/iterate/policy.py M plone/app/iterate/relation.py M plone/app/iterate/setuphandlers.py M plone/app/iterate/subscribers/locking.py M plone/app/iterate/subscribers/marker.py M plone/app/iterate/subscribers/versioning.py M plone/app/iterate/util.py Repository: plone.app.iterate Branch: refs/heads/master Date: 2016-03-12T08:08:15+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.forcada@freitag.de> Commit: plone/plone.app.iterate@638a61a Merge pull request #24 from plone/minimal-cleanup Minimal cleanup Files changed: M plone/app/iterate/__init__.py M plone/app/iterate/archiver.py M plone/app/iterate/browser/cancel.py M plone/app/iterate/browser/checkin.py M plone/app/iterate/browser/checkout.py M plone/app/iterate/containers.py M plone/app/iterate/copier.py M plone/app/iterate/dexterity/copier.py M plone/app/iterate/dexterity/interfaces.py M plone/app/iterate/dexterity/policy.py M plone/app/iterate/dexterity/utils.py M plone/app/iterate/event.py M plone/app/iterate/interfaces.py M plone/app/iterate/lock.py M plone/app/iterate/policy.py M plone/app/iterate/relation.py M plone/app/iterate/setuphandlers.py M plone/app/iterate/subscribers/locking.py M plone/app/iterate/subscribers/marker.py M plone/app/iterate/subscribers/versioning.py M plone/app/iterate/util.py
Branch: refs/heads/1.1.x Date: 2016-03-03T18:14:31+01:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.caching@2cac516 Show status after synchronous purge if it is an error status. I had a misconfiguration, where all purge requests were denied by varnish because my ip address was not in the allowed list. This gave a status 504 on all purge requests, but this was nowhere visible. The controlpanel only showed 'The following items were purged:' with the list I expected, no errors. Files changed: M CHANGES.rst M plone/app/caching/browser/controlpanel.py Repository: plone.app.caching Branch: refs/heads/1.1.x Date: 2016-03-13T21:55:34+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.caching@48be95e Merge pull request #24 from plone/maurits-report-purge-error-status-43 Show status after synchronous purge if it is an error status. Branch 1.1.x Files changed: M CHANGES.rst M plone/app/caching/browser/controlpanel.py
Branch: refs/heads/master Date: 2016-05-11T17:05:16+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.namedfile@df0184f Use latest plone.scale scaling factories. This include also a code overhaul. Files changed: A plone/namedfile/testing.py A plone/namedfile/testing.zcml M CHANGES.rst M plone/namedfile/scaling.py M plone/namedfile/scaling.zcml M plone/namedfile/tests/test_blobfile.py M plone/namedfile/tests/test_doctests.py M plone/namedfile/tests/test_image.py M plone/namedfile/tests/test_scaling.py M plone/namedfile/usage.rst M setup.py D plone/namedfile/tests/base.py D plone/namedfile/tests/testing.zcml Repository: plone.namedfile Branch: refs/heads/master Date: 2016-05-11T17:05:51+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.namedfile@ff46f12 Fix the test setup and tests. - fixed test isolation problem - separate tests for easier debugging - fix zope.testbrowser tests to commit transaction - workaround to make a head request Files changed: A plone/namedfile/tests/test_scaling_functional.py M CHANGES.rst M plone/namedfile/tests/test_blobfile.py M plone/namedfile/tests/test_scaling.py Repository: plone.namedfile Branch: refs/heads/master Date: 2016-05-11T17:06:42+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.namedfile@ec2ea87 overhaul conditional import while at it. Files changed: M CHANGES.rst M plone/namedfile/configure.zcml M plone/namedfile/handler.py M plone/namedfile/marshaler.py M plone/namedfile/scaling.py M plone/namedfile/storages.py M setup.py Repository: plone.namedfile Branch: refs/heads/master Date: 2016-05-11T19:43:58+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.namedfile@a7c7d91 pass scale to factory Files changed: M plone/namedfile/scaling.py Repository: plone.namedfile Branch: refs/heads/master Date: 2016-05-12T11:19:49+02:00 Author: agitator (agitator) <hpeter@agitator.com> Commit: plone/plone.namedfile@a9a0904 Merge pull request #24 from plone/scale-factories use latest plone.scale scaling factories Files changed: A plone/namedfile/testing.py A plone/namedfile/testing.zcml A plone/namedfile/tests/test_scaling_functional.py M CHANGES.rst M plone/namedfile/configure.zcml M plone/namedfile/handler.py M plone/namedfile/marshaler.py M plone/namedfile/scaling.py M plone/namedfile/scaling.zcml M plone/namedfile/storages.py M plone/namedfile/tests/test_blobfile.py M plone/namedfile/tests/test_doctests.py M plone/namedfile/tests/test_image.py M plone/namedfile/tests/test_scaling.py M plone/namedfile/usage.rst M setup.py D plone/namedfile/tests/base.py D plone/namedfile/tests/testing.zcml
Branch: refs/heads/master Date: 2016-05-06T17:23:20-03:00 Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com> Commit: plone/plone.formwidget.namedfile@e58e9be Modify tests so that is clear that the download_url depends on the current request URL Files changed: M plone/formwidget/namedfile/widget.rst Repository: plone.formwidget.namedfile Branch: refs/heads/master Date: 2016-05-06T18:13:04-03:00 Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com> Commit: plone/plone.formwidget.namedfile@ae26693 Make the download URL independent of the request URL. The format of the URL will always be: $CONTEXT_URL/[$FORM/]++widget++$FIELD/@@Download[/$FILENAME] Files changed: M CHANGES.rst M plone/formwidget/namedfile/widget.py M plone/formwidget/namedfile/widget.rst Repository: plone.formwidget.namedfile Branch: refs/heads/master Date: 2016-05-10T09:54:20-03:00 Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com> Commit: plone/plone.formwidget.namedfile@b21a8d6 Handle contexts that do not implement absolute_url() Files changed: M plone/formwidget/namedfile/widget.py M plone/formwidget/namedfile/widget.rst Repository: plone.formwidget.namedfile Branch: refs/heads/master Date: 2016-05-12T10:06:07-03:00 Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com> Commit: plone/plone.formwidget.namedfile@a288bb0 Clarifies on docs that the name of the widget is used to compose the download URL, not the field name (they often are the same though). Files changed: M CHANGES.rst M plone/formwidget/namedfile/widget.rst Repository: plone.formwidget.namedfile Branch: refs/heads/master Date: 2016-05-12T12:47:22-03:00 Author: Rafael Oliveira (rafaelbco) <rafaelbco@gmail.com> Commit: plone/plone.formwidget.namedfile@c745bf3 Fix test Files changed: M plone/formwidget/namedfile/widget.rst Repository: plone.formwidget.namedfile Branch: refs/heads/master Date: 2016-05-18T17:46:48+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.formwidget.namedfile@a72e641 Merge pull request #24 from plone/fix_download_url Fix download url Files changed: M CHANGES.rst M plone/formwidget/namedfile/widget.py M plone/formwidget/namedfile/widget.rst
Branch: refs/heads/master Date: 2018-06-27T09:47:26+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.relationfield@11cca7a fix tests in py3 Files changed: M plone/app/relationfield/marshaler.py M plone/app/relationfield/marshaler.rst M plone/app/relationfield/supermodel.txt M plone/app/relationfield/tests/test_supermodel.py Repository: plone.app.relationfield Branch: refs/heads/master Date: 2018-09-19T15:35:54+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.relationfield@7c1c1ad add changenote and classifiers Files changed: M CHANGES.rst M setup.py Repository: plone.app.relationfield Branch: refs/heads/master Date: 2018-09-19T16:53:36+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.relationfield@c0ba587 Merge pull request #24 from plone/python3 fix tests in py3 Files changed: M CHANGES.rst M plone/app/relationfield/marshaler.py M plone/app/relationfield/marshaler.rst M plone/app/relationfield/supermodel.txt M plone/app/relationfield/tests/test_supermodel.py M setup.py
Branch: refs/heads/master Date: 2018-06-27T09:47:26+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.relationfield@11cca7a fix tests in py3 Files changed: M plone/app/relationfield/marshaler.py M plone/app/relationfield/marshaler.rst M plone/app/relationfield/supermodel.txt M plone/app/relationfield/tests/test_supermodel.py Repository: plone.app.relationfield Branch: refs/heads/master Date: 2018-09-19T15:35:54+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.relationfield@7c1c1ad add changenote and classifiers Files changed: M CHANGES.rst M setup.py Repository: plone.app.relationfield Branch: refs/heads/master Date: 2018-09-19T16:53:36+02:00 Author: Philip Bauer (pbauer) <bauer@starzel.de> Commit: plone/plone.app.relationfield@c0ba587 Merge pull request #24 from plone/python3 fix tests in py3 Files changed: M CHANGES.rst M plone/app/relationfield/marshaler.py M plone/app/relationfield/marshaler.rst M plone/app/relationfield/supermodel.txt M plone/app/relationfield/tests/test_supermodel.py M setup.py
Branch: refs/heads/master Date: 2018-09-24T00:31:51+02:00 Author: ale-rt (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/Products.CMFPlacefulWorkflow@072bd4b Fix almost all tests in exportimport.txt in Python3 Was not able to fix this one: ``` >>> snapshotResults = ps.createSnapshot('sn1') ``` Files changed: M Products/CMFPlacefulWorkflow/tests/exportimport.txt Repository: Products.CMFPlacefulWorkflow Branch: refs/heads/master Date: 2018-09-25T14:13:12+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/Products.CMFPlacefulWorkflow@8c6fc6a Merge pull request #24 from plone/python3 Fix almost all tests in exportimport.txt in Python3 Files changed: M Products/CMFPlacefulWorkflow/tests/exportimport.txt
Branch: refs/heads/master Date: 2018-11-27T21:38:03+01:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.batching@de67c8a Do not show batch navigation for single page with orphan. Files changed: A news/9.bugfix M plone/batching/batch.py M plone/batching/tests.py Repository: plone.batching Branch: refs/heads/master Date: 2018-11-28T09:00:15+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.batching@94e1740 Merge pull request #24 from plone/fix-single-page-with-orphan Do not show batch navigation for single page with orphan. Files changed: A news/9.bugfix M plone/batching/batch.py M plone/batching/tests.py
Branch: refs/heads/master Date: 2018-11-27T21:38:03+01:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.batching@de67c8a Do not show batch navigation for single page with orphan. Files changed: A news/9.bugfix M plone/batching/batch.py M plone/batching/tests.py Repository: plone.batching Branch: refs/heads/master Date: 2018-11-28T09:00:15+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.batching@94e1740 Merge pull request #24 from plone/fix-single-page-with-orphan Do not show batch navigation for single page with orphan. Files changed: A news/9.bugfix M plone/batching/batch.py M plone/batching/tests.py
Branch: refs/heads/master Date: 2018-11-27T21:38:03+01:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.batching@de67c8a Do not show batch navigation for single page with orphan. Files changed: A news/9.bugfix M plone/batching/batch.py M plone/batching/tests.py Repository: plone.batching Branch: refs/heads/master Date: 2018-11-28T09:00:15+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.batching@94e1740 Merge pull request #24 from plone/fix-single-page-with-orphan Do not show batch navigation for single page with orphan. Files changed: A news/9.bugfix M plone/batching/batch.py M plone/batching/tests.py
Branch: refs/heads/master Date: 2018-12-05T07:23:21+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.i18n@fef9f8b code and test cleanup Files changed: A pyproject.toml M CHANGES.rst M plone/i18n/interfaces.py M plone/i18n/locales/cctld.py M plone/i18n/locales/countries.py M plone/i18n/locales/interfaces.py M plone/i18n/locales/languages.py M plone/i18n/locales/tests/base.py M plone/i18n/locales/tests/test_cctlds.py M plone/i18n/locales/tests/test_countries.py M plone/i18n/locales/tests/test_languages.py M plone/i18n/negotiate/negotiate.py M plone/i18n/negotiate/ptsnegotiator.py M plone/i18n/normalizer/adapters.py M plone/i18n/normalizer/base.py M plone/i18n/normalizer/bg.py M plone/i18n/normalizer/de.py M plone/i18n/normalizer/el.py M plone/i18n/normalizer/es.py M plone/i18n/normalizer/fr.py M plone/i18n/normalizer/pl.py M plone/i18n/normalizer/pt.py M plone/i18n/normalizer/ru.py M plone/i18n/normalizer/tests/base.py M plone/i18n/normalizer/tests/test_adapters.py M plone/i18n/normalizer/tests/test_normalizer.py M plone/i18n/normalizer/tr.py M plone/i18n/normalizer/uk.py M plone/i18n/tests/base.py M plone/i18n/tests/test_languageutility.py M plone/i18n/tests/test_negotiation.py M plone/i18n/utility.py M setup.cfg Repository: plone.i18n Branch: refs/heads/master Date: 2018-12-06T00:20:43+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.i18n@3afbcbe Merge pull request #24 from plone/cleanup-tests-and-code code and test cleanup Files changed: A pyproject.toml M CHANGES.rst M plone/i18n/interfaces.py M plone/i18n/locales/cctld.py M plone/i18n/locales/countries.py M plone/i18n/locales/interfaces.py M plone/i18n/locales/languages.py M plone/i18n/locales/tests/base.py M plone/i18n/locales/tests/test_cctlds.py M plone/i18n/locales/tests/test_countries.py M plone/i18n/locales/tests/test_languages.py M plone/i18n/negotiate/negotiate.py M plone/i18n/negotiate/ptsnegotiator.py M plone/i18n/normalizer/adapters.py M plone/i18n/normalizer/base.py M plone/i18n/normalizer/bg.py M plone/i18n/normalizer/de.py M plone/i18n/normalizer/el.py M plone/i18n/normalizer/es.py M plone/i18n/normalizer/fr.py M plone/i18n/normalizer/pl.py M plone/i18n/normalizer/pt.py M plone/i18n/normalizer/ru.py M plone/i18n/normalizer/tests/base.py M plone/i18n/normalizer/tests/test_adapters.py M plone/i18n/normalizer/tests/test_normalizer.py M plone/i18n/normalizer/tr.py M plone/i18n/normalizer/uk.py M plone/i18n/tests/base.py M plone/i18n/tests/test_languageutility.py M plone/i18n/tests/test_negotiation.py M plone/i18n/utility.py M setup.cfg
Branch: refs/heads/master Date: 2019-02-23T11:02:09+01:00 Author: ale-rt (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/plone.app.debugtoolbar@4e1f73b Do not break when portal_css or portal_javascript are missing Fixes #23 Files changed: A news/23.bugfix M src/plone/app/debugtoolbar/browser/theme.pt M src/plone/app/debugtoolbar/browser/theme.py Repository: plone.app.debugtoolbar Branch: refs/heads/master Date: 2019-03-01T01:29:41+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.debugtoolbar@e19f451 Merge pull request #24 from plone/23-fix-debugtoolbar Do not break when portal_css or portal_javascript are missing Files changed: A news/23.bugfix M src/plone/app/debugtoolbar/browser/theme.pt M src/plone/app/debugtoolbar/browser/theme.py
Branch: refs/heads/master Date: 2019-02-23T11:02:09+01:00 Author: ale-rt (ale-rt) <alessandro.pisa@gmail.com> Commit: plone/plone.app.debugtoolbar@4e1f73b Do not break when portal_css or portal_javascript are missing Fixes #23 Files changed: A news/23.bugfix M src/plone/app/debugtoolbar/browser/theme.pt M src/plone/app/debugtoolbar/browser/theme.py Repository: plone.app.debugtoolbar Branch: refs/heads/master Date: 2019-03-01T01:29:41+01:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.debugtoolbar@e19f451 Merge pull request #24 from plone/23-fix-debugtoolbar Do not break when portal_css or portal_javascript are missing Files changed: A news/23.bugfix M src/plone/app/debugtoolbar/browser/theme.pt M src/plone/app/debugtoolbar/browser/theme.py
Branch: refs/heads/master Date: 2019-06-11T09:53:40+02:00 Author: Fulvio Casali (fulv) <fulviocasali@gmail.com> Commit: plone/plone.staticresources@0f6b7c5 Rebundle plone-logged-in to fix again plone/mockup#895 Files changed: M src/plone/staticresources/static/plone-logged-in-compiled.css M src/plone/staticresources/static/plone-logged-in-compiled.css.map M src/plone/staticresources/static/plone-logged-in-compiled.js M src/plone/staticresources/static/plone-logged-in-compiled.min.js M src/plone/staticresources/static/plone-logged-in-compiled.min.js.map Repository: plone.staticresources Branch: refs/heads/master Date: 2019-06-11T09:53:44+02:00 Author: Fulvio Casali (fulv) <fulviocasali@gmail.com> Commit: plone/plone.staticresources@bc33983 Add towncrier file. Files changed: A news/24.bugfix Repository: plone.staticresources Branch: refs/heads/master Date: 2019-06-11T12:21:24+02:00 Author: Davi Lima (davilima6) <davilima6@gmail.com> Commit: plone/plone.staticresources@172d10b Merge pull request #24 from plone/895-fix-alignment Fixes plone/mockup#895 again. Files changed: A news/24.bugfix M src/plone/staticresources/static/plone-logged-in-compiled.css M src/plone/staticresources/static/plone-logged-in-compiled.css.map M src/plone/staticresources/static/plone-logged-in-compiled.js M src/plone/staticresources/static/plone-logged-in-compiled.min.js M src/plone/staticresources/static/plone-logged-in-compiled.min.js.map
Branch: refs/heads/master Date: 2020-08-22T11:16:22+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.subrequest@4ddab79 Fixed deprecation warning for zope.site.hooks. ``` DeprecationWarning: zope.site.hooks has moved to zope.component.hooks. Import of zope.site.hooks will become unsupported in Version 5.0 ``` Files changed: A news/24.bugfix M plone/subrequest/__init__.py Repository: plone.subrequest Branch: refs/heads/master Date: 2020-08-24T11:15:20+02:00 Author: Maurits van Rees (mauritsvanrees) <m.van.rees@zestsoftware.nl> Commit: plone/plone.subrequest@392aecf Merge pull request #24 from plone/maurits/fix-startup-warnings Fixed deprecation warning for zope.site.hooks Files changed: A news/24.bugfix M plone/subrequest/__init__.py
Branch: refs/heads/master Date: 2020-09-02T23:32:57+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/Products.CMFFormController@24f5fe4 Removed security declaration for nonexistent method ZPythonScriptHTML_changePrefs. Warnings on startup: ``` Class Products.CMFFormController.ControllerPythonScript.ControllerPythonScript has a security declaration for nonexistent method 'ZPythonScriptHTML_changePrefs' Class Products.CMFFormController.ControllerValidator.ControllerValidator has a security declaration for nonexistent method 'ZPythonScriptHTML_changePrefs' ``` This method was removed from `Products.PythonScripts` in version 4.2, from October 2018. Added `Products.PythonScripts>=4.2` as dependency. Files changed: A news/3130.bugfix M Products/CMFFormController/ControllerPythonScript.py M Products/CMFFormController/ControllerValidator.py M setup.py Repository: Products.CMFFormController Branch: refs/heads/master Date: 2020-09-03T01:14:40+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/Products.CMFFormController@58d3215 Merge pull request #24 from plone/maurits/fix-warnings Removed security declaration for nonexistent method Files changed: A news/3130.bugfix M Products/CMFFormController/ControllerPythonScript.py M Products/CMFFormController/ControllerValidator.py M setup.py
Branch: refs/heads/main Date: 2021-11-18T09:22:22+01:00 Author: Andrea Cecchi (cekk) <andrea.cecchi85@gmail.com> Commit: plone/plone.volto@1a849a5 Fix translation domains and add Italian (#24) * fix translation domains and add Italian * add new files and update changelog * fix description for field Co-authored-by: Timo Stollenwerk <stollenwerk@kitconcept.com> Files changed: A src/plone/volto/locales/it/LC_MESSAGES/plone.volto.po M CHANGES.rst M src/plone/volto/behaviors/preview.py M src/plone/volto/locales/de/LC_MESSAGES/plone.volto.po M src/plone/volto/locales/en/LC_MESSAGES/plone.volto.po M src/plone/volto/locales/plone.volto.pot
Branch: refs/heads/master Date: 2022-08-13T18:58:46+05:30 Author: rohnsha0 (rohnsha0) <rohnsha0@gmail.com> Commit: plone/Plone@4d3f910 corrected reviewed errors Files changed: M README.rst Repository: Plone Branch: refs/heads/master Date: 2022-08-13T19:00:46+05:30 Author: Rohan Shaw (rohnsha0) <86848116+rohnsha0@users.noreply.github.com> Commit: plone/Plone@02f6fdc Merge pull request #24 from rohnsha0/Issue#21 corrected reviewed errors Files changed: M README.rst
Branch: refs/heads/master Date: 2022-11-30T04:14:19+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.portlet.static@5b21639 chore: run pyupgrade --py38-plus Files changed: M plone/portlet/__init__.py M plone/portlet/static/__init__.py M plone/portlet/static/static.py M plone/portlet/static/testing.py M plone/portlet/static/tests/__init__.py M plone/portlet/static/tests/test_portlet_static.py Repository: plone.portlet.static Branch: refs/heads/master Date: 2022-11-30T04:15:24+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.portlet.static@903242f fix: remove six dependency Files changed: M plone/portlet/static/static.py M setup.py Repository: plone.portlet.static Branch: refs/heads/master Date: 2022-11-30T04:17:21+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.portlet.static@0e99f1f Add news entry Files changed: A news/1.bugfix Repository: plone.portlet.static Branch: refs/heads/master Date: 2022-11-30T06:39:22+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.portlet.static@5bf7d35 Merge pull request #24 from plone/remove-six Remove six Files changed: A news/1.bugfix M plone/portlet/__init__.py M plone/portlet/static/__init__.py M plone/portlet/static/static.py M plone/portlet/static/testing.py M plone/portlet/static/tests/__init__.py M plone/portlet/static/tests/test_portlet_static.py M setup.py
Branch: refs/heads/main Date: 2022-12-05T13:26:29-06:00 Author: Dante Álvarez (danalvrz) <89805481+danalvrz@users.noreply.github.com> Commit: plone/plone.base@06f6508 Change title and description for types_not_searched in ISearchSchema Files changed: M src/plone/base/interfaces/controlpanel.py Repository: plone.base Branch: refs/heads/main Date: 2022-12-05T13:29:56-06:00 Author: Dante Álvarez (danalvrz) <89805481+danalvrz@users.noreply.github.com> Commit: plone/plone.base@46e3071 Add changelog file Files changed: A news/24.bugfix Repository: plone.base Branch: refs/heads/main Date: 2022-12-05T13:31:34-06:00 Author: Dante Álvarez (danalvrz) <89805481+danalvrz@users.noreply.github.com> Commit: plone/plone.base@f6c95cc Text fix Files changed: M src/plone/base/interfaces/controlpanel.py Repository: plone.base Branch: refs/heads/main Date: 2022-12-05T13:32:32-06:00 Author: Dante Álvarez (danalvrz) <89805481+danalvrz@users.noreply.github.com> Commit: plone/plone.base@70e3219 Changelog file fix Files changed: M news/24.bugfix Repository: plone.base Branch: refs/heads/main Date: 2022-12-05T13:37:57-08:00 Author: David Glick (davisagli) <david@glicksoftware.com> Commit: plone/plone.base@127b7ba Merge pull request #24 from plone/search-controlpanel-bugfix Change title and description for types_not_searched in ISearchSchema Files changed: A news/24.bugfix M src/plone/base/interfaces/controlpanel.py
Branch: refs/heads/master Date: 2023-03-11T23:49:35+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@2f50cb6 Configuring with plone/meta Files changed: A news/a533099d.internal A tox.ini M pyproject.toml M setup.cfg Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-11T23:53:01+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@e126876 chore: pyupgrade Files changed: M src/plone/z3cform/converter.py M src/plone/z3cform/crud/crud.py M src/plone/z3cform/fieldsets/extensible.py M src/plone/z3cform/fieldsets/group.py M src/plone/z3cform/fieldsets/interfaces.py M src/plone/z3cform/fieldsets/utils.py M src/plone/z3cform/interfaces.py M src/plone/z3cform/layout.py M src/plone/z3cform/subform.py M src/plone/z3cform/tests.py M src/plone/z3cform/textlines/textlines.py M src/plone/z3cform/traversal.py M src/plone/z3cform/widget.py M src/plone/z3cform/z2.py Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-11T23:53:32+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@dc95aee chore: isort Files changed: M setup.py M src/plone/z3cform/__init__.py M src/plone/z3cform/converter.py M src/plone/z3cform/crud/crud.py M src/plone/z3cform/layout.py M src/plone/z3cform/patch.py M src/plone/z3cform/templates.py M src/plone/z3cform/tests.py M src/plone/z3cform/textlines/textlines.py M src/plone/z3cform/widget.py M src/plone/z3cform/z2.py Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-11T23:56:12+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@09de6be chore: black Files changed: M setup.py M src/plone/__init__.py M src/plone/z3cform/__init__.py M src/plone/z3cform/crud/crud.py M src/plone/z3cform/fieldsets/extensible.py M src/plone/z3cform/fieldsets/group.py M src/plone/z3cform/fieldsets/interfaces.py M src/plone/z3cform/fieldsets/utils.py M src/plone/z3cform/interfaces.py M src/plone/z3cform/layout.py M src/plone/z3cform/subform.py M src/plone/z3cform/templates.py M src/plone/z3cform/tests.py M src/plone/z3cform/textlines/textlines.py M src/plone/z3cform/traversal.py M src/plone/z3cform/widget.py M src/plone/z3cform/z2.py Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-11T23:57:00+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@b013d70 chore: zpretty Files changed: M src/plone/z3cform/configure.zcml M src/plone/z3cform/crud/crud-master.pt M src/plone/z3cform/crud/crud-row.pt M src/plone/z3cform/crud/crud-table.pt M src/plone/z3cform/overrides.zcml M src/plone/z3cform/pagetemplates/form.pt M src/plone/z3cform/pagetemplates/layout.pt M src/plone/z3cform/pagetemplates/macros.pt M src/plone/z3cform/pagetemplates/subform.pt M src/plone/z3cform/pagetemplates/wrappedsubform.pt M src/plone/z3cform/templates.zcml M src/plone/z3cform/testing.zcml M src/plone/z3cform/textlines/textlines.zcml M src/plone/z3cform/textlines/textlines_display.pt M src/plone/z3cform/textlines/textlines_input.pt Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-11T23:57:50+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@28682a8 feat: pyroma Files changed: M setup.py Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-12T00:08:47+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@9fe356f feat: flake8 Files changed: M setup.py M src/plone/z3cform/__init__.py M src/plone/z3cform/crud/crud.py M src/plone/z3cform/fieldsets/utils.py M src/plone/z3cform/textlines/textlines.py M src/plone/z3cform/z2.py Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-12T00:22:58+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@edecab2 feat: configure codespell Files changed: M pyproject.toml Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-12T00:22:58+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@032a067 feat: codespell Files changed: M CHANGES.rst M src/plone/z3cform/crud/README.txt M src/plone/z3cform/traversal.py M src/plone/z3cform/traversal.txt Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-12T00:24:24+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@faa7ac4 fix(tox): patch test runner invocation Files changed: M tox.ini Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-12T00:30:10+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@d6da308 feat: remove six usage Files changed: M src/plone/z3cform/inputs.txt M src/plone/z3cform/tests.py Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-12T00:46:18+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@496a36a feat: configure z3c.dependencychecker Files changed: M pyproject.toml Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-12T00:46:18+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@81bd1f4 feat: declare dependencies Files changed: M setup.py Repository: plone.z3cform Branch: refs/heads/master Date: 2023-03-12T22:13:41+01:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.z3cform@e2a443f Merge pull request #24 from plone/config-with-default-template-ec48e2c2 Config with default template Files changed: A news/a533099d.internal A tox.ini M CHANGES.rst M pyproject.toml M setup.cfg M setup.py M src/plone/__init__.py M src/plone/z3cform/__init__.py M src/plone/z3cform/configure.zcml M src/plone/z3cform/converter.py M src/plone/z3cform/crud/README.txt M src/plone/z3cform/crud/crud-master.pt M src/plone/z3cform/crud/crud-row.pt M src/plone/z3cform/crud/crud-table.pt M src/plone/z3cform/crud/crud.py M src/plone/z3cform/fieldsets/extensible.py M src/plone/z3cform/fieldsets/group.py M src/plone/z3cform/fieldsets/interfaces.py M src/plone/z3cform/fieldsets/utils.py M src/plone/z3cform/inputs.txt M src/plone/z3cform/interfaces.py M src/plone/z3cform/layout.py M src/plone/z3cform/overrides.zcml M src/plone/z3cform/pagetemplates/form.pt M src/plone/z3cform/pagetemplates/layout.pt M src/plone/z3cform/pagetemplates/macros.pt M src/plone/z3cform/pagetemplates/subform.pt M src/plone/z3cform/pagetemplates/wrappedsubform.pt M src/plone/z3cform/patch.py M src/plone/z3cform/subform.py M src/plone/z3cform/templates.py M src/plone/z3cform/templates.zcml M src/plone/z3cform/testing.zcml M src/plone/z3cform/tests.py M src/plone/z3cform/textlines/textlines.py M src/plone/z3cform/textlines/textlines.zcml M src/plone/z3cform/textlines/textlines_display.pt M src/plone/z3cform/textlines/textlines_input.pt M src/plone/z3cform/traversal.py M src/plone/z3cform/traversal.txt M src/plone/z3cform/widget.py M src/plone/z3cform/z2.py
Branch: refs/heads/master Date: 2023-04-09T10:22:46+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@055212b Configuring with plone/meta Files changed: A .editorconfig A .meta.toml A .pre-commit-config.yaml A news/3333c742.internal A tox.ini M pyproject.toml M setup.cfg D bootstrap.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:25:08+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@7303241 chore: isort Files changed: M Products/CMFDynamicViewFTI/browserdefault.py M Products/CMFDynamicViewFTI/content_for_tests.py M Products/CMFDynamicViewFTI/fti.py M Products/CMFDynamicViewFTI/interface.py M Products/CMFDynamicViewFTI/permissions.py M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py M setup.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:26:29+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@cc63fec chore: black Files changed: M Products/CMFDynamicViewFTI/__init__.py M Products/CMFDynamicViewFTI/browser/typeinfo.py M Products/CMFDynamicViewFTI/browserdefault.py M Products/CMFDynamicViewFTI/content_for_tests.py M Products/CMFDynamicViewFTI/fti.py M Products/CMFDynamicViewFTI/interface.py M Products/CMFDynamicViewFTI/interfaces.py M Products/CMFDynamicViewFTI/permissions.py M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py M Products/CMFDynamicViewFTI/tests/test_browserdefault.py M Products/CMFDynamicViewFTI/tests/test_fti.py M Products/__init__.py M setup.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:26:58+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@f7953a1 fix: no need pkgutil fallback Files changed: M Products/__init__.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:27:36+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@f7b7a18 chore: pyupgrade Files changed: M Products/CMFDynamicViewFTI/browserdefault.py M Products/CMFDynamicViewFTI/fti.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:28:01+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@d5dbf71 chore: zpretty ZXML/XML Files changed: M Products/CMFDynamicViewFTI/configure.zcml M Products/CMFDynamicViewFTI/profiles/sample_types/types.xml M Products/CMFDynamicViewFTI/profiles/sample_types/types/DynDocument.xml M Products/CMFDynamicViewFTI/profiles/sample_types/types/DynFolder.xml M Products/CMFDynamicViewFTI/tests/browserdefault.zcml Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:28:20+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@5bfab7a chore: zpretty PT Files changed: M Products/CMFDynamicViewFTI/browser/addWithPresettings.pt Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:29:47+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@8ca59c8 feat: codespell Files changed: M Products/CMFDynamicViewFTI/browserdefault.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:31:15+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@36dec77 feat: flake8 Files changed: M Products/CMFDynamicViewFTI/tests/test_browserdefault.py M Products/CMFDynamicViewFTI/tests/test_fti.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:31:45+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@eef89b2 cleanup: drop Plone 4.3 support Files changed: D Products/CMFDynamicViewFTI/interface.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T10:38:28+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@4b7b2fa feat: replace CMFPlone for plone.base Files changed: M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T13:31:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@229eac8 cleanup: remove superfluous method Files changed: M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T13:31:59+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@2531d00 fix: run test with tox Turns out that when `plone.testing` installs distributions from the `Products` namespace, it enforces that all of them have to be in the same folder (which kind of make sense) but `tox` has a different idea on that :-/ `tox` installs all dependencies but the development package is kept outside that structure, and thus the `plone.testing` condition is not met. With this patch we check if it is the `tox` case and force the install. Files changed: M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-09T13:32:00+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@87952ee feat: declare dependencies Files changed: M setup.py Repository: Products.CMFDynamicViewFTI Branch: refs/heads/master Date: 2023-04-10T12:55:02+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/Products.CMFDynamicViewFTI@ebd39f2 Merge pull request #24 from plone/config-with-default-template-7adb382a Config with default template Files changed: A .editorconfig A .meta.toml A .pre-commit-config.yaml A news/3333c742.internal A tox.ini M Products/CMFDynamicViewFTI/__init__.py M Products/CMFDynamicViewFTI/browser/addWithPresettings.pt M Products/CMFDynamicViewFTI/browser/typeinfo.py M Products/CMFDynamicViewFTI/browserdefault.py M Products/CMFDynamicViewFTI/configure.zcml M Products/CMFDynamicViewFTI/content_for_tests.py M Products/CMFDynamicViewFTI/fti.py M Products/CMFDynamicViewFTI/interfaces.py M Products/CMFDynamicViewFTI/permissions.py M Products/CMFDynamicViewFTI/profiles/sample_types/types.xml M Products/CMFDynamicViewFTI/profiles/sample_types/types/DynDocument.xml M Products/CMFDynamicViewFTI/profiles/sample_types/types/DynFolder.xml M Products/CMFDynamicViewFTI/tests/CMFDVFTITestCase.py M Products/CMFDynamicViewFTI/tests/browserdefault.zcml M Products/CMFDynamicViewFTI/tests/test_browserdefault.py M Products/CMFDynamicViewFTI/tests/test_fti.py M Products/__init__.py M pyproject.toml M setup.cfg M setup.py D Products/CMFDynamicViewFTI/interface.py D bootstrap.py
Branch: refs/heads/master Date: 2023-04-12T13:56:19+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.behavior@7b50207 Configuring with plone/meta Files changed: A .editorconfig A .meta.toml A .pre-commit-config.yaml A news/a9dd65cc.internal M pyproject.toml M setup.cfg M tox.ini D .travis.yml Repository: plone.behavior Branch: refs/heads/master Date: 2023-04-12T13:57:43+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.behavior@cf26fe3 run pyupgrade Files changed: M plone/__init__.py M plone/behavior/__init__.py M plone/behavior/annotation.py M plone/behavior/factory.py M plone/behavior/interfaces.py M plone/behavior/markers.py M plone/behavior/metaconfigure.py M plone/behavior/registration.py M plone/behavior/tests.py M plone/behavior/vocab.py Repository: plone.behavior Branch: refs/heads/master Date: 2023-04-12T23:49:57+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.behavior@3629714 run zpretty Files changed: M plone/behavior/configure.zcml M plone/behavior/meta.zcml Repository: plone.behavior Branch: refs/heads/master Date: 2023-04-12T23:49:58+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.behavior@c223935 run black Files changed: M plone/__init__.py M plone/behavior/__init__.py M plone/behavior/annotation.py M plone/behavior/factory.py M plone/behavior/interfaces.py M plone/behavior/metaconfigure.py M plone/behavior/registration.py M plone/behavior/tests.py M plone/behavior/vocab.py M setup.py Repository: plone.behavior Branch: refs/heads/master Date: 2023-04-12T23:49:58+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.behavior@8c89e4b fix metadata and bump version (cherry picked from commit 3c8040405334367e21e7c3d206a6b35c4943f10e) Files changed: M setup.py Repository: plone.behavior Branch: refs/heads/master Date: 2023-04-12T23:49:58+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.behavior@61c8a75 upgrade doctests to py3 only Files changed: M plone/behavior/annotation.rst M plone/behavior/directives.rst M plone/behavior/registration.py M plone/behavior/tests.py Repository: plone.behavior Branch: refs/heads/master Date: 2023-04-12T23:49:58+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.behavior@ad4de54 fix codespell findings. Files changed: M CHANGES.rst M README.rst M plone/behavior/directives.rst M plone/behavior/registration.py Repository: plone.behavior Branch: refs/heads/master Date: 2023-04-13T08:58:30+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.behavior@89731e1 Merge pull request #24 from plone/config-with-default-template-3f6d9cbf Config with default template 3f6d9cbf Files changed: A .editorconfig A .meta.toml A .pre-commit-config.yaml A news/a9dd65cc.internal M CHANGES.rst M README.rst M plone/__init__.py M plone/behavior/__init__.py M plone/behavior/annotation.py M plone/behavior/annotation.rst M plone/behavior/configure.zcml M plone/behavior/directives.rst M plone/behavior/factory.py M plone/behavior/interfaces.py M plone/behavior/markers.py M plone/behavior/meta.zcml M plone/behavior/metaconfigure.py M plone/behavior/registration.py M plone/behavior/tests.py M plone/behavior/vocab.py M pyproject.toml M setup.cfg M setup.py M tox.ini D .travis.yml
Branch: refs/heads/master Date: 2023-05-01T22:51:12Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.locking@e7b1d4c [pre-commit.ci] pre-commit autoupdate updates: - [github.com/asottile/pyupgrade: v3.3.1 → v3.3.2](asottile/pyupgrade@v3.3.1...v3.3.2) - [github.com/collective/zpretty: 3.0.3 → 3.0.4](collective/zpretty@3.0.3...3.0.4) Files changed: M .pre-commit-config.yaml Repository: plone.locking Branch: refs/heads/master Date: 2023-05-02T16:33:52+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.locking@51b9d1c Merge pull request #24 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
Branch: refs/heads/master Date: 2023-05-03T13:49:34+05:30 Author: kshitiz305 (kshitiz305) <kshitiz305@live.com> Commit: plone/plone.app.contentmenu@1812e07 Actions menu description It then passes an action with this empty description to the template, where it becomes an empty title attribute. #24 Files changed: A news/24.bugfix M plone/app/contentmenu/menu.py Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2023-05-03T21:17:12+05:30 Author: kshitiz305 (kshitiz305) <kshitiz305@live.com> Commit: plone/plone.app.contentmenu@e3c1fb7 Actions menu description It then passes an action with this empty description to the template, where it becomes an empty title attribute. #24 Files changed: M news/24.bugfix M plone/app/contentmenu/menu.py Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2023-05-03T21:21:44+05:30 Author: kshitiz305 (kshitiz305) <kshitiz305@live.com> Commit: plone/plone.app.contentmenu@4d726dc Actions menu description It then passes an action with this empty description to the template, where it becomes an empty title attribute. #24 Files changed: M plone/app/contentmenu/menu.py Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2023-05-15T21:23:17+05:30 Author: Kshitiz Gupta (kshitiz305) <Kshitiz305@live.com> Commit: plone/plone.app.contentmenu@24c25dc Update news/24.bugfix Co-authored-by: Gil Forcada Codinachs <gil.gnome@gmail.com> Files changed: M news/24.bugfix Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2023-05-23T14:53:43+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.contentmenu@0f5ca76 Merge pull request #48 from kshitiz305/action_menu_description Actions menu description Files changed: A news/24.bugfix M plone/app/contentmenu/menu.py
Branch: refs/heads/master Date: 2023-05-03T13:49:34+05:30 Author: kshitiz305 (kshitiz305) <kshitiz305@live.com> Commit: plone/plone.app.contentmenu@1812e07 Actions menu description It then passes an action with this empty description to the template, where it becomes an empty title attribute. #24 Files changed: A news/24.bugfix M plone/app/contentmenu/menu.py Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2023-05-03T21:17:12+05:30 Author: kshitiz305 (kshitiz305) <kshitiz305@live.com> Commit: plone/plone.app.contentmenu@e3c1fb7 Actions menu description It then passes an action with this empty description to the template, where it becomes an empty title attribute. #24 Files changed: M news/24.bugfix M plone/app/contentmenu/menu.py Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2023-05-03T21:21:44+05:30 Author: kshitiz305 (kshitiz305) <kshitiz305@live.com> Commit: plone/plone.app.contentmenu@4d726dc Actions menu description It then passes an action with this empty description to the template, where it becomes an empty title attribute. #24 Files changed: M plone/app/contentmenu/menu.py Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2023-05-15T21:23:17+05:30 Author: Kshitiz Gupta (kshitiz305) <Kshitiz305@live.com> Commit: plone/plone.app.contentmenu@24c25dc Update news/24.bugfix Co-authored-by: Gil Forcada Codinachs <gil.gnome@gmail.com> Files changed: M news/24.bugfix Repository: plone.app.contentmenu Branch: refs/heads/master Date: 2023-05-23T14:53:43+02:00 Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org> Commit: plone/plone.app.contentmenu@0f5ca76 Merge pull request #48 from kshitiz305/action_menu_description Actions menu description Files changed: A news/24.bugfix M plone/app/contentmenu/menu.py
Branch: refs/heads/master Date: 2023-06-25T09:15:46+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.customerize@5daee09 Configuring with plone/meta Files changed: A .flake8 A .github/workflows/meta.yml A news/cfffba8c.internal M .editorconfig M .gitignore M .meta.toml M .pre-commit-config.yaml M pyproject.toml M tox.ini Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-06-25T09:15:46+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.customerize@3de5267 cleanup: remove unused file Files changed: D setup.cfg Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-06-25T09:15:46+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.customerize@4099fe8 fix: adjust setup.py Files changed: M setup.py Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-06-25T09:15:47+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.customerize@e43f541 fix: mark strings for translation Files changed: M plone/app/customerize/customize.pt M plone/app/customerize/registrations.pt Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-10-04T17:19:41+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.customerize@05b24a5 Merge branch 'master' into config-with-default-template-df445ade Files changed: M .pre-commit-config.yaml M CHANGES.rst Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-10-05T09:41:22+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.customerize@a43d9d9 Merge pull request #24 from plone/config-with-default-template-df445ade Config with default template [skip ci] Files changed: A .flake8 A .github/workflows/meta.yml A news/cfffba8c.internal M .editorconfig M .gitignore M .meta.toml M .pre-commit-config.yaml M plone/app/customerize/customize.pt M plone/app/customerize/registrations.pt M pyproject.toml M setup.py M tox.ini D setup.cfg
Branch: refs/heads/master Date: 2023-06-25T09:15:46+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.customerize@5daee09 Configuring with plone/meta Files changed: A .flake8 A .github/workflows/meta.yml A news/cfffba8c.internal M .editorconfig M .gitignore M .meta.toml M .pre-commit-config.yaml M pyproject.toml M tox.ini Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-06-25T09:15:46+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.customerize@3de5267 cleanup: remove unused file Files changed: D setup.cfg Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-06-25T09:15:46+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.customerize@4099fe8 fix: adjust setup.py Files changed: M setup.py Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-06-25T09:15:47+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.app.customerize@e43f541 fix: mark strings for translation Files changed: M plone/app/customerize/customize.pt M plone/app/customerize/registrations.pt Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-10-04T17:19:41+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.customerize@05b24a5 Merge branch 'master' into config-with-default-template-df445ade Files changed: M .pre-commit-config.yaml M CHANGES.rst Repository: plone.app.customerize Branch: refs/heads/master Date: 2023-10-05T09:41:22+02:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.customerize@a43d9d9 Merge pull request #24 from plone/config-with-default-template-df445ade Config with default template [skip ci] Files changed: A .flake8 A .github/workflows/meta.yml A news/cfffba8c.internal M .editorconfig M .gitignore M .meta.toml M .pre-commit-config.yaml M plone/app/customerize/customize.pt M plone/app/customerize/registrations.pt M pyproject.toml M setup.py M tox.ini D setup.cfg
Branch: refs/heads/master Date: 2024-06-03T19:59:39Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.app.i18n@a82ec49 [pre-commit.ci] pre-commit autoupdate updates: - [github.com/codespell-project/codespell: v2.2.6 → v2.3.0](codespell-project/codespell@v2.2.6...v2.3.0) Files changed: M .pre-commit-config.yaml Repository: plone.app.i18n Branch: refs/heads/master Date: 2024-06-04T03:31:31-04:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.i18n@ffc072a Merge pull request #24 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
Branch: refs/heads/master Date: 2024-06-03T19:59:39Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.app.i18n@a82ec49 [pre-commit.ci] pre-commit autoupdate updates: - [github.com/codespell-project/codespell: v2.2.6 → v2.3.0](codespell-project/codespell@v2.2.6...v2.3.0) Files changed: M .pre-commit-config.yaml Repository: plone.app.i18n Branch: refs/heads/master Date: 2024-06-04T03:31:31-04:00 Author: Jens W. Klein (jensens) <jk@kleinundpartner.at> Commit: plone/plone.app.i18n@ffc072a Merge pull request #24 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
Branch: refs/heads/master Date: 2024-10-07T21:25:06Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.uuid@ff416cc [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0) Files changed: M .pre-commit-config.yaml Repository: plone.uuid Branch: refs/heads/master Date: 2024-10-13T00:13:01+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.uuid@4ffd2cc Merge pull request #24 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
Branch: refs/heads/master Date: 2024-10-07T21:25:06Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.uuid@ff416cc [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0) Files changed: M .pre-commit-config.yaml Repository: plone.uuid Branch: refs/heads/master Date: 2024-10-13T00:13:01+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.uuid@4ffd2cc Merge pull request #24 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
Branch: refs/heads/master Date: 2024-10-07T21:24:02Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.caching@c7477c9 [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0) Files changed: M .pre-commit-config.yaml Repository: plone.caching Branch: refs/heads/master Date: 2024-10-13T00:17:56+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.caching@7a10d0c Merge pull request #24 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
Branch: refs/heads/master Date: 2024-10-07T21:24:02Z Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> Commit: plone/plone.caching@c7477c9 [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0) Files changed: M .pre-commit-config.yaml Repository: plone.caching Branch: refs/heads/master Date: 2024-10-13T00:17:56+02:00 Author: Gil Forcada Codinachs (gforcada) <gil.gnome@gmail.com> Commit: plone/plone.caching@7a10d0c Merge pull request #24 from plone/pre-commit-ci-update-config [pre-commit.ci] pre-commit autoupdate Files changed: M .pre-commit-config.yaml
It is only imported in Products.TinyMCE as a fallback if json is not found, which is hard to achieve in Python 2.6 upwards.
Or is there any good reason not to remove it?