Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .meta.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@ commit-id = "2.8.1.dev0"

[tox]
test_matrix = {"6.2" = ["*"]}

[pyproject]
dependencies_ignores = "['z3c.jbot']"
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ Zope = [
]
python-dateutil = ['dateutil']
pytest-plone = ['pytest', 'zope.pytestlayer', 'plone.testing', 'plone.app.testing']
ignore-packages = ['z3c.jbot']

##
# Add extra configuration options in .meta.toml:
Expand Down
13 changes: 13 additions & 0 deletions src/plone/app/linkintegrity/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import zope.deferredimport

zope.deferredimport.initialize()


jbot_deprecations = {
"plone.app.linkintegrity.browser.delete_confirmation_info.pt": "plone.app.layout.controlpanels.templates.linkintegrity_delete_confirmation_info.pt", # noqa: E501
"plone.app.linkintegrity.browser.update.pt": "plone.app.layout.controlpanels.templates.linkintegrity_update.pt", # noqa: E501
}
zope.deferredimport.deprecated(
"Please use from plone.app.layout.controlpanels.linkintegrity import UpdateView", # noqa: E501
UpdateView="plone.app.layout:controlpanels.linkintegrity.UpdateView",
)
28 changes: 23 additions & 5 deletions src/plone/app/linkintegrity/browser/info.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
from Acquisition import aq_inner
from OFS.interfaces import IFolder
from plone.app.linkintegrity.utils import getIncomingLinks
from plone.app.linkintegrity.utils import linkintegrity_enabled
from plone.base import PloneMessageFactory as _
from plone.base.interfaces import IPloneSiteRoot
from plone.uuid.interfaces import IUUID
from Products.CMFCore.permissions import AccessContentsInformation
from Products.CMFCore.utils import _checkPermission
Expand All @@ -16,13 +19,25 @@

class DeleteConfirmationInfo(BrowserView):
template = None
breach_count = {}

def __init__(self, context, request):
self.linkintegrity_enabled = linkintegrity_enabled()
self.context = context
self.request = request

def __call__(self, items=None):
# Base implementation returns an empty string so the view is safe
# to call from templates (plone.app.content) even when
# plone.app.layout is not installed (e.g. Volto / API-only setups).
# plone.app.layout registers an IPloneAppLayoutLayer-scoped override
# that renders the full HTML confirmation snippet.
if not self.linkintegrity_enabled:
return
if items is None:
if IPloneSiteRoot.providedBy(self.context):
# Checking the portal for breaches makes no sense.
return
else:
items = [self.context]
self.breaches = self.get_breaches(items)
if self.template:
return self.template()
return ""

def get_breaches(self, items=None):
Expand Down Expand Up @@ -164,3 +179,6 @@ def get_portal_type_title(self, obj):

def is_accessible(self, obj):
return _checkPermission(AccessContentsInformation, obj)

def objects(self):
return [_("Objects in all"), _("Folders"), _("Published objects")]
12 changes: 12 additions & 0 deletions src/plone/app/linkintegrity/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
xmlns:zcml="http://namespaces.zope.org/zcml"
>

<include package="plone.app.intid" />
Expand All @@ -11,6 +12,17 @@
file="permissions.zcml"
/>

<include
package="z3c.jbot"
file="meta.zcml"
zcml:condition="installed z3c.jbot"
/>

<browser:jbotDeprecated
dictionary=".jbot_deprecations"
zcml:condition="have jbot-deprecations"
/>

<include package=".browser" />

<adapter factory=".retriever.DXGeneral" />
Expand Down