use plone.base and remove dependencies to CMFPlone

This commit is contained in:
Jens W. Klein
2022-05-02 00:39:34 +02:00
parent 19571f45ed
commit f443deacbd
20 changed files with 153 additions and 102 deletions
+6 -6
View File
@@ -11,12 +11,12 @@ from plone.app.discussion.interfaces import IConversation
from plone.app.discussion.interfaces import IDiscussionSettings
from plone.app.discussion.interfaces import IReplies
from plone.app.layout.viewlets.common import ViewletBase
from plone.base.utils import safe_text
from plone.registry.interfaces import IRegistry
from plone.z3cform import z2
from plone.z3cform.fieldsets import extensible
from plone.z3cform.interfaces import IWrappedForm
from Products.CMFCore.utils import getToolByName
from Products.CMFPlone.utils import safe_unicode
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from Products.statusmessages.interfaces import IStatusMessage
from urllib.parse import quote
@@ -151,9 +151,9 @@ class CommentForm(extensible.ExtensibleForm, form.Form):
# Make sure author_name/ author_email is properly encoded
if "author_name" in data:
author_name = safe_unicode(data["author_name"])
author_name = safe_text(data["author_name"])
if "author_email" in data:
author_email = safe_unicode(data["author_email"])
author_email = safe_text(data["author_email"])
# Set comment author properties for anonymous users or members
portal_membership = getToolByName(context, "portal_membership")
@@ -161,13 +161,13 @@ class CommentForm(extensible.ExtensibleForm, form.Form):
if not anon and getSecurityManager().checkPermission("Reply to item", context):
# Member
member = portal_membership.getAuthenticatedMember()
email = safe_unicode(member.getProperty("email"))
email = safe_text(member.getProperty("email"))
fullname = member.getProperty("fullname")
if not fullname or fullname == "":
fullname = member.getUserName()
fullname = safe_unicode(fullname)
fullname = safe_text(fullname)
author_name = fullname
email = safe_unicode(email)
email = safe_text(email)
# XXX: according to IComment interface author_email must not be # noqa T000
# set for logged in users, cite:
# 'for anonymous comments only, set to None for logged in comments'
+3 -3
View File
@@ -48,7 +48,7 @@
<!-- Moderate comments enabled view -->
<browser:page
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
for="plone.base.interfaces.IPloneSiteRoot"
name="moderate-comments-enabled"
layer="..interfaces.IDiscussionLayer"
class=".moderation.ModerateCommentsEnabled"
@@ -141,14 +141,14 @@
<!-- Control panel -->
<browser:page
name="discussion-controlpanel"
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
for="plone.base.interfaces.IPloneSiteRoot"
class=".controlpanel.DiscussionSettingsControlPanel"
permission="cmf.ManagePortal"
/>
<!-- Deprecated controlpanel url -->
<browser:page
name="discussion-settings"
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
for="plone.base.interfaces.IPloneSiteRoot"
class=".controlpanel.DiscussionSettingsControlPanel"
permission="cmf.ManagePortal"
/>
+5 -14
View File
@@ -1,11 +1,12 @@
from plone.app.discussion.interfaces import _
from plone.app.discussion.interfaces import IDiscussionSettings
from plone.app.discussion.upgrades import update_registry
from ..interfaces import _
from ..interfaces import IDiscussionSettings
from ..upgrades import update_registry
from plone.app.registry.browser import controlpanel
from plone.base.interfaces.controlpanel import IConfigurationChangedEvent
from plone.base.interfaces.controlpanel import IMailSchema
from plone.registry.interfaces import IRecordModifiedEvent
from plone.registry.interfaces import IRegistry
from Products.CMFCore.utils import getToolByName
from Products.CMFPlone.interfaces.controlpanel import IMailSchema
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from Products.statusmessages.interfaces import IStatusMessage
from z3c.form import button
@@ -16,16 +17,6 @@ from zope.component import queryUtility
from zope.component.hooks import getSite
# try/except was added because Configuration Changed Event was moved inside the
# controlpanel file in the PR #2495 on Products.CMFPlone
try:
from Products.CMFPlone.interfaces.controlpanel import ( # noqa: E501
IConfigurationChangedEvent,
)
except ImportError:
from Products.CMFPlone.interfaces import IConfigurationChangedEvent
class DiscussionSettingsEditForm(controlpanel.RegistryEditForm):
"""Discussion settings form."""
+4 -4
View File
@@ -1,13 +1,13 @@
from ..interfaces import IDiscussionSettings
from Acquisition import aq_base
from Acquisition import aq_chain
from Acquisition import aq_inner
from plone.app.discussion.interfaces import IDiscussionSettings
from plone.base.interfaces import INonStructuralFolder
from plone.base.interfaces import IPloneSiteRoot
from plone.base.utils import safe_hasattr
from plone.registry.interfaces import IRegistry
from Products.CMFCore.interfaces import IFolderish
from Products.CMFCore.utils import getToolByName
from Products.CMFPlone.interfaces import INonStructuralFolder
from Products.CMFPlone.interfaces import IPloneSiteRoot
from Products.CMFPlone.utils import safe_hasattr
from zope.component import queryUtility