| Trees | Indices | Help |
|
|---|
|
|
1 ##############################################################################
2 #
3 # Copyright (C) Zenoss, Inc. 2007, all rights reserved.
4 #
5 # This content is made available according to terms specified in
6 # License.zenoss under the directory where your Zenoss product is installed.
7 #
8 ##############################################################################
9
10
11 from Globals import InitializeClass
12 from Products.ZenModel.ZenModelRM import ZenModelRM
13 from ZenMenuItem import ZenMenuItem
14 from Products.ZenRelations.RelSchema import *
15 from AccessControl import ClassSecurityInfo, Permissions
16 import logging
17 log = logging.getLogger("zen.Menu")
18
19 from ZenPackable import ZenPackable
20
21
23 """ A Menu object that holds Menu Items.
24 """
25
26 meta_type = 'ZenMenu'
27 description = ""
28
29 _properties = (
30 {'id':'description', 'type':'text', 'mode':'w'},
31 )
32
33 _relations = ZenPackable._relations + (
34 ("zenMenuItems", ToManyCont(
35 ToOne, 'Products.ZenModel.ZenMenuItem', 'zenMenus')),
36 ("menuable", ToOne(
37 ToManyCont, 'Products.ZenModel.ZenMenuable', 'zenMenus')),
38 )
39
40 security = ClassSecurityInfo()
41
42 security.declareProtected('Change Device', 'manage_addZenMenuItem')
43 - def manage_addZenMenuItem(self, id=None, description='', action='',
44 permissions=(Permissions.view,), isdialog=False, isglobal=True,
45 banned_classes=(), allowed_classes=(), banned_ids=(), ordering=0.0,
46 REQUEST=None):
47 """ Add a menu item to a menu """
48 mi = None
49 if id:
50 mi = ZenMenuItem(id)
51 self.zenMenuItems._setObject(id, mi)
52 mi = self.zenMenuItems._getOb(mi.id)
53 mi.description = description
54 mi.action = action
55 mi.permissions = permissions
56 mi.isdialog = isdialog
57 mi.isglobal = isglobal
58 mi.banned_classes = list(banned_classes)
59 mi.allowed_classes = list(allowed_classes)
60 mi.banned_ids = list(banned_ids)
61 mi.ordering = ordering
62 return mi
63
64 security.declareProtected('Change Device', 'manage_deleteZenMenuItem')
66 """ Delete Menu Items """
67 if isinstance(delids, (str,unicode)): delids = [delids]
68 for id in delids:
69 self.zenMenuItems._delObject(id)
70
71
72 InitializeClass(ZenMenu)
73
| Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1.1812 on Mon Jul 30 17:11:39 2012 | http://epydoc.sourceforge.net |