Test coverage for vnccollab.theme.browser.dashboard
vnccollab/ | | covered 69% (1245 of 4098 uncovered) |
theme/ | | covered 69% (1245 of 4098 uncovered) |
browser/ | | covered 74% (507 of 1985 uncovered) |
dashboard.py | | covered 100% (0 of 25 uncovered) |
1: from zope.component import getUtility
1: from Products.Five.browser import BrowserView
1: from plone.portlets.interfaces import IPortletManager
1: from plone.portlets.constants import USER_CATEGORY, GROUP_CATEGORY
1: from plone.memoize.instance import memoize
1: from Products.CMFCore.utils import getToolByName
2: class DashboardView(BrowserView):
"""User's Dashboard.
Lists user's group assigned portlets.
1: """
1: @memoize
def empty(self):
1: dashboards = [getUtility(IPortletManager, name=name)
1: for name in ['plone.dashboard1',
1: 'plone.dashboard2',
1: 'plone.dashboard3',
5: 'plone.dashboard4']]
1: portal_membership = getToolByName(self.context, 'portal_membership')
1: member = portal_membership.getAuthenticatedMember()
1: userid = member.getId()
1: num_portlets = 0
5: for dashboard in dashboards:
4: num_portlets += len(dashboard.get(USER_CATEGORY, {})
4: .get(userid, {}))
12: for groupid in member.getGroups():
8: num_portlets += len(dashboard.get(GROUP_CATEGORY, {})
8: .get(groupid, {}))
1: return num_portlets == 0