From 8ddf2e3ecdf595e1cc86cbed70a96e02506143d1 Mon Sep 17 00:00:00 2001 From: Gauthier Bastien Date: Fri, 3 Jun 2022 14:35:34 +0200 Subject: [PATCH 1/3] Plone5.2/6 and Python3 compatibility. --- docs/HISTORY.txt | 2 +- ftw/referencewidget/browser/generate_pathbar.py | 5 +++++ ftw/referencewidget/selectable.py | 4 ++-- ftw/referencewidget/sources.py | 6 +++--- ftw/referencewidget/widget.py | 4 ++-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/docs/HISTORY.txt b/docs/HISTORY.txt index 96ccd78..a96c297 100644 --- a/docs/HISTORY.txt +++ b/docs/HISTORY.txt @@ -5,7 +5,7 @@ Changelog 3.0.7 (unreleased) ------------------ -- Nothing changed yet. +- Plone5.2/6 and Python3 compatibility. [gbastien] 3.0.6 (2022-06-02) diff --git a/ftw/referencewidget/browser/generate_pathbar.py b/ftw/referencewidget/browser/generate_pathbar.py index ca7799d..d913f45 100644 --- a/ftw/referencewidget/browser/generate_pathbar.py +++ b/ftw/referencewidget/browser/generate_pathbar.py @@ -6,7 +6,12 @@ from ftw.referencewidget.browser.utils import get_root_path_from_source from ftw.referencewidget.widget import ReferenceBrowserWidget from plone.portlets.interfaces import IPortletAssignment + import json +import sys + +if sys.version_info.major == 3: + unicode = bytes class GeneratePathbar(BrowserView): diff --git a/ftw/referencewidget/selectable.py b/ftw/referencewidget/selectable.py index b9addbd..d69b9b1 100644 --- a/ftw/referencewidget/selectable.py +++ b/ftw/referencewidget/selectable.py @@ -1,5 +1,5 @@ from ftw.referencewidget.browser.utils import get_selectable_types_by_source -from zope.interface import implements +from zope.interface import implementer from zope.interface import Interface @@ -16,8 +16,8 @@ def is_selectable(): """ +@implementer(ISelectable) class DefaultSelectable(object): - implements(ISelectable) def __init__(self, source, content): self.source = source diff --git a/ftw/referencewidget/sources.py b/ftw/referencewidget/sources.py index c9dae11..3756e06 100644 --- a/ftw/referencewidget/sources.py +++ b/ftw/referencewidget/sources.py @@ -3,15 +3,15 @@ from plone import api from Products.CMFCore.interfaces import IContentish from zope.component.hooks import getSite -from zope.interface import implements +from zope.interface import implementer from zope.interface.verify import verifyClass from zope.schema.interfaces import IContextSourceBinder from zope.schema.interfaces import ISource +@implementer(ISource) class ReferenceObjPathSource(object): - implements(ISource) def __init__(self, context, selectable_class, selectable, nonselectable, override, allow_nonsearched_types, root_path): @@ -38,8 +38,8 @@ def __contains__(self, value): raise TypeError('Not a ISelectable class provided') +@implementer(IContextSourceBinder) class ReferenceObjSourceBinder(object): - implements(IContextSourceBinder) def __init__(self, selectable_class=None, diff --git a/ftw/referencewidget/widget.py b/ftw/referencewidget/widget.py index 686fac1..9e5eb62 100644 --- a/ftw/referencewidget/widget.py +++ b/ftw/referencewidget/widget.py @@ -16,15 +16,15 @@ from zope.component import queryUtility from zope.i18n import translate from zope.interface import implementer -from zope.interface import implementsOnly +from zope.interface import implementer_only from zope.schema.interfaces import IList import json import os +@implementer_only(IReferenceWidget) class ReferenceBrowserWidget(widget.HTMLTextInputWidget, Widget): """ Datepicker widget. """ - implementsOnly(IReferenceWidget) klass = u'reference-widget' request = None From e692c3f4d707b1d1e6af27de28171d6960f0ef6c Mon Sep 17 00:00:00 2001 From: Gauthier Bastien Date: Wed, 29 Jun 2022 16:18:29 +0200 Subject: [PATCH 2/3] Fix popup search on Plone6 --- ftw/referencewidget/browser/search.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ftw/referencewidget/browser/search.py b/ftw/referencewidget/browser/search.py index 9306a51..de62356 100644 --- a/ftw/referencewidget/browser/search.py +++ b/ftw/referencewidget/browser/search.py @@ -45,10 +45,8 @@ def __call__(self): if not uid: query = {'portal_type': search_types, 'Title': search_term, - 'sort_order': self.request.get('sort_order', - u'ascending').encode('utf-8'), - 'sort_on': self.request.get('sort_on', - u'modified').encode('utf-8')} + 'sort_order': self.request.get('sort_order') or u'ascending', + 'sort_on': self.request.get('sort_on') or u'modified'} if only_current_path and request_path: query['path'] = request_path From 0503e896281583f05303f12ead81b8e39c74dd0f Mon Sep 17 00:00:00 2001 From: Gauthier Bastien Date: Wed, 29 Jun 2022 16:48:43 +0200 Subject: [PATCH 3/3] Added french translations --- .../fr/LC_MESSAGES/ftw.referencewidget.po | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 ftw/referencewidget/locales/fr/LC_MESSAGES/ftw.referencewidget.po diff --git a/ftw/referencewidget/locales/fr/LC_MESSAGES/ftw.referencewidget.po b/ftw/referencewidget/locales/fr/LC_MESSAGES/ftw.referencewidget.po new file mode 100644 index 0000000..ef16d36 --- /dev/null +++ b/ftw/referencewidget/locales/fr/LC_MESSAGES/ftw.referencewidget.po @@ -0,0 +1,66 @@ +# --- PLEASE EDIT THE LINES BELOW CORRECTLY --- +# SOME DESCRIPTIVE TITLE. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2016-10-20 14:54+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" +"Preferred-Encodings: utf-8 latin1\n" + +#: ./ftw/referencewidget/templates/referencewidget_input.pt:11 +msgid "Browse" +msgstr "Chercher" + +#: ./ftw/referencewidget/configure.zcml:33 +msgid "Register ftw.referencewidget generally" +msgstr "Register ftw.referencewidget generally" + +msgid "ascending" +msgstr "Ascendant" + +#. Default: "Close" +#: ./ftw/referencewidget/widget.py:71 +msgid "button_close" +msgstr "Fermer" + +#. Default: "Search" +#: ./ftw/referencewidget/widget.py:70 +msgid "button_seach" +msgstr "Chercher" + +msgid "created" +msgstr "Créé" + +msgid "descending" +msgstr "Descendant" + +#: ./ftw/referencewidget/configure.zcml:33 +msgid "ftw.referencewidget" +msgstr "ftw.referencewidget" + +#. Default: "Sort by" +#: ./ftw/referencewidget/widget.py:72 +msgid "label_sort_by" +msgstr "Trier par" + +msgid "modified" +msgstr "Modifié" + +msgid "no sort" +msgstr "Non trié" + +msgid "sortable_title" +msgstr "Titre" + +#. Default: "Search only in current path" +#: ./ftw/referencewidget/widget.py:82 +msgid "checkbox_search_current_path" +msgstr "Uniquement dans le dossier courant" +