Skip to content
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

Move all viewlets from senaite.lims to core #1498

Merged
merged 20 commits into from
Jan 21, 2020
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
1 change: 1 addition & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Changelog

**Added**

- #1498 Moved all viewlets from senaite.lims to senaite.core
- #1505 Display partition link in analyses listing
- #1491 Enable Audit-logging for Dexterity Contents
- #1489 Support Multiple Catalogs for Dexterity Contents
Expand Down
12 changes: 10 additions & 2 deletions bika/lims/browser/viewlets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,17 @@
# Copyright 2018-2019 by it's authors.
# Some rights reserved, see README and LICENSE.

from analysisrequest import * # noqa
from attachments import AttachmentsViewlet # noqa
from attachments import WorksheetAttachmentsViewlet # noqa
from document_actions import DocumentActionsViewlet # noqa
from path_bar import PathBarViewlet # noqa
from authenticator import AuthenticatorViewlet # noqa
from colophon import ColophonViewlet # noqa
from content_views import ContentViewsViewlet # noqa
from document_actions import DocumentActionsViewlet # noqa
from footer import FooterViewlet # noqa
from instruments import InstrumentQCFailuresViewlet # noqa
from logo import LogoViewlet # noqa
from path_bar import PathBarViewlet # noqa
from personal_bar import PersonalBarViewlet # noqa
from sections import GlobalSectionsDropdownViewlet # noqa
from site_actions import SiteActionsViewlet # noqa
9 changes: 9 additions & 0 deletions bika/lims/browser/viewlets/colophon.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# -*- coding: utf-8 -*-

from plone.app.layout.viewlets.common import ViewletBase
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile


class ColophonViewlet(ViewletBase):
index = ViewPageTemplateFile(
"templates/plone.app.layout.viewlets.colophon.pt")
251 changes: 152 additions & 99 deletions bika/lims/browser/viewlets/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,43 @@
xmlns:browser="http://namespaces.zope.org/browser"
i18n_domain="senaite.core">

<!-- Content Views Viewlet (Tabs) -->
<browser:viewlet
name="plone.contentviews"
manager="plone.app.layout.viewlets.interfaces.IContentViews"
class=".content_views.ContentViewsViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Colophon Viewlet -->
<browser:viewlet
name="plone.colophon"
manager="plone.app.layout.viewlets.interfaces.IPortalFooter"
class=".colophon.ColophonViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Language Selector -->
<browser:viewlet
name="plone.app.i18n.locales.languageselector"
manager="plone.app.layout.viewlets.interfaces.IPortalHeader"
class="plone.app.i18n.locales.browser.selector.LanguageSelector"
permission="zope2.View"
template="templates/plone.app.i18n.locales.browser.languageselector.pt"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Personal bar -->
<browser:viewlet
name="plone.personal_bar"
manager="plone.app.layout.viewlets.interfaces.IPortalHeader"
class=".personal_bar.PersonalBarViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- AR Attachments Viewlet -->
<browser:viewlet
for="bika.lims.interfaces.IAnalysisRequest"
Expand All @@ -22,174 +59,190 @@
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Hide BreadCrumbs for root views -->
<!-- Instrument QC Failures Viewlet -->
<browser:viewlet
for="*"
name="bika.lims.instrument_qc_failures_viewlet"
class="bika.lims.browser.viewlets.InstrumentQCFailuresViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/instrument_qc_failures_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Site Actions -->
<browser:viewlet
name="plone.site_actions"
manager="plone.app.layout.viewlets.interfaces.IPortalFooter"
class=".site_actions.SiteActionsViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Path Bar -->

<!-- Standard Breadcrumbs -->
<browser:viewlet
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
name="plone.path_bar"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/blank.pt"
class=".path_bar.PathBarViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Hide BreadCrumbs for other stuff -->
<!-- Hide BreadCrumbs for root view -->
<browser:viewlet
for="bika.lims.interfaces.IHaveNoBreadCrumbs"
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
name="plone.path_bar"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/blank.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Translated breadcrumbs -->
<!-- Hide BreadCrumbs for contents providing the `IHaveNoBreadCrumbs` interface -->
<browser:viewlet
for="*"
for="bika.lims.interfaces.IHaveNoBreadCrumbs"
name="plone.path_bar"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/path_bar.pt"
class="bika.lims.browser.viewlets.path_bar.PathBarViewlet"
template="templates/blank.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Hide ByLine for everything -->
<!-- /Path Bar -->

<!-- Global Sections Dropdown -->
<browser:viewlet
for="*"
name="plone.belowcontenttitle.documentbyline"
manager="plone.app.layout.viewlets.interfaces.IBelowContentTitle"
template="templates/blank.pt"
name="senaite.sections_dropdown"
manager="plone.app.layout.viewlets.interfaces.IPortalHeader"
class=".sections.GlobalSectionsDropdownViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Make document actions beautiful -->
<!-- Global sections
NOTE: This viewlet only renders a horizontal line
All sections are located inside the sections dropdown
-->
<browser:viewlet
name="plone.abovecontenttitle.documentactions"
manager="plone.app.layout.viewlets.interfaces.IBelowContentBody"
template="templates/blank.pt"
name="plone.global_sections"
manager="plone.app.layout.viewlets.interfaces.IPortalHeader"
class=".sections.GlobalSectionsViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Document actions -->
<browser:viewlet
name="plone.abovecontenttitle.documentactions"
manager="plone.app.layout.viewlets.interfaces.IAboveContentTitle"
class="bika.lims.browser.viewlets.document_actions.DocumentActionsViewlet"
class=".document_actions.DocumentActionsViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Logo Viewlet -->
<browser:viewlet
name="plone.footer"
manager="plone.app.layout.viewlets.interfaces.IPortalFooter"
class="plone.app.layout.viewlets.common.FooterViewlet"
template="templates/footer.pt"
for="*"
layer="bika.lims.interfaces.IBikaLIMS"
name="plone.logo"
manager="plone.app.layout.viewlets.interfaces.IPortalHeader"
class=".logo.LogoViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Footer Viewlet -->
<browser:viewlet
name="plone.colophon"
name="plone.footer"
manager="plone.app.layout.viewlets.interfaces.IPortalFooter"
template="templates/colophon.pt"
for="*"
layer="bika.lims.interfaces.IBikaLIMS"
class=".footer.FooterViewlet"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Authenticator Viewlet -->
<browser:viewlet
name="bika.lims.authenticator"
manager="plone.app.layout.viewlets.interfaces.IPortalFooter"
class="bika.lims.browser.viewlets.authenticator.AuthenticatorViewlet"
permission="zope2.View"
/>

<!-- Show Instrument QC failures viewlet -->
<browser:viewlet
for="*"
name="bika.lims.instrument_qc_failures_viewlet"
class="bika.lims.browser.viewlets.InstrumentQCFailuresViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/instrument_qc_failures_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Invalid Analysis Request viewlet -->
<browser:viewlet
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.invalid_ar_viewlet"
class=".analysisrequest.InvalidAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/invalid_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.invalid_ar_viewlet"
class=".analysisrequest.InvalidAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/invalid_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Retest Analysis Request viewlet -->
<browser:viewlet
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.retest_ar_viewlet"
class=".analysisrequest.RetestAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/retest_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.retest_ar_viewlet"
class=".analysisrequest.RetestAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/retest_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Primary Analysis Request viewlet -->
<browser:viewlet
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.primary_ar_viewlet"
class=".analysisrequest.PrimaryAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/primary_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.primary_ar_viewlet"
class=".analysisrequest.PrimaryAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/primary_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Partition Analysis Request viewlet -->
<browser:viewlet
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.partition_ar_viewlet"
class=".analysisrequest.PartitionAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/partition_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Dettached partition viewlet -->
<browser:viewlet
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.detached_partition_viewlet"
class=".analysisrequest.DetachedPartitionViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/detached_partition_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.partition_ar_viewlet"
class=".analysisrequest.PartitionAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/partition_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Detached Partition Viewlet -->
<browser:viewlet
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.detached_partition_viewlet"
class=".analysisrequest.DetachedPartitionViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/detached_partition_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Secondary Analysis Request viewlet -->
<browser:viewlet
for="bika.lims.interfaces.IAnalysisRequestSecondary"
name="bika.lims.secondary_ar_viewlet"
class=".analysisrequest.SecondaryAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/secondary_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>
for="bika.lims.interfaces.IAnalysisRequestSecondary"
name="bika.lims.secondary_ar_viewlet"
class=".analysisrequest.SecondaryAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/secondary_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

<!-- Rejected Analysis Request viewlet -->
<browser:viewlet
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.rejected_ar_viewlet"
class=".analysisrequest.RejectedAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/rejected_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>
for="bika.lims.interfaces.IAnalysisRequest"
name="bika.lims.rejected_ar_viewlet"
class=".analysisrequest.RejectedAnalysisRequestViewlet"
manager="plone.app.layout.viewlets.interfaces.IAboveContent"
template="templates/rejected_ar_viewlet.pt"
permission="zope2.View"
layer="bika.lims.interfaces.IBikaLIMS"
/>

</configure>
9 changes: 9 additions & 0 deletions bika/lims/browser/viewlets/content_views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# -*- coding: utf-8 -*-

from plone.app.layout.viewlets.common import ContentViewsViewlet as Base
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile


class ContentViewsViewlet(Base):
index = ViewPageTemplateFile(
"templates/plone.app.layout.viewlets.contentviews.pt")
Loading