Trees | Indices | Help |
|
---|
|
1 ########################################################################### 2 # 3 # This program is part of Zenoss Core, an open source monitoring platform. 4 # Copyright (C) 2007, Zenoss Inc. 5 # 6 # This program is free software; you can redistribute it and/or modify it 7 # under the terms of the GNU General Public License version 2 as published by 8 # the Free Software Foundation. 9 # 10 # For complete information please visit: http://www.zenoss.com/oss/ 11 # 12 ########################################################################### 13 import Globals 14 from AccessControl import ClassSecurityInfo 15 from Products.ZenWidgets import messaging 1618 security = ClassSecurityInfo() 19 20 security.declareProtected('Manage DMD', 'addToZenPack')7522 "Add elements from a displayed list of objects to a ZenPack" 23 from Products.ZenModel.ZenPackable import ZenPackable 24 from Products.ZenModel.ZenPack import ZenPack 25 ids = list(ids) + list(organizerPaths) 26 message = "You must provide a valid ZenPack" 27 if pack: 28 pack = self.dmd.ZenPackManager.packs._getOb(pack) 29 message = 'Saved to %s' % pack.id 30 if ids: 31 for id in ids: 32 try: 33 obj = self.findObject(id) 34 except AttributeError, ex: 35 message = str(ex) 36 break 37 obj.buildRelations() 38 pack.packables.addRelation(obj) 39 else: 40 if isinstance(self, ZenPackable): 41 self.buildRelations() 42 pack.packables.addRelation(self) 43 else: 44 message = 'Nothing to save' 45 if REQUEST: 46 if isinstance(pack, ZenPack): 47 messaging.IMessageSender(self).sendToBrowser( 48 'Add To ZenPack', message) 49 return self.callZenScreen(REQUEST)5052 "Ugly hack for inconsistent object structure accross Organizers" 53 result = [] 54 try: 55 result.append(self._getOb(id)) 56 except AttributeError: 57 pass 58 for name, relationship in self._relations: 59 try: 60 result.append(getattr(self, name)._getOb(id)) 61 except AttributeError: 62 pass 63 if len(result) == 1: 64 return result[0] 65 raise AttributeError('Cannot find a unique %s on %s' % (id, self.id))66 6769 """ 70 Return a list of zenpacks that objects can be added to. (The 71 development mode zenpacks.) 72 """ 73 return [zp for zp in self.dmd.ZenPackManager.packs() 74 if zp.isDevelopment()]
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0beta1 on Thu May 7 11:46:40 2009 | http://epydoc.sourceforge.net |