Passed
Push — 2.x ( 36ece0...5c0463 )
by Jordi
05:35
created

MenuProviderView.contentmenu()   A

Complexity

Conditions 1

Size

Total Lines 4
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nop 1
1
# -*- coding: utf-8 -*-
2
3
from Products.Five import BrowserView
4
from zope.component import getMultiAdapter
5
from zope.interface import implementer
6
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
7
8
from .interfaces import IMenuProvider
9
10
11
@implementer(IMenuProvider)
12
class MenuProviderView(BrowserView):
13
    """View to render a menu/submenu
14
    """
15
    template = ViewPageTemplateFile('templates/contentmenu.pt')
16
17
    def __init__(self, context, request):
18
        super(BrowserView, self).__init__(context, request)
19
        self.menu = []
20
21
    @property
22
    def contentmenu(self):
23
        return getMultiAdapter(
24
            (self.context, self.request, self), name="plone.contentmenu")
25
26
    def available(self):
27
        return self.contentmenu.available()
28
29
    def workflow_menu(self):
30
        menu_id = "content_status_history"
31
        menu = self.contentmenu.menu()
32
        self.menu = filter(
33
            lambda m: m.get("action").endswith(menu_id), menu)
34
        return self.template()
35