# HG changeset patch # User Thierry Florac # Date 1537347248 -7200 # Node ID a8723fffbaf6369d6ae241863e7af86c411a4f53 # Parent 3cee4d5a0c294ec8afb59e674efee2d852bd2945 Better PEP 8 conformance diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/component/association/zmi/__init__.py --- a/src/pyams_content/component/association/zmi/__init__.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/component/association/zmi/__init__.py Wed Sep 19 10:54:08 2018 +0200 @@ -181,8 +181,10 @@ return switch_element_visibility(request, IAssociationContainer) -@adapter_config(name='pictogram', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), provides=IColumn) -@adapter_config(name='pictogram', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), provides=IColumn) +@adapter_config(name='pictogram', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), + provides=IColumn) +@adapter_config(name='pictogram', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), + provides=IColumn) class AssociationsTablePictogramColumn(ImageColumn): """Associations table pictogram column""" @@ -197,8 +199,10 @@ return self.request.localizer.translate(item.icon_hint) -@adapter_config(name='name', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), provides=IColumn) -@adapter_config(name='name', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), provides=IColumn) +@adapter_config(name='name', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), + provides=IColumn) +@adapter_config(name='name', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), + provides=IColumn) class AssociationsTablePublicNameColumn(NameColumn): """Associations table name column""" @@ -215,8 +219,10 @@ return title -@adapter_config(name='inner_name', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), provides=IColumn) -@adapter_config(name='inner_name', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), provides=IColumn) +@adapter_config(name='inner_name', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), + provides=IColumn) +@adapter_config(name='inner_name', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), + provides=IColumn) class AssociationsTableInnerNameColumn(I18nColumn, GetAttrColumn): """Associations table inner name column""" @@ -231,8 +237,10 @@ return '--' -@adapter_config(name='size', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), provides=IColumn) -@adapter_config(name='size', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), provides=IColumn) +@adapter_config(name='size', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), + provides=IColumn) +@adapter_config(name='size', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), + provides=IColumn) class AssociationsTableSizeColumn(I18nColumn, GetAttrColumn): """Associations table size column""" @@ -247,8 +255,10 @@ return '--' -@adapter_config(name='trash', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), provides=IColumn) -@adapter_config(name='trash', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), provides=IColumn) +@adapter_config(name='trash', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), + provides=IColumn) +@adapter_config(name='trash', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), + provides=IColumn) class AssociationsTableTrashColumn(ProtectedFormObjectMixin, TrashColumn): """Associations table trash column""" diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/component/keynumber/portlet/zmi/templates/keynumber-preview.pt --- a/src/pyams_content/component/keynumber/portlet/zmi/templates/keynumber-preview.pt Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/component/keynumber/portlet/zmi/templates/keynumber-preview.pt Wed Sep 19 10:54:08 2018 +0200 @@ -23,7 +23,7 @@
- Associated links : + Associated links :
diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/root/zmi/__init__.py --- a/src/pyams_content/root/zmi/__init__.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/root/zmi/__init__.py Wed Sep 19 10:54:08 2018 +0200 @@ -172,8 +172,8 @@ for tool in get_all_utilities_registered_for(IBaseSharedTool): workflow = IWorkflow(tool) query = Eq(catalog['parents'], intids.register(tool)) & \ - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ - Any(catalog['workflow_state'], workflow.waiting_states) + Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['workflow_state'], workflow.waiting_states) params = params | query if params else query yield from filter(self.check_access, unique_iter(map(lambda x: sorted(IWorkflowVersions(x).get_versions(IWorkflowState(x).state), @@ -219,9 +219,9 @@ for tool in get_all_utilities_registered_for(IBaseSharedTool): workflow = IWorkflow(tool) query = Eq(catalog['parents'], intids.register(tool)) & \ - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ - Any(catalog['workflow_state'], workflow.waiting_states) & \ - Eq(catalog['workflow_principal'], self.request.principal.id) + Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['workflow_state'], workflow.waiting_states) & \ + Eq(catalog['workflow_principal'], self.request.principal.id) params = params | query if params else query yield from unique_iter(map(lambda x: sorted(IWorkflowVersions(x).get_versions(IWorkflowState(x).state), key=lambda y: IZopeDublinCore(y).modified, reverse=True)[0], @@ -381,7 +381,7 @@ for tool in get_all_utilities_registered_for(IBaseSharedTool): workflow = IWorkflow(tool) query = And(Eq(catalog['parents'], intids.register(tool)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], self.request.principal.id), Eq(catalog['role:contributor'], self.request.principal.id)), Eq(catalog['workflow_state'], workflow.initial_state)) @@ -443,7 +443,7 @@ for tool in get_all_utilities_registered_for(IBaseSharedTool): workflow = IWorkflow(tool) query = And(Eq(catalog['parents'], intids.register(tool)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], self.request.principal.id), Eq(catalog['role:contributor'], self.request.principal.id)), Any(catalog['workflow_state'], workflow.waiting_states)) @@ -505,7 +505,7 @@ for tool in get_all_utilities_registered_for(IBaseSharedTool): workflow = IWorkflow(tool) query = And(Eq(catalog['parents'], intids.register(tool)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], self.request.principal.id), Eq(catalog['role:contributor'], self.request.principal.id)), Any(catalog['workflow_state'], workflow.published_states)) @@ -567,7 +567,7 @@ for tool in get_all_utilities_registered_for(IBaseSharedTool): workflow = IWorkflow(tool) query = And(Eq(catalog['parents'], intids.register(tool)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], self.request.principal.id), Eq(catalog['role:contributor'], self.request.principal.id)), Any(catalog['workflow_state'], workflow.retired_states)) @@ -631,7 +631,7 @@ for tool in get_all_utilities_registered_for(IBaseSharedTool): workflow = IWorkflow(tool) query = And(Eq(catalog['parents'], intids.register(tool)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], principal_id), Eq(catalog['role:contributor'], principal_id)), Any(catalog['workflow_state'], workflow.archived_states)) @@ -721,7 +721,7 @@ for tool in get_all_utilities_registered_for(IBaseSharedTool): workflow = IWorkflow(tool) query = And(Eq(catalog['parents'], intids.register(tool)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Any(catalog['workflow_state'], workflow.published_states)) params = params | query if params else query yield from unique_iter(CatalogResultSet(CatalogQuery(catalog).query(params, diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/root/zmi/search.py --- a/src/pyams_content/root/zmi/search.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/root/zmi/search.py Wed Sep 19 10:54:08 2018 +0200 @@ -116,7 +116,7 @@ intids = get_utility(IIntIds) catalog = get_utility(ICatalog) params = Eq(catalog['parents'], intids.register(self.context)) & \ - Any(catalog['content_type'], CONTENT_TYPES.keys()) + Any(catalog['content_type'], CONTENT_TYPES.keys()) query = self.request.params.get('query') if query: sequence = get_utility(ISequentialIntIds) diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/root/zmi/sites.py --- a/src/pyams_content/root/zmi/sites.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/root/zmi/sites.py Wed Sep 19 10:54:08 2018 +0200 @@ -121,9 +121,10 @@ icon_class = 'fa-eye opacity-75' else: icon_class = 'fa-eye-slash text-danger opaque' - return ''.format( - icon_class=icon_class, - title=self.request.localizer.translate(self.icon_hint)) + return ''.format( + icon_class=icon_class, + title=self.request.localizer.translate(self.icon_hint)) @adapter_config(name='oid', context=(ISiteRoot, IPyAMSLayer, SiteTreeTable), provides=IColumn) diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/blog/zmi/manager.py --- a/src/pyams_content/shared/blog/zmi/manager.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/blog/zmi/manager.py Wed Sep 19 10:54:08 2018 +0200 @@ -46,7 +46,6 @@ from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm from pyramid.events import subscriber from pyramid.path import DottedNameResolver -from pyramid.view import view_config from z3c.form import field from zope.interface import Invalid diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/manager.py --- a/src/pyams_content/shared/common/manager.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/manager.py Wed Sep 19 10:54:08 2018 +0200 @@ -17,8 +17,8 @@ # import interfaces from pyams_content.interfaces import WEBMASTER_ROLE, PILOT_ROLE, MANAGER_ROLE, CONTRIBUTOR_ROLE -from pyams_content.shared.common.interfaces import ISharedToolContainer, IBaseSharedTool, ISharedTool, ISharedToolRoles, \ - ISharedContentFactory +from pyams_content.shared.common.interfaces import ISharedToolContainer, IBaseSharedTool, ISharedTool, \ + ISharedToolRoles, ISharedContentFactory from pyams_portal.interfaces import DESIGNER_ROLE from pyams_security.interfaces import IDefaultProtectionPolicy from pyams_workflow.interfaces import IWorkflow diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/skin/opengraph.py --- a/src/pyams_content/shared/common/skin/opengraph.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/skin/opengraph.py Wed Sep 19 10:54:08 2018 +0200 @@ -90,7 +90,8 @@ image_size = thumbnail.image_size yield PropertyMeta('og:image:width', image_size[0]) yield PropertyMeta('og:image:height', image_size[1]) - yield PropertyMeta('og:image:alt', II18n(illustration).query_attribute('alt_title', lang=lang, request=request)) + yield PropertyMeta('og:image:alt', II18n(illustration).query_attribute('alt_title', lang=lang, + request=request)) # locales properties yield PropertyMeta('of:locale', lang) for lang in II18nManager(context).languages or (): diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/zmi/__init__.py --- a/src/pyams_content/shared/common/zmi/__init__.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/zmi/__init__.py Wed Sep 19 10:54:08 2018 +0200 @@ -18,8 +18,8 @@ from uuid import uuid4 # import interfaces -from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_CONTENT_PERMISSION, CREATE_CONTENT_PERMISSION, \ - PUBLISH_CONTENT_PERMISSION +from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_CONTENT_PERMISSION, \ + CREATE_CONTENT_PERMISSION, PUBLISH_CONTENT_PERMISSION from pyams_content.features.review.interfaces import IReviewComments from pyams_content.shared.common.interfaces import IWfSharedContent, ISharedContent, IBaseSharedTool, \ IManagerRestrictions @@ -31,8 +31,8 @@ from pyams_skin.interfaces.viewlet import IContextActions, IMenuHeader, IBreadcrumbItem from pyams_skin.layer import IPyAMSLayer from pyams_utils.interfaces import FORBIDDEN_PERMISSION -from pyams_workflow.interfaces import IWorkflowVersions, IWorkflowInfo, IWorkflowState, IWorkflowCommentInfo, IWorkflow, \ - IWorkflowPublicationInfo +from pyams_workflow.interfaces import IWorkflowVersions, IWorkflowInfo, IWorkflowState, IWorkflowCommentInfo, \ + IWorkflow, IWorkflowPublicationInfo from pyams_zmi.interfaces.menu import ISiteManagementMenu from pyams_zmi.layer import IAdminLayer from zope.dublincore.interfaces import IZopeDublinCore diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/zmi/dashboard.py --- a/src/pyams_content/shared/common/zmi/dashboard.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/zmi/dashboard.py Wed Sep 19 10:54:08 2018 +0200 @@ -12,39 +12,32 @@ __docformat__ = 'restructuredtext' - -# import standard library +from hypatia.catalog import CatalogQuery +from hypatia.interfaces import ICatalog +from hypatia.query import And, Or, Eq, Any +from z3c.table.column import GetAttrColumn +from z3c.table.interfaces import IValues, IColumn +from zope.dublincore.interfaces import IZopeDublinCore +from zope.interface import implementer, Interface +from zope.intid.interfaces import IIntIds -# import interfaces -from hypatia.interfaces import ICatalog +from pyams_catalog.query import CatalogResultSet from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, PUBLISH_CONTENT_PERMISSION from pyams_content.profile.interfaces import IAdminProfile +from pyams_content.shared.common import CONTENT_TYPES from pyams_content.shared.common.interfaces import IBaseSharedTool, IWfSharedContent, IManagerRestrictions from pyams_content.shared.common.interfaces.zmi import IDashboardTable, ISharedToolDashboardTable, \ IDashboardSearchHeader +from pyams_content.skin import pyams_content from pyams_content.skin.zmi.interfaces import IDashboardMenu, IMyDashboardMenu, IAllContentsMenu from pyams_i18n.interfaces import II18n +from pyams_pagelet.pagelet import pagelet_config from pyams_security.interfaces import ISecurityManager from pyams_sequence.interfaces import ISequentialIdInfo, ISequentialIdTarget, ISequentialIntIds +from pyams_skin.container import ContainerView from pyams_skin.interfaces import IPageHeader from pyams_skin.interfaces.container import ITableElementName from pyams_skin.layer import IPyAMSLayer -from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION -from pyams_workflow.interfaces import IWorkflowState, IWorkflow, IWorkflowVersions, IWorkflowPublicationInfo -from pyams_zmi.interfaces.menu import IContentManagementMenu -from pyams_zmi.layer import IAdminLayer -from z3c.table.interfaces import IValues, IColumn -from zope.dublincore.interfaces import IZopeDublinCore -from zope.intid.interfaces import IIntIds - -# import packages -from hypatia.catalog import CatalogQuery -from hypatia.query import And, Or, Eq, Any -from pyams_catalog.query import CatalogResultSet -from pyams_content.shared.common import CONTENT_TYPES -from pyams_content.skin import pyams_content -from pyams_pagelet.pagelet import pagelet_config -from pyams_skin.container import ContainerView from pyams_skin.page import DefaultPageHeaderAdapter from pyams_skin.table import BaseTable, I18nColumn, NameColumn, JsActionColumn from pyams_skin.viewlet.menu import MenuItem @@ -52,6 +45,7 @@ from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter from pyams_utils.date import format_datetime, SH_DATETIME_FORMAT from pyams_utils.fanstatic import get_resource_path +from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION from pyams_utils.list import unique_iter from pyams_utils.property import cached_property from pyams_utils.registry import get_utility @@ -59,9 +53,10 @@ from pyams_utils.traversing import get_parent from pyams_viewlet.manager import viewletmanager_config from pyams_viewlet.viewlet import viewlet_config +from pyams_workflow.interfaces import IWorkflowState, IWorkflow, IWorkflowVersions, IWorkflowPublicationInfo +from pyams_zmi.interfaces.menu import IContentManagementMenu +from pyams_zmi.layer import IAdminLayer from pyams_zmi.view import InnerAdminView -from z3c.table.column import GetAttrColumn -from zope.interface import implementer, Interface from pyams_content import _ @@ -340,8 +335,8 @@ catalog = get_utility(ICatalog) workflow = get_utility(IWorkflow, name=self.context.shared_content_workflow) params = Eq(catalog['parents'], intids.register(self.context)) & \ - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ - Any(catalog['workflow_state'], workflow.waiting_states) + Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['workflow_state'], workflow.waiting_states) yield from filter(self.check_access, unique_iter(map(lambda x: sorted(IWorkflowVersions(x).get_versions(IWorkflowState(x).state), key=lambda y: IZopeDublinCore(y).modified, reverse=True)[0], @@ -384,9 +379,9 @@ catalog = get_utility(ICatalog) workflow = get_utility(IWorkflow, name=self.context.shared_content_workflow) params = Eq(catalog['parents'], intids.register(self.context)) & \ - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ - Any(catalog['workflow_state'], workflow.waiting_states) & \ - Eq(catalog['workflow_principal'], self.request.principal.id) + Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['workflow_state'], workflow.waiting_states) & \ + Eq(catalog['workflow_principal'], self.request.principal.id) yield from unique_iter(map(lambda x: sorted(IWorkflowVersions(x).get_versions(IWorkflowState(x).state), key=lambda y: IZopeDublinCore(y).modified, reverse=True)[0], CatalogResultSet(CatalogQuery(catalog).query(params, @@ -445,8 +440,8 @@ label = _("My contents") icon_class = 'fa-user' url = '#' - - + + # # My favorites # Dashboard of favorites contents @@ -493,14 +488,14 @@ oid = ISequentialIdInfo(item).hex_oid icon_class = 'fa fa-fw fa-star{0}'.format('' if oid in (self.profile.favorites or ()) else '-o') return ''.format( - path=get_resource_path(pyams_content), - oid=oid, - title=self.request.localizer.translate(self.icon_hint), - icon_class=icon_class) + 'data-ams-plugin-pyams_content-src="{path}" ' \ + 'data-ams-click-handler="PyAMS_content.profile.switchFavorite" data-ams-stop-propagation="true" ' \ + 'data-sequence-oid="{oid}" ' \ + 'class="{icon_class}">'.format( + path=get_resource_path(pyams_content), + oid=oid, + title=self.request.localizer.translate(self.icon_hint), + icon_class=icon_class) def get_url(self, item): return '' @@ -578,7 +573,7 @@ catalog = get_utility(ICatalog) workflow = get_utility(IWorkflow, name=self.context.shared_content_workflow) params = And(Eq(catalog['parents'], intids.register(self.context)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], self.request.principal.id), Eq(catalog['role:contributor'], self.request.principal.id)), Eq(catalog['workflow_state'], workflow.initial_state)) @@ -587,7 +582,8 @@ reverse=True))) -@pagelet_config(name='my-preparations.html', context=IBaseSharedTool, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) +@pagelet_config(name='my-preparations.html', context=IBaseSharedTool, layer=IPyAMSLayer, + permission=VIEW_SYSTEM_PERMISSION) class SharedToolPreparationsView(InnerAdminView, ContainerView): """Shared tool preparations view""" @@ -641,7 +637,7 @@ catalog = get_utility(ICatalog) workflow = get_utility(IWorkflow, name=self.context.shared_content_workflow) params = And(Eq(catalog['parents'], intids.register(self.context)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], self.request.principal.id), Eq(catalog['role:contributor'], self.request.principal.id)), Any(catalog['workflow_state'], workflow.waiting_states)) @@ -650,7 +646,8 @@ reverse=True))) -@pagelet_config(name='my-submissions.html', context=IBaseSharedTool, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) +@pagelet_config(name='my-submissions.html', context=IBaseSharedTool, layer=IPyAMSLayer, + permission=VIEW_SYSTEM_PERMISSION) class SharedToolSubmissionsView(InnerAdminView, ContainerView): """Shared tool submissions view""" @@ -704,7 +701,7 @@ catalog = get_utility(ICatalog) workflow = get_utility(IWorkflow, name=self.context.shared_content_workflow) params = And(Eq(catalog['parents'], intids.register(self.context)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], self.request.principal.id), Eq(catalog['role:contributor'], self.request.principal.id)), Any(catalog['workflow_state'], workflow.published_states)) @@ -713,7 +710,8 @@ reverse=True))) -@pagelet_config(name='my-publications.html', context=IBaseSharedTool, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) +@pagelet_config(name='my-publications.html', context=IBaseSharedTool, layer=IPyAMSLayer, + permission=VIEW_SYSTEM_PERMISSION) class SharedToolPublicationsView(InnerAdminView, ContainerView): """Shared tool publications view""" @@ -767,7 +765,7 @@ catalog = get_utility(ICatalog) workflow = get_utility(IWorkflow, name=self.context.shared_content_workflow) params = And(Eq(catalog['parents'], intids.register(self.context)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], self.request.principal.id), Eq(catalog['role:contributor'], self.request.principal.id)), Any(catalog['workflow_state'], workflow.retired_states)) @@ -832,7 +830,7 @@ principal_id = self.request.principal.id workflow = get_utility(IWorkflow, name=self.context.shared_content_workflow) params = And(Eq(catalog['parents'], intids.register(self.context)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Or(Eq(catalog['role:owner'], principal_id), Eq(catalog['role:contributor'], principal_id)), Any(catalog['workflow_state'], workflow.archived_states)) @@ -923,7 +921,7 @@ catalog = get_utility(ICatalog) workflow = get_utility(IWorkflow, name=self.context.shared_content_workflow) params = And(Eq(catalog['parents'], intids.register(self.context)), - Any(catalog['content_type'], CONTENT_TYPES.keys()) & \ + Any(catalog['content_type'], CONTENT_TYPES.keys()) & Any(catalog['workflow_state'], workflow.published_states)) yield from unique_iter(CatalogResultSet(CatalogQuery(catalog).query(params, limit=50, @@ -991,7 +989,7 @@ intids = get_utility(IIntIds) catalog = get_utility(ICatalog) params = Eq(catalog['parents'], intids.register(self.context)) & \ - Any(catalog['content_type'], CONTENT_TYPES.keys()) + Any(catalog['content_type'], CONTENT_TYPES.keys()) yield from unique_iter(CatalogResultSet(CatalogQuery(catalog).query(params, limit=50, sort_index='modified_date', diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/zmi/header.py --- a/src/pyams_content/shared/common/zmi/header.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/zmi/header.py Wed Sep 19 10:54:08 2018 +0200 @@ -85,7 +85,8 @@ state_format = translate(_("{state} by {principal}")) if state.state_urgency: state_format = state_format.replace('{state}', - '{state} '); + '{state} ' + '') elif state.state in workflow.published_states: pub_info = IWorkflowPublicationInfo(context, None) if (pub_info is not None) and not pub_info.is_published(): @@ -93,7 +94,8 @@ '{{state}} '.format( - translate(_("Content publication start date is not passed yet")))) + translate(_("Content publication start date is not passed " + "yet")))) state_class = 'text-danger' state_format = state_format.replace('{state}', '{{state}}'.format(state_class)) diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/zmi/search.py --- a/src/pyams_content/shared/common/zmi/search.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/zmi/search.py Wed Sep 19 10:54:08 2018 +0200 @@ -117,7 +117,7 @@ intids = get_utility(IIntIds) catalog = get_utility(ICatalog) params = Eq(catalog['parents'], intids.register(self.context)) & \ - Any(catalog['content_type'], CONTENT_TYPES.keys()) + Any(catalog['content_type'], CONTENT_TYPES.keys()) query = self.request.params.get('query') if query: sequence = get_utility(ISequentialIntIds) @@ -253,7 +253,7 @@ intids = get_utility(IIntIds) catalog = get_utility(ICatalog) params = Eq(catalog['parents'], intids.register(self.context)) & \ - Any(catalog['content_type'], CONTENT_TYPES.keys()) + Any(catalog['content_type'], CONTENT_TYPES.keys()) query = data.get('query') if query: sequence = get_utility(ISequentialIntIds) diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/zmi/security.py --- a/src/pyams_content/shared/common/zmi/security.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/zmi/security.py Wed Sep 19 10:54:08 2018 +0200 @@ -164,7 +164,8 @@ @property def legend(self): - return self.request.localizer.translate(_("Edit contributor restrictions for « {0} »")).format(self.principal.title) + return self.request.localizer.translate(_("Edit contributor restrictions for « {0} »")).format( + self.principal.title) @cached_property def interface(self): @@ -252,7 +253,8 @@ modal_target = True -@adapter_config(name='name', context=(IBaseSharedTool, IAdminLayer, SharedToolManagersRestrictionsTable), provides=IColumn) +@adapter_config(name='name', context=(IBaseSharedTool, IAdminLayer, SharedToolManagersRestrictionsTable), + provides=IColumn) class SharedToolManagerRestrictionsNameColumn(I18nColumn, GetAttrColumn): """Shared tool manager restrictions name column""" diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/zmi/summary.py --- a/src/pyams_content/shared/common/zmi/summary.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/zmi/summary.py Wed Sep 19 10:54:08 2018 +0200 @@ -103,7 +103,7 @@ return InnerAdminDisplayForm.__new__(cls) fields = field.Fields(IWorkflowState).select('state', 'state_urgency') + \ - field.Fields(IWorkflowStateHistoryItem).select('comment') + field.Fields(IWorkflowStateHistoryItem).select('comment') def updateWidgets(self, prefix=None): super(SharedContentWorkflowWaitingState, self).updateWidgets(prefix) @@ -154,10 +154,10 @@ weight = 30 fields = field.Fields(IWorkflowState).select('version_id', 'state') + \ - field.Fields(IWfSharedContent).select('creation_label') + \ - field.Fields(IWfSharedContentRoles).select('owner') + \ - field.Fields(IWfSharedContent).select('last_update_label') + \ - field.Fields(IWfSharedContent).select('modifiers') + field.Fields(IWfSharedContent).select('creation_label') + \ + field.Fields(IWfSharedContentRoles).select('owner') + \ + field.Fields(IWfSharedContent).select('last_update_label') + \ + field.Fields(IWfSharedContent).select('modifiers') def updateWidgets(self, prefix=None): super(SharedContentWorkflowVersionSummary, self).updateWidgets(prefix) @@ -183,7 +183,7 @@ legend = _("Content history") fields = field.Fields(IWorkflowPublicationInfo).select('first_publication_date') + \ - field.Fields(IWfSharedContent).select('first_owner') + field.Fields(IWfSharedContent).select('first_owner') weight = 40 diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/zmi/types.py --- a/src/pyams_content/shared/common/zmi/types.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/zmi/types.py Wed Sep 19 10:54:08 2018 +0200 @@ -157,8 +157,8 @@ ' ' \ '   {title}' \ '
'.format( - hint=self.request.localizer.translate(_("Click to see subtypes")), - title=super(TypedSharedToolTypesNameColumn, self).renderCell(item)) + hint=self.request.localizer.translate(_("Click to see subtypes")), + title=super(TypedSharedToolTypesNameColumn, self).renderCell(item)) @adapter_config(name='paragraphs', context=(ITypedSharedTool, IPyAMSLayer, TypedSharedToolTypesTable), diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/common/zmi/workflow.py --- a/src/pyams_content/shared/common/zmi/workflow.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/common/zmi/workflow.py Wed Sep 19 10:54:08 2018 +0200 @@ -141,9 +141,9 @@ if state.version_id > 1: pub_fields += ('displayed_publication_date', ) return field.Fields(IWorkflowTransitionInfo) + \ - field.Fields(IWorkflowPublicationInfo).select(*pub_fields) + \ - field.Fields(IWorkflowRequestUrgencyInfo) + \ - field.Fields(IWorkflowCommentInfo) + field.Fields(IWorkflowPublicationInfo).select(*pub_fields) + \ + field.Fields(IWorkflowRequestUrgencyInfo) + \ + field.Fields(IWorkflowCommentInfo) buttons = button.Buttons(IPublicationRequestButtons) @@ -322,8 +322,8 @@ if state.version_id > 1: pub_fields += ('displayed_publication_date', ) return field.Fields(IWorkflowTransitionInfo) + \ - field.Fields(IWorkflowPublicationInfo).select(*pub_fields) + \ - field.Fields(IWorkflowCommentInfo) + field.Fields(IWorkflowPublicationInfo).select(*pub_fields) + \ + field.Fields(IWorkflowCommentInfo) buttons = button.Buttons(IPublicationButtons) @@ -402,8 +402,8 @@ """Shared content publication request refuse form""" fields = field.Fields(IWorkflowTransitionInfo) + \ - field.Fields(IWorkflowRequestUrgencyInfo) + \ - field.Fields(IWorkflowCommentInfo) + field.Fields(IWorkflowRequestUrgencyInfo) + \ + field.Fields(IWorkflowCommentInfo) buttons = button.Buttons(IPublicationRetireRequestButtons) def updateWidgets(self, prefix=None): @@ -539,8 +539,8 @@ """Shared content publication request archive form""" fields = field.Fields(IWorkflowTransitionInfo) + \ - field.Fields(IWorkflowRequestUrgencyInfo) + \ - field.Fields(IWorkflowCommentInfo) + field.Fields(IWorkflowRequestUrgencyInfo) + \ + field.Fields(IWorkflowCommentInfo) buttons = button.Buttons(IPublicationArchiveRequestButtons) diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/form/manager.py --- a/src/pyams_content/shared/form/manager.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/form/manager.py Wed Sep 19 10:54:08 2018 +0200 @@ -18,7 +18,6 @@ # import interfaces from pyams_content.shared.common.interfaces import ISharedContentFactory from pyams_content.shared.form.interfaces import IFormsManager, FORM_CONTENT_TYPE, IFormsManagerFactory -from pyams_portal.interfaces import IPortalContext from zope.component.interfaces import ISite from zope.lifecycleevent.interfaces import IObjectAddedEvent diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/logo/zmi/properties.py --- a/src/pyams_content/shared/logo/zmi/properties.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/logo/zmi/properties.py Wed Sep 19 10:54:08 2018 +0200 @@ -41,7 +41,7 @@ """Shared content DublinCore summary""" fields = field.Fields(IWfLogo).select('title', 'acronym') + \ - field.Fields(ISequentialIdInfo).select('public_oid') + field.Fields(ISequentialIdInfo).select('public_oid') @pagelet_config(name='properties.html', context=IWfLogo, layer=IPyAMSLayer, diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/site/folder.py --- a/src/pyams_content/shared/site/folder.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/site/folder.py Wed Sep 19 10:54:08 2018 +0200 @@ -42,8 +42,6 @@ from pyams_content import _ -from pyams_content import _ - @implementer(IDefaultProtectionPolicy, ISiteFolder, ISiteFolderRoles, IIllustrationTarget, ILinkIllustrationTarget, IPortalContext, IPreviewTarget) diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/site/zmi/container.py --- a/src/pyams_content/shared/site/zmi/container.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/site/zmi/container.py Wed Sep 19 10:54:08 2018 +0200 @@ -332,9 +332,10 @@ icon_class = 'fa-eye opacity-75' else: icon_class = 'fa-eye-slash text-danger opaque' - return ''.format( - icon_class=icon_class, - title=self.request.localizer.translate(self.get_icon_hint(item))) + return ''.format( + icon_class=icon_class, + title=self.request.localizer.translate(self.get_icon_hint(item))) def get_icon_hint(self, item): translate = self.request.localizer.translate @@ -393,12 +394,12 @@ ' ' \ '   {title}' \ ''.format( - padding='' * depth, - hint=self.request.localizer.translate(_("Click to show/hide inner folders")), - switch='fa-{state}-square-o switch'.format( - state=self.table.rows_state or ('minus' if item in lineage(self.context) else 'plus')) - if ISiteContainer.providedBy(item) else '', - title=name or super(SiteContainerTreeNameColumn, self).renderCell(item)) + padding='' * depth, + hint=self.request.localizer.translate(_("Click to show/hide inner folders")), + switch='fa-{state}-square-o switch'.format( + state=self.table.rows_state or ('minus' if item in lineage(self.context) else 'plus')) + if ISiteContainer.providedBy(item) else '', + title=name or super(SiteContainerTreeNameColumn, self).renderCell(item)) @adapter_config(name='content-type', context=(ISiteContainer, IPyAMSLayer, ISiteTreeTable), provides=IColumn) diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/site/zmi/folder.py --- a/src/pyams_content/shared/site/zmi/folder.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/site/zmi/folder.py Wed Sep 19 10:54:08 2018 +0200 @@ -190,7 +190,7 @@ legend = _("Site folder properties") fields = field.Fields(ISiteFolder).select('title', 'short_name', 'heading', 'notepad') + \ - field.Fields(IBaseSharedTool).select('shared_content_workflow') + field.Fields(IBaseSharedTool).select('shared_content_workflow') @adapter_config(name='navigation', context=(ISiteFolder, IPyAMSLayer, SiteFolderPropertiesEditForm), diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/view/interfaces/__init__.py --- a/src/pyams_content/shared/view/interfaces/__init__.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/view/interfaces/__init__.py Wed Sep 19 10:54:08 2018 +0200 @@ -24,7 +24,7 @@ # import packages from pyams_thesaurus.schema import ThesaurusTermsListField from zope.interface import Interface, Attribute -from zope.schema import List, Set, Choice, Bool, Int +from zope.schema import Set, Choice, Bool, Int from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm from pyams_content import _ @@ -41,7 +41,7 @@ VIEW_ORDERS = ( {'id': CREATION_DATE_ORDER, 'title': _("Creation date")}, - {'id': UPDATE_DATE_ORDER,'title': _("Last update date")}, + {'id': UPDATE_DATE_ORDER, 'title': _("Last update date")}, {'id': PUBLICATION_DATE_ORDER, 'title': _("Current publication date")}, {'id': FIRSTPUBLICATION_DATE_ORDER, 'title': _("First publication date")} ) diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/shared/view/reference.py --- a/src/pyams_content/shared/view/reference.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/shared/view/reference.py Wed Sep 19 10:54:08 2018 +0200 @@ -24,7 +24,7 @@ # import packages from hypatia.catalog import CatalogQuery -from hypatia.query import Any, Not, NotEq +from hypatia.query import Any, NotEq from pyams_catalog.query import CatalogResultSet, and_ from pyams_content.workflow import VISIBLE_STATES from pyams_utils.adapter import adapter_config, ContextAdapter, get_annotation_adapter @@ -87,6 +87,6 @@ if (not items) or (settings.references_mode == ALWAYS_REFERENCE_MODE): catalog = get_utility(ICatalog) params = Any(catalog['oid'], settings.references) & \ - Any(catalog['workflow_state'], VISIBLE_STATES) + Any(catalog['workflow_state'], VISIBLE_STATES) items.prepend(CatalogResultSet(CatalogQuery(catalog).query(params))) return items diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/tests/test_utilsdocs.py --- a/src/pyams_content/tests/test_utilsdocs.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/tests/test_utilsdocs.py Wed Sep 19 10:54:08 2018 +0200 @@ -23,6 +23,7 @@ current_dir = os.path.dirname(__file__) + def doc_suite(test_dir, setUp=None, tearDown=None, globs=None): """Returns a test suite, based on doctests found in /doctest.""" suite = [] @@ -50,10 +51,12 @@ return unittest.TestSuite(suite) + def test_suite(): """returns the test suite""" return doc_suite(current_dir) + if __name__ == '__main__': unittest.main(defaultTest='test_suite') diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/tests/test_utilsdocstrings.py --- a/src/pyams_content/tests/test_utilsdocstrings.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/tests/test_utilsdocstrings.py Wed Sep 19 10:54:08 2018 +0200 @@ -23,6 +23,7 @@ current_dir = os.path.abspath(os.path.dirname(__file__)) + def doc_suite(test_dir, globs=None): """Returns a test suite, based on doc tests strings found in /*.py""" suite = [] @@ -54,9 +55,11 @@ return unittest.TestSuite(suite) + def test_suite(): """returns the test suite""" return doc_suite(current_dir) + if __name__ == '__main__': unittest.main(defaultTest='test_suite') diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/workflow/__init__.py --- a/src/pyams_content/workflow/__init__.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/workflow/__init__.py Wed Sep 19 10:54:08 2018 +0200 @@ -152,9 +152,9 @@ # can't create new version when previous draft already exists versions = IWorkflowVersions(context) if (versions.has_version(DRAFT) or - versions.has_version(PROPOSED) or - versions.has_version(CANCELED) or - versions.has_version(REFUSED)): + versions.has_version(PROPOSED) or + versions.has_version(CANCELED) or + versions.has_version(REFUSED)): return False request = check_request() # grant access to webmaster @@ -246,7 +246,8 @@ for version in IWorkflowVersions(context).get_versions((PUBLISHED, RETIRING, RETIRED, ARCHIVING)): if version is not context: IWorkflowInfo(version).fire_transition_toward(ARCHIVED, - comment=translate(_("Published version {0}")).format(version_id)) + comment=translate(_("Published version {0}")).format( + version_id)) def archive_action(wf, context): diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/workflow/basic.py --- a/src/pyams_content/workflow/basic.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/workflow/basic.py Wed Sep 19 10:54:08 2018 +0200 @@ -157,7 +157,8 @@ for version in IWorkflowVersions(context).get_versions((PUBLISHED, )): if version is not context: IWorkflowInfo(version).fire_transition_toward(ARCHIVED, - comment=translate(_("Published version {0}")).format(version_id)) + comment=translate(_("Published version {0}")).format( + version_id)) def archive_action(wf, context): diff -r 3cee4d5a0c29 -r a8723fffbaf6 src/pyams_content/workflow/task.py --- a/src/pyams_content/workflow/task.py Wed Sep 19 10:49:26 2018 +0200 +++ b/src/pyams_content/workflow/task.py Wed Sep 19 10:54:08 2018 +0200 @@ -55,8 +55,8 @@ for tool in get_all_utilities_registered_for(IBaseSharedTool): workflow = IWorkflow(tool) params = Eq(catalog['parents'], intids.register(tool)) & \ - Any(catalog['workflow_state'], workflow.published_states) & \ - Lt(catalog['expiration_date'], now) + Any(catalog['workflow_state'], workflow.published_states) & \ + Lt(catalog['expiration_date'], now) for content in CatalogResultSet(CatalogQuery(catalog).query(params)): if not has_retired: report.write(translate(_("Automatic contents withdrawal:\n")))