You can subscribe to this list here.
2007 |
Jan
|
Feb
(65) |
Mar
(276) |
Apr
(544) |
May
(638) |
Jun
(225) |
Jul
(204) |
Aug
(294) |
Sep
(532) |
Oct
(506) |
Nov
(324) |
Dec
(359) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(208) |
Feb
(225) |
Mar
(248) |
Apr
(388) |
May
(222) |
Jun
(47) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@ze...> - 2007-04-27 15:17:41
|
Author: marc Date: 2007-04-27 11:17:39 -0400 (Fri, 27 Apr 2007) New Revision: 4920 Modified: trunk/Products/ZenEvents/skins/zenevents/viewEvents.pt Log: #1206 * Fixed added zenScreenName Modified: trunk/Products/ZenEvents/skins/zenevents/viewEvents.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/viewEvents.pt 2007-04-27 14:53:50 UTC (rev 4919) +++ trunk/Products/ZenEvents/skins/zenevents/viewEvents.pt 2007-04-27 15:17:39 UTC (rev 4920) @@ -22,6 +22,7 @@ sortedHeader request/sortedHeader | string:; page string:getEventListPage; "> +<input type='hidden' name='zenScreenName' tal:attributes="value template/id" /> <tal:block metal:define-macro="eventTable"> <tal:block tal:define="tabletitle string:Event List;menu_id string:Event_list"> <tal:block metal:use-macro="here/zenuimacros/macros/zentable"> |
From: <sv...@ze...> - 2007-04-27 14:53:49
|
Author: marc Date: 2007-04-27 10:53:50 -0400 (Fri, 27 Apr 2007) New Revision: 4919 Modified: trunk/Products/ZenEvents/EventClass.py trunk/Products/ZenModel/DeviceClass.py trunk/Products/ZenModel/skins/zenmodel/templates.pt Log: * Added notabs parameter for the tabsPane Modified: trunk/Products/ZenEvents/EventClass.py =================================================================== --- trunk/Products/ZenEvents/EventClass.py 2007-04-27 14:45:02 UTC (rev 4918) +++ trunk/Products/ZenEvents/EventClass.py 2007-04-27 14:53:50 UTC (rev 4919) @@ -132,13 +132,6 @@ ('Default', -1), ) severities = dict([(b, a) for a, b in severityConversions]) - - - def zentinelTabs(self, templateName): - if self.id == self.dmdRootName and templateName == 'viewEvents': - return [] - return super(EventClass, self).zentinelTabs(templateName) - def getSubEventClasses(self): """Return all EventClass objects below this one. Modified: trunk/Products/ZenModel/DeviceClass.py =================================================================== --- trunk/Products/ZenModel/DeviceClass.py 2007-04-27 14:45:02 UTC (rev 4918) +++ trunk/Products/ZenModel/DeviceClass.py 2007-04-27 14:53:50 UTC (rev 4919) @@ -130,14 +130,7 @@ ) security = ClassSecurityInfo() - - def zentinelTabs(self, templateName): - if self.id == self.dmdRootName and templateName == 'deviceList': - return [] - return super(DeviceClass, self).zentinelTabs(templateName) - - def getPeerDeviceClassNames(self, pyclass=None): "Return a list of all device paths that have the python class pyclass" if pyclass == None: Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-04-27 14:45:02 UTC (rev 4918) +++ trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-04-27 14:53:50 UTC (rev 4919) @@ -214,8 +214,8 @@ <p id="mainviews">Main Views</p> <ul> <li><a href="/zport/dmd/Dashboard">Dashboard</a></li> - <li><a href="/zport/dmd/Events/viewEvents">Event Console</a></li> - <li><a href="/zport/dmd/Devices/deviceList">Device List</a></li> + <li><a href="/zport/dmd/Events/viewEvents?notabs=1">Event Console</a></li> + <li><a href="/zport/dmd/Devices/deviceList?notabs=1">Device List</a></li> <li><a href="/zport/dmd/Networks">Networks</a></li> </ul> <p id="mainviews">Classes</p> @@ -271,7 +271,7 @@ tal:define="ztabs python:here.zentinelTabs(template.id); tabnames python:[x['name'] for x in ztabs]"> <table class="tabtable" cellpadding="0" cellspacing="0" - tal:condition="ztabs"> + tal:condition="python:(ztabs and not getattr(request, 'notabs', False))"> <tr> <td tal:repeat="tab ztabs" tal:attributes="class python:tab.get('selected', None) |
From: <sv...@ze...> - 2007-04-27 14:45:02
|
Author: ecn Date: 2007-04-27 10:45:02 -0400 (Fri, 27 Apr 2007) New Revision: 4918 Modified: trunk/Products/DataCollector/SnmpClient.py Log: handle bad SNMP configs faster and more gracefully Modified: trunk/Products/DataCollector/SnmpClient.py =================================================================== --- trunk/Products/DataCollector/SnmpClient.py 2007-04-27 14:44:19 UTC (rev 4917) +++ trunk/Products/DataCollector/SnmpClient.py 2007-04-27 14:45:02 UTC (rev 4918) @@ -95,6 +95,19 @@ def doRun(self, driver): + # test snmp connectivity + log.debug("Testing SNMP configuration") + yield self.proxy.walk('.1', timeout=self.timeout, retryCount=self.tries) + try: + driver.next() + except Exception, ex: + log.error("Unable to talk to device %s on %s:%s using community '%s'", + self.device.id, + self.proxy.ip, + self.proxy.port or 161, + self.proxy.community) + return + changed = True if not self.options.force and self.device.snmpOid.startswith(".1.3.6.1.4.1.9"): yield drive(self.checkCiscoChange) |
From: <sv...@ze...> - 2007-04-27 14:44:18
|
Author: ecn Date: 2007-04-27 10:44:19 -0400 (Fri, 27 Apr 2007) New Revision: 4917 Modified: trunk/Products/DataCollector/zenmodeler.py Log: fixed #1307 : zenmodeling hangs if there are no plugins selected Modified: trunk/Products/DataCollector/zenmodeler.py =================================================================== --- trunk/Products/DataCollector/zenmodeler.py 2007-04-27 14:27:36 UTC (rev 4916) +++ trunk/Products/DataCollector/zenmodeler.py 2007-04-27 14:44:19 UTC (rev 4917) @@ -398,8 +398,7 @@ self.log.info("stopping...") self.applyData.stop() transaction.abort() - if reactor.running: - reactor.crash() + reactor.callLater(0., reactor.crash) def mainLoop(self): |
From: <sv...@ze...> - 2007-04-27 14:27:34
|
Author: jstevens Date: 2007-04-27 10:27:36 -0400 (Fri, 27 Apr 2007) New Revision: 4916 Modified: trunk/Products/ZenModel/skins/zenmodel/manageUserFolder.pt Log: fixes #1150 * Paging now works on the Users page. * Added filter field just for fun. Modified: trunk/Products/ZenModel/skins/zenmodel/manageUserFolder.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/manageUserFolder.pt 2007-04-27 14:27:05 UTC (rev 4915) +++ trunk/Products/ZenModel/skins/zenmodel/manageUserFolder.pt 2007-04-27 14:27:36 UTC (rev 4916) @@ -21,12 +21,13 @@ </tal:block> <tal:block metal:fill-slot="contentPane"> -<form method="post" tal:attributes="action here/absolute_url_path" id="users"> +<form method="get" tal:attributes="action here/absolute_url_path" id="users"> <tal:block tal:define="tableName string:userlist; ztm here/ZenTableManager; objects here/getAllUserSettings; + showfilterbox python:True; batch python:ztm.getBatch(tableName, objects); tabletitle string:User Folder"> <tal:block metal:use-macro="here/zenuimacros/macros/zentable"> @@ -89,8 +90,8 @@ </tr> </tal:block> <tr> - <td colspan="0" class="tableheader"> - <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> + <td colspan="4" class="tableheader"> + <span metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> <tr tal:condition="here/isManager"> |
From: <sv...@ze...> - 2007-04-27 14:27:30
|
Author: ecn Date: 2007-04-27 10:27:05 -0400 (Fri, 27 Apr 2007) New Revision: 4915 Modified: trunk/Products/ZenEvents/zensyslog.py Log: fixed #1230: bad ptr lookup in zensyslog Modified: trunk/Products/ZenEvents/zensyslog.py =================================================================== --- trunk/Products/ZenEvents/zensyslog.py 2007-04-27 14:22:17 UTC (rev 4914) +++ trunk/Products/ZenEvents/zensyslog.py 2007-04-27 14:27:05 UTC (rev 4915) @@ -114,14 +114,16 @@ self.olog.info(message) - lookupPointer(ipaddr,timeout=(1,)).addBoth(self.gotHostname, (msg,ipaddr,time.time()) ) + ptr = '.'.join(ipaddr.split('.')[::-1]) + '.in-addr.arpa' + lookupPointer(ptr, timeout=(1,)).addBoth(self.gotHostname, (msg,ipaddr,time.time())) - def gotHostname(self, host, data): + def gotHostname(self, response, data): "send the resolved address, if possible, and the event via the thread" - if isinstance(host, failure.Failure): - host = data[1] - self.q.put( (host,) + data ) + if isinstance(response, failure.Failure): + self.q.put( (data[1],) + data ) + else: + self.q.put( (str(response[0][0].payload.name),) + data ) def doHandleRequest(self, host, msg, ipaddr, rtime): |
From: <sv...@ze...> - 2007-04-27 14:22:18
|
Author: marc Date: 2007-04-27 10:22:17 -0400 (Fri, 27 Apr 2007) New Revision: 4914 Modified: trunk/Products/ZenEvents/skins/zenevents/viewEvents.pt Log: * viewEvents now using page2 macro (showing tabs) Modified: trunk/Products/ZenEvents/skins/zenevents/viewEvents.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/viewEvents.pt 2007-04-27 14:13:44 UTC (rev 4913) +++ trunk/Products/ZenEvents/skins/zenevents/viewEvents.pt 2007-04-27 14:22:17 UTC (rev 4914) @@ -1,4 +1,4 @@ -<tal:block metal:use-macro="here/templates/macros/page3"> +<tal:block metal:use-macro="here/templates/macros/page2"> <tal:block metal:fill-slot="contentPane"> <link type="text/css" rel="stylesheet" href="css/zengrid.css"/> |
From: <sv...@ze...> - 2007-04-27 14:13:48
|
Author: marc Date: 2007-04-27 10:13:44 -0400 (Fri, 27 Apr 2007) New Revision: 4913 Modified: trunk/Products/ZenEvents/ActionRuleWindow.py trunk/Products/ZenEvents/EventClass.py trunk/Products/ZenEvents/EventClassInst.py trunk/Products/ZenEvents/EventManagerBase.py trunk/Products/ZenModel/CPU.py trunk/Products/ZenModel/Classifier.py trunk/Products/ZenModel/DataRoot.py trunk/Products/ZenModel/Device.py trunk/Products/ZenModel/DeviceOrganizer.py trunk/Products/ZenModel/ExpansionCard.py trunk/Products/ZenModel/FileSystem.py trunk/Products/ZenModel/HardDisk.py trunk/Products/ZenModel/HardwareClass.py trunk/Products/ZenModel/IpInterface.py trunk/Products/ZenModel/IpNetwork.py trunk/Products/ZenModel/IpService.py trunk/Products/ZenModel/IpServiceClass.py trunk/Products/ZenModel/MaintenanceWindow.py trunk/Products/ZenModel/Manufacturer.py trunk/Products/ZenModel/ManufacturerRoot.py trunk/Products/ZenModel/MibModule.py trunk/Products/ZenModel/MibNode.py trunk/Products/ZenModel/MibNotification.py trunk/Products/ZenModel/MibOrganizer.py trunk/Products/ZenModel/NagiosCmd.py trunk/Products/ZenModel/NagiosTemplate.py trunk/Products/ZenModel/OSProcess.py trunk/Products/ZenModel/OSProcessClass.py trunk/Products/ZenModel/OSProcessOrganizer.py trunk/Products/ZenModel/OperatingSystem.py trunk/Products/ZenModel/PerformanceConf.py trunk/Products/ZenModel/ProductClass.py trunk/Products/ZenModel/ServiceClass.py trunk/Products/ZenModel/ServiceOrganizer.py trunk/Products/ZenModel/Software.py trunk/Products/ZenModel/SoftwareClass.py trunk/Products/ZenModel/StatusMonitorConf.py trunk/Products/ZenModel/System.py trunk/Products/ZenModel/UserCommand.py trunk/Products/ZenModel/WinService.py trunk/Products/ZenModel/migrate/menus.py Log: * Re-added 4903 changes. Modified: trunk/Products/ZenEvents/ActionRuleWindow.py =================================================================== --- trunk/Products/ZenEvents/ActionRuleWindow.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenEvents/ActionRuleWindow.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -47,7 +47,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenEvents/EventClass.py =================================================================== --- trunk/Products/ZenEvents/EventClass.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenEvents/EventClass.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -110,6 +110,12 @@ , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenEvents/EventClassInst.py =================================================================== --- trunk/Products/ZenEvents/EventClassInst.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenEvents/EventClassInst.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -133,11 +133,11 @@ , 'action' : 'viewHistoryEvents' , 'permissions' : (Permissions.view, ) }, - #{ 'id' : 'viewHistory' - #, 'name' : 'Changes' - #, 'action' : 'viewHistory' - #, 'permissions' : (Permissions.view, ) - #}, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : (Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenEvents/EventManagerBase.py =================================================================== --- trunk/Products/ZenEvents/EventManagerBase.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenEvents/EventManagerBase.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -225,7 +225,7 @@ , 'permissions' : ( "Manage DMD", ) }, { 'id' : 'changes' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) }, Modified: trunk/Products/ZenModel/CPU.py =================================================================== --- trunk/Products/ZenModel/CPU.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/CPU.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -70,7 +70,7 @@ , 'permissions' : ('View',) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/Classifier.py =================================================================== --- trunk/Products/ZenModel/Classifier.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/Classifier.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -60,7 +60,7 @@ permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/DataRoot.py =================================================================== --- trunk/Products/ZenModel/DataRoot.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/DataRoot.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -146,7 +146,7 @@ , 'permissions' : ( "Manage DMD", ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) @@ -222,10 +222,15 @@ def checkValidId(self, new_id): - """Checks a valid id""" + """Checks a valid id + """ + test_id = unquote(new_id) try: - checkValidId(self, unquote(new_id)) - return True + checkValidId(self, test_id) + if getattr(self, test_id, False): + return 'The id "%s" id already being used.' % test_id + else: + return True except: return str(sys.exc_info()[1]) Modified: trunk/Products/ZenModel/Device.py =================================================================== --- trunk/Products/ZenModel/Device.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/Device.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -320,7 +320,7 @@ # , 'permissions' : (permissions.view,) # }, # { 'id' : 'viewHistory' -# , 'name' : 'Changes' +# , 'name' : 'Modifications' # , 'action' : 'viewHistory' # , 'permissions' : (permissions.view, ) # }, Modified: trunk/Products/ZenModel/DeviceOrganizer.py =================================================================== --- trunk/Products/ZenModel/DeviceOrganizer.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/DeviceOrganizer.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -66,13 +66,13 @@ , 'permissions' : ( permissions.view, ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'deviceOrganizerManage' -# , 'permissions' : ('Manage DMD',) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'deviceOrganizerManage' + , 'permissions' : ('Manage DMD',) + }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/ExpansionCard.py =================================================================== --- trunk/Products/ZenModel/ExpansionCard.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/ExpansionCard.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -63,7 +63,7 @@ , 'permissions' : ('View',) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/FileSystem.py =================================================================== --- trunk/Products/ZenModel/FileSystem.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/FileSystem.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -96,7 +96,7 @@ #, 'permissions' : ("Change Device", ) #}, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/HardDisk.py =================================================================== --- trunk/Products/ZenModel/HardDisk.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/HardDisk.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -82,7 +82,7 @@ # , 'permissions' : ("Change Device", ) # }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/HardwareClass.py =================================================================== --- trunk/Products/ZenModel/HardwareClass.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/HardwareClass.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -61,7 +61,7 @@ # permissions.view, ) # }, # { 'id' : 'viewHistory' -# , 'name' : 'Changes' +# , 'name' : 'Modifications' # , 'action' : 'viewHistory' # , 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/IpInterface.py =================================================================== --- trunk/Products/ZenModel/IpInterface.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/IpInterface.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -129,7 +129,7 @@ # , 'permissions' : ("Change Device", ) # }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/IpNetwork.py =================================================================== --- trunk/Products/ZenModel/IpNetwork.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/IpNetwork.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -112,12 +112,12 @@ , 'action' : 'zPropertyEdit' , 'permissions' : ("Manage DMD",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/IpService.py =================================================================== --- trunk/Products/ZenModel/IpService.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/IpService.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -86,17 +86,17 @@ , 'permissions' : ( Permissions.view, ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'ipServiceManage' -# , 'permissions' : ("Manage DMD",) -# }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'ipServiceManage' + , 'permissions' : ("Manage DMD",) + }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/IpServiceClass.py =================================================================== --- trunk/Products/ZenModel/IpServiceClass.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/IpServiceClass.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -69,22 +69,22 @@ , 'action' : 'ipServiceClassEdit' , 'permissions' : ("Manage DMD", ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'ipServiceClassManage' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'ipServiceClassManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/MaintenanceWindow.py =================================================================== --- trunk/Products/ZenModel/MaintenanceWindow.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/MaintenanceWindow.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -106,7 +106,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/Manufacturer.py =================================================================== --- trunk/Products/ZenModel/Manufacturer.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/Manufacturer.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -86,21 +86,21 @@ , 'action' : 'viewManufacturerOverview' , 'permissions' : (permissions.view, ) }, - #{ 'id' : 'edit' - #, 'name' : 'Edit' - #, 'action' : 'editManufacturer' - #, 'permissions' : ("Manage DMD", ) - #}, + { 'id' : 'edit' + , 'name' : 'Edit' + , 'action' : 'editManufacturer' + , 'permissions' : ("Manage DMD", ) + }, { 'id' : 'config' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Manage DMD",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : (permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : (permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/ManufacturerRoot.py =================================================================== --- trunk/Products/ZenModel/ManufacturerRoot.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/ManufacturerRoot.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -80,7 +80,7 @@ permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/MibModule.py =================================================================== --- trunk/Products/ZenModel/MibModule.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/MibModule.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -55,7 +55,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/MibNode.py =================================================================== --- trunk/Products/ZenModel/MibNode.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/MibNode.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -44,7 +44,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/MibNotification.py =================================================================== --- trunk/Products/ZenModel/MibNotification.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/MibNotification.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -44,7 +44,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/MibOrganizer.py =================================================================== --- trunk/Products/ZenModel/MibOrganizer.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/MibOrganizer.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -65,7 +65,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/NagiosCmd.py =================================================================== --- trunk/Products/ZenModel/NagiosCmd.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/NagiosCmd.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -62,7 +62,7 @@ , 'action' : 'editNagiosCmd' , 'permissions' : ( Permissions.view, ) }, - { 'name' : 'Changes' + { 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/NagiosTemplate.py =================================================================== --- trunk/Products/ZenModel/NagiosTemplate.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/NagiosTemplate.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -71,7 +71,7 @@ , 'action' : 'viewNagiosTemplate' , 'permissions' : ( Permissions.view, ) }, - { 'name' : 'Changes' + { 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/OSProcess.py =================================================================== --- trunk/Products/ZenModel/OSProcess.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/OSProcess.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -76,16 +76,16 @@ # , 'action' : 'objRRDTemplate' # , 'permissions' : ("Change Device", ) # }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'osProcessManage' -# , 'permissions' : ("Manage DMD",) -# }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( Permissions.view, ) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'osProcessManage' + , 'permissions' : ("Manage DMD",) + }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/OSProcessClass.py =================================================================== --- trunk/Products/ZenModel/OSProcessClass.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/OSProcessClass.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -76,22 +76,22 @@ , 'action' : 'osProcessClassEdit' , 'permissions' : ("Manage DMD", ) }, - #{ 'id' : 'manage' - #, 'name' : 'Manage' - #, 'action' : 'osProcessClassManage' - #, 'permissions' : ("Manage DMD",) - #}, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'osProcessClassManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/OSProcessOrganizer.py =================================================================== --- trunk/Products/ZenModel/OSProcessOrganizer.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/OSProcessOrganizer.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -72,22 +72,22 @@ , 'permissions' : ( Permissions.view, ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'osProcessOrganizerManage' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'osProcessOrganizerManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/OperatingSystem.py =================================================================== --- trunk/Products/ZenModel/OperatingSystem.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/OperatingSystem.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -115,7 +115,7 @@ , 'permissions' : (permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : '../viewHistory' , 'permissions' : (permissions.view, ) }, Modified: trunk/Products/ZenModel/PerformanceConf.py =================================================================== --- trunk/Products/ZenModel/PerformanceConf.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/PerformanceConf.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -141,13 +141,13 @@ , 'permissions' : ( permissions.view, ) }, -# { 'id' : 'edit' -# , 'name' : 'Edit' -# , 'action' : 'editPerformanceConf' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'edit' + , 'name' : 'Edit' + , 'action' : 'editPerformanceConf' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/ProductClass.py =================================================================== --- trunk/Products/ZenModel/ProductClass.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/ProductClass.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -79,12 +79,12 @@ , 'action' : 'zPropertyEdit' , 'permissions' : ("Manage DMD",) }, - #{ 'id' : 'viewHistory' - #, 'name' : 'Changes' - #, 'action' : 'viewHistory' - #, 'permissions' : ( - # permissions.view, ) - #}, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/ServiceClass.py =================================================================== --- trunk/Products/ZenModel/ServiceClass.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/ServiceClass.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -92,22 +92,22 @@ , 'action' : 'serviceClassEdit' , 'permissions' : ("Manage DMD", ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'serviceClassManage' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'serviceClassManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/ServiceOrganizer.py =================================================================== --- trunk/Products/ZenModel/ServiceOrganizer.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/ServiceOrganizer.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -71,22 +71,22 @@ , 'permissions' : ( Permissions.view, ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'serviceOrganizerManage' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'serviceOrganizerManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/Software.py =================================================================== --- trunk/Products/ZenModel/Software.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/Software.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -76,7 +76,7 @@ permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/SoftwareClass.py =================================================================== --- trunk/Products/ZenModel/SoftwareClass.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/SoftwareClass.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -69,7 +69,7 @@ # permissions.view, ) # }, # { 'id' : 'viewHistory' -# , 'name' : 'Changes' +# , 'name' : 'Modifications' # , 'action' : 'viewHistory' # , 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/StatusMonitorConf.py =================================================================== --- trunk/Products/ZenModel/StatusMonitorConf.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/StatusMonitorConf.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -101,13 +101,13 @@ , 'permissions' : ( permissions.view, ) }, -# { 'id' : 'edit' -# , 'name' : 'Edit' -# , 'action' : 'editStatusMonitorConf' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'edit' + , 'name' : 'Edit' + , 'action' : 'editStatusMonitorConf' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/System.py =================================================================== --- trunk/Products/ZenModel/System.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/System.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -106,17 +106,17 @@ , 'permissions' : ( permissions.view, ) }, - #{ 'id' : 'manage' - #, 'name' : 'Manage' - #, 'action' : 'deviceOrganizerManage' - #, 'permissions' : ('Manage DMD',) - #}, - #{ 'id' : 'viewHistory' - #, 'name' : 'Changes' - #, 'action' : 'viewHistory' - #, 'permissions' : ( - # permissions.view, ) - #}, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'deviceOrganizerManage' + , 'permissions' : ('Manage DMD',) + }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/UserCommand.py =================================================================== --- trunk/Products/ZenModel/UserCommand.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/UserCommand.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -58,7 +58,7 @@ 'permissions' : ( Permissions.view, ), }, { 'id' : 'viewHistory', - 'name' : 'Changes', + 'name' : 'Modifications', 'action' : 'viewHistory', 'permissions' : ( Permissions.view, ), } Modified: trunk/Products/ZenModel/WinService.py =================================================================== --- trunk/Products/ZenModel/WinService.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/WinService.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -69,13 +69,13 @@ , 'permissions' : ( Permissions.view, ) }, - #{ 'id' : 'manage' - #, 'name' : 'Manage' - #, 'action' : 'winServiceManage' - #, 'permissions' : ("Manage DMD",) - #}, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'winServiceManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-04-27 14:03:29 UTC (rev 4912) +++ trunk/Products/ZenModel/migrate/menus.py 2007-04-27 14:13:44 UTC (rev 4913) @@ -111,12 +111,9 @@ 'More':[ dict(action='viewHistory', allowed_classes=['Device', - 'DeviceClass', - 'EventClass', - 'EventClassInst', - 'DeviceOrganizer',], - description='Changes', - ordering=99.0, + 'DeviceClass',], + description='Modifications', + ordering=2.0, id='viewHistory', permissions=('Change Device',) ), @@ -192,113 +189,29 @@ ), dict(action='deviceManagement', allowed_classes=['Device'], - description='Manage', + description='Administration', ordering=70.0, id='deviceManagement', permissions=('Change Device',) ), dict(action='../deviceManagement', allowed_classes=['OperatingSystem'], - description='Manage', + description='Administration', ordering=70.0, id='deviceManagement_os', permissions=('Change Device',) ), - dict(action='serviceOrganizerManage', - allowed_classes=['ServiceOrganizer'], - description='Manage', - ordering=70.0, - id='serviceOrganizerManage', - permissions=('Manage DMD',) - ), - dict(action='osProcessOrganizerManage', - allowed_classes=['OSProcessOrganizer'], - description='Manage', - ordering=70.0, - id='osProcessOrganizerManage', - permissions=('Manage DMD',) - ), - dict(action='ipServiceClassManage', - allowed_classes=['IpServiceClass'], - description='Manage', - ordering=70.0, - id='ipServiceClassManage', - permissions=('Manage DMD',) - ), - dict(action='osProcessManage', - allowed_classes=['OSProcess'], - description='Manage', - ordering=70.0, - id='osProcessManage', - permissions=('Manage DMD',) - ), - dict(action='serviceClassManage', - allowed_classes=['ServiceClass'], - description='Manage', - ordering=70.0, - id='serviceClassManage', - permissions=('Manage DMD',) - ), - dict(action='ipServiceManage', - allowed_classes=['IpService'], - description='Manage', - ordering=70.0, - id='ipServiceManage', - permissions=('Manage DMD',) - ), - dict(action='osProcessClassManage', - allowed_classes=['OSProcessClass'], - description='Manage', - ordering=70.0, - id='osProcessClassManage', - permissions=('Manage DMD',) - ), dict(action='deviceOrganizerManage', allowed_classes=['DeviceOrganizer', 'DeviceGroup', 'Location', 'DeviceClass', 'System'], - description='Manage', + description='Administration', ordering=70.0, id='deviceOrganizerManage', permissions=('Manage DMD',) - ), - dict(action='winServiceManage', - allowed_classes=['WinService'], - description='Manage', - ordering=70.0, - id='winServiceManage', - permissions=('Manage DMD',) ), - dict(action='editStatusMonitorConf', - allowed_classes=['StatusMonitorConf'], - description='Edit', - ordering=60.0, - id='editStatusMonitorConf', - permissions=('Manage DMD',) - ), - dict(action='editManufacturer', - allowed_classes=['Manufacturer',], - description='Edit', - ordering=60.0, - id='editManufacturer', - permissions=('Manage DMD',) - ), - dict(action='editPerformanceConf', - allowed_classes=['PerformanceConf'], - description='Edit', - ordering=60.0, - id='editPerformanceConf', - permissions=('Manage DMD',) - ), - dict(action='editProductClass', - allowed_classes=['ProductClass'], - description='Edit', - ordering=60.0, - id='editProductClass', - permissions=('Manage DMD',) - ), dict(action='eventClassInstSequence', allowed_classes=['EventClassInst'], description='Sequence', |
From: <sv...@ze...> - 2007-04-27 14:03:47
|
Author: ecn Date: 2007-04-27 10:03:29 -0400 (Fri, 27 Apr 2007) New Revision: 4912 Removed: trunk/Products/ZenStatus/zencacti.py Modified: trunk/Products/ZenModel/PerformanceConf.py trunk/Products/ZenModel/skins/zenmodel/editPerformanceConf.pt trunk/Products/ZenModel/skins/zenmodel/viewPerformanceConfOverview.pt trunk/Products/ZenRRD/zenperfsnmp.py trunk/Products/ZenRRD/zenperfxmlrpc.py trunk/Products/ZenRRD/zenprocess.py trunk/Products/ZenStatus/zenping.py trunk/Products/ZenStatus/zenstatus.py trunk/Products/ZenWin/WinCollector.py trunk/Products/ZenWin/zeneventlog.py trunk/Products/ZenWin/zenwin.py trunk/Products/ZenWin/zenwinmodeler.py Log: fixed r1279 : add cycle times fro all collectors in PerformanceConf Modified: trunk/Products/ZenModel/PerformanceConf.py =================================================================== --- trunk/Products/ZenModel/PerformanceConf.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenModel/PerformanceConf.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -88,9 +88,16 @@ security = ClassSecurityInfo() security.setDefaultAccess('allow') - wmiCycleInterval = 60 - snmpCycleInterval = 300 - configCycleInterval = 30 + eventlogCycleInterval = 60 + perfsnmpCycleInterval = 300 + pingCycleInterval = 60 + processCycleInterval = 300 + statusCycleInterval = 60 + winCycleInterval = 60 + winmodelerCycleInterval = 60 + + configCycleInterval = 6*60 + renderurl = '' renderuser = '' renderpass = '' @@ -105,8 +112,13 @@ ) _properties = ( - {'id':'wmiCycleInterval','type':'int','mode':'w'}, - {'id':'snmpCycleInterval','type':'int','mode':'w'}, + {'id':'eventlogCycleInterval','type':'int','mode':'w'}, + {'id':'perfsnmpCycleInterval','type':'int','mode':'w'}, + {'id':'pingCycleInterval','type':'int','mode':'w'}, + {'id':'processCycleInterval','type':'int','mode':'w'}, + {'id':'statusCycleInterval','type':'int','mode':'w'}, + {'id':'winCycleInterval','type':'int','mode':'w'}, + {'id':'winmodelerCycleInterval','type':'int','mode':'w'}, {'id':'configCycleInterval','type':'int','mode':'w'}, {'id':'renderurl','type':'string','mode':'w'}, {'id':'renderuser','type':'string','mode':'w'}, Modified: trunk/Products/ZenModel/skins/zenmodel/editPerformanceConf.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/editPerformanceConf.pt 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenModel/skins/zenmodel/editPerformanceConf.pt 2007-04-27 14:03:29 UTC (rev 4912) @@ -24,20 +24,55 @@ <tal:block metal:fill-slot="zentablecontents"> <!-- BEGIN TABLE CONTENTS --> <tr> - <td class="tableheader">WMI Cycle Interval (secs)</td> + <td class="tableheader">Event Log Cycle Interval (secs)</td> <td class="tablevalues"> - <input class="tablevalues" type="text" name="wmiCycleInterval:int" - size="10" tal:attributes="value here/wmiCycleInterval"/> + <input class="tablevalues" type="text" name="eventlogCycleInterval:int" + size="10" tal:attributes="value here/eventlogCycleInterval"/> </td> </tr> <tr> - <td class="tableheader">Snmp Cycle Interval (secs)</td> + <td class="tableheader">SNMP Performance Cycle Interval (secs)</td> <td class="tablevalues"> - <input class="tablevalues" type="text" name="snmpCycleInterval:int" - size="10" tal:attributes="value here/snmpCycleInterval"/> + <input class="tablevalues" type="text" name="perfsnmpCycleInterval:int" + size="10" tal:attributes="value here/perfsnmpCycleInterval"/> </td> </tr> <tr> + <td class="tableheader">Ping Cycle Interval (secs)</td> + <td class="tablevalues"> + <input class="tablevalues" type="text" name="pingCycleInterval:int" + size="10" tal:attributes="value here/pingCycleInterval"/> + </td> + </tr> + <tr> + <td class="tableheader">Process Cycle Interval (secs)</td> + <td class="tablevalues"> + <input class="tablevalues" type="text" name="processCycleInterval:int" + size="10" tal:attributes="value here/processCycleInterval"/> + </td> + </tr> + <tr> + <td class="tableheader">Status Cycle Interval (secs)</td> + <td class="tablevalues"> + <input class="tablevalues" type="text" name="statusCycleInterval:int" + size="10" tal:attributes="value here/statusCycleInterval"/> + </td> + </tr> + <tr> + <td class="tableheader">Windows Service Cycle Interval (secs)</td> + <td class="tablevalues"> + <input class="tablevalues" type="text" name="winCycleInterval:int" + size="10" tal:attributes="value here/winCycleInterval"/> + </td> + </tr> + <tr> + <td class="tableheader">Windows Modeler Cycle Interval (secs)</td> + <td class="tablevalues"> + <input class="tablevalues" type="text" name="winmodelerCycleInterval:int" + size="10" tal:attributes="value here/winmodelerCycleInterval"/> + </td> + </tr> + <tr> <td class="tableheader">Config Cycle Interval (mins)</td> <td class="tablevalues"> <input class="tablevalues" type="text" name="configCycleInterval:int" Modified: trunk/Products/ZenModel/skins/zenmodel/viewPerformanceConfOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewPerformanceConfOverview.pt 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenModel/skins/zenmodel/viewPerformanceConfOverview.pt 2007-04-27 14:03:29 UTC (rev 4912) @@ -21,14 +21,34 @@ <tr> - <td class="tableheader">WMI Cycle Interval (secs)</td> - <td class="tablevalues" tal:content="here/wmiCycleInterval" /> + <td class="tableheader">Event Log Cycle Interval (secs)</td> + <td class="tablevalues" tal:content="here/eventlogCycleInterval" /> </tr> <tr> - <td class="tableheader">Snmp Cycle Interval (secs)</td> - <td class="tablevalues" tal:content="here/snmpCycleInterval" /> + <td class="tableheader">SNMP Performance Cycle Interval (secs)</td> + <td class="tablevalues" tal:content="here/perfsnmpCycleInterval" /> </tr> <tr> + <td class="tableheader">Ping Cycle Interval (secs)</td> + <td class="tablevalues" tal:content="here/pingCycleInterval" /> + </tr> + <tr> + <td class="tableheader">Process Cycle Interval (secs)</td> + <td class="tablevalues" tal:content="here/processCycleInterval" /> + </tr> + <tr> + <td class="tableheader">Status Cycle Interval (secs)</td> + <td class="tablevalues" tal:content="here/statusCycleInterval" /> + </tr> + <tr> + <td class="tableheader">Windows Service Cycle Interval (secs)</td> + <td class="tablevalues" tal:content="here/winCycleInterval" /> + </tr> + <tr> + <td class="tableheader">Windows Modeler Cycle Interval (secs)</td> + <td class="tablevalues" tal:content="here/winmodelerCycleInterval" /> + </tr> + <tr> <td class="tableheader">Config Cycle Interval (mins)</td> <td class="tablevalues" tal:content="here/configCycleInterval" /> </tr> Modified: trunk/Products/ZenRRD/zenperfsnmp.py =================================================================== --- trunk/Products/ZenRRD/zenperfsnmp.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenRRD/zenperfsnmp.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -229,6 +229,8 @@ # these names need to match the property values in StatusMonitorConf maxRrdFileAge = 30 * (24*60*60) # seconds + perfsnmpConfigInterval = 5*60 + properties = RRDDaemon.properties + ('perfsnmpCycleInterval',) initialServices = SnmpDaemon.initialServices + ['SnmpPerfConfig'] def __init__(self): @@ -237,7 +239,6 @@ self.proxies = {} self.queryWorkList = Set() self.unresponsiveDevices = Set() - self.cycleComplete = False self.snmpOidsRequested = 0 perfRoot = performancePath('') makeDirs(perfRoot) @@ -265,8 +266,7 @@ def maybeQuit(self): "Stop if all performance has been fetched, and we aren't cycling" - if self.cycleComplete and \ - not self.options.daemon and \ + if not self.options.daemon and \ not self.options.cycle: reactor.callLater(0, reactor.stop) Modified: trunk/Products/ZenRRD/zenperfxmlrpc.py =================================================================== --- trunk/Products/ZenRRD/zenperfxmlrpc.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenRRD/zenperfxmlrpc.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -188,7 +188,6 @@ self.devices = {} self.queryWorkList = Set() self.unresponsiveDevices = Set() - self.cycleComplete = False self.methodsRequested = 0 perfRoot = performancePath('') if not os.path.exists(perfRoot): @@ -217,8 +216,7 @@ def maybeQuit(self): "Stop if all performance has been fetched, and we aren't cycling" - if self.cycleComplete and \ - not self.options.daemon and \ + if not self.options.daemon and \ not self.options.cycle: reactor.stop() Modified: trunk/Products/ZenRRD/zenprocess.py =================================================================== --- trunk/Products/ZenRRD/zenprocess.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenRRD/zenprocess.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -248,6 +248,8 @@ statusEvent = { 'eventClass' : Status_OSProcess, 'eventGroup' : 'Process' } initialServices = SnmpDaemon.initialServices + ['ProcessConfig'] + processConfigInterval = 5*60 + properties = RRDDaemon.properties + ('processCycleInterval',) def __init__(self): SnmpDaemon.__init__(self, 'zenprocess') @@ -492,7 +494,7 @@ def periodic(self, unused=None): "Basic SNMP scan loop" - reactor.callLater(self.snmpCycleInterval, self.periodic) + reactor.callLater(self.processCycleInterval, self.periodic) if self.scanning: running, unstarted, finished = self.scanning.status() Deleted: trunk/Products/ZenStatus/zencacti.py Modified: trunk/Products/ZenStatus/zenping.py =================================================================== --- trunk/Products/ZenStatus/zenping.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenStatus/zenping.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -48,7 +48,7 @@ timeOut = 1.5 tries = 2 chunk = 75 - cycleInterval = 60 + pingCycleInterval = 60 configCycleInterval = 20*60 maxFailures = 2 pinger = None @@ -98,7 +98,7 @@ changed = False smc = self.dmd.getObjByPath(self.configpath) for att in ("timeOut", "tries", "chunk", - "cycleInterval", "configCycleInterval", + "pingCycleInterval", "configCycleInterval", "maxFailures",): before = getattr(self, att) after = getattr(smc, att) @@ -159,7 +159,7 @@ def pingCycle(self): "Start a new run against the ping job tree" - reactor.callLater(self.cycleInterval, self.pingCycle) + reactor.callLater(self.pingCycleInterval, self.pingCycle) if self.pingTreeIter == None: self.start = time.time() Modified: trunk/Products/ZenStatus/zenstatus.py =================================================================== --- trunk/Products/ZenStatus/zenstatus.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenStatus/zenstatus.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -84,9 +84,9 @@ agent = "ZenStatus" initialServices = ['EventService', 'StatusConfig'] - cycleInterval = 300 + statusCycleInterval = 300 configCycleInterval = 20 - properties = ('cycleInterval', 'configCycleInterval') + properties = ('statusCycleInterval', 'configCycleInterval') reconfigureTimeout = None def __init__(self): @@ -165,14 +165,14 @@ self.log.error(why.getErrorMessage()) def scanCycle(self, driver): - d = driveLater(self.cycleInterval, self.scanCycle) + d = driveLater(self.statusCycleInterval, self.scanCycle) d.addErrback(self.error) if not self.status.done(): duration = self.status.duration() self.log.warning("Scan cycle not complete in %.2f seconds", duration) - if duration < self.cycleInterval * 2: + if duration < self.statusCycleInterval * 2: self.log.warning("Waiting for the cycle to complete") return self.log.warning("Ditching this cycle") @@ -201,7 +201,7 @@ heartbeatevt = dict(eventClass=Heartbeat, component='ZenStatus', device=getfqdn()) - self.sendEvent(heartbeatevt, timeout=self.cycleInterval*3) + self.sendEvent(heartbeatevt, timeout=self.statusCycleInterval*3) def runSomeJobs(self): Modified: trunk/Products/ZenWin/WinCollector.py =================================================================== --- trunk/Products/ZenWin/WinCollector.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenWin/WinCollector.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -33,10 +33,10 @@ class WinCollector(Base): - wmiCycleInterval = 60. configCycleInterval = 20. initialServices = ['EventService', 'WmiConfig'] + attributes = ('configCycleInterval',) heartbeat = dict(eventClass=Heartbeat, device=getfqdn(), @@ -68,8 +68,10 @@ except Exception, ex: self.log.exception("Error processing main loop") delay = time.time() - now - driveLater(max(0, self.wmiCycleInterval - delay), self.scanCycle) + driveLater(max(0, self.cycleInterval() - delay), self.scanCycle) + def cycleInterval(self): + return 60 def buildOptions(self): Base.buildOptions(self) @@ -92,12 +94,13 @@ def updateConfig(self, cfg): - for a, v in cfg: - current = getattr(self, a, None) - if current is not None and current != v: - self.log.info("Setting %s to %r", a, v); - setattr(self, a, v) - self.heartbeat['timeout'] = self.wmiCycleInterval*3 + cfg = dict(cfg) + for attribute in self.attributes: + current = getattr(self, attribute, None) + value = cfg.get(attribute) + if current is not None and current != value: + self.log.info("Setting %s to %r", attribute, value); + setattr(self, attribute, value) def error(self, why): why.printTraceback() Modified: trunk/Products/ZenWin/zeneventlog.py =================================================================== --- trunk/Products/ZenWin/zeneventlog.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenWin/zeneventlog.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -31,6 +31,8 @@ name = agent = "zeneventlog" + attributes = Base.attributes + ('eventlogCycleInterval',) + def __init__(self): Base.__init__(self) self.devices = {} @@ -131,6 +133,9 @@ self.log.debug("device:%s msg:'%s'", name, lrec.Message) return evt + def cycleInterval(self): + return self.eventlogCycleInterval + if __name__ == "__main__": zw = zeneventlog() Modified: trunk/Products/ZenWin/zenwin.py =================================================================== --- trunk/Products/ZenWin/zenwin.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenWin/zenwin.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -30,6 +30,8 @@ from WinServiceTest import WinServiceTest from WinEventlog import WinEventlog +ERRtimeout = 88 + class StatusTest: def __init__(self, name, username, password, services): self.name = name @@ -41,6 +43,7 @@ name = agent = "zenwin" deviceConfig = 'getWinServices' + attributes = Base.attributes + ('winmodelerCycleInterval',) def __init__(self): Base.__init__(self) @@ -48,6 +51,7 @@ self.devices = [] self.watchers = {} self.statmsg = "Windows Service '%s' is %s" + self.winCycleInterval = 60 def mkevt(self, devname, svcname, msg, sev): "Compose an event" @@ -125,6 +129,9 @@ code,txt,info,param = e if info: wcode, source, descr, hfile, hcont, scode = info + if wcode == ERRtimeout: + return + self.log.debug("Codes: %r %r %r %r %r %r" % info) scode = abs(scode) if scode != TIMEOUT_CODE: self.deviceDown(srec, str(e)) @@ -164,6 +171,10 @@ agent=self.agent, eventClass=Status_Wmi_Conn)) + def updateConfig(self, cfg): + Base.updateConfig(self, cfg) + self.heartbeat['timeout'] = self.winCycleInterval*3 + def updateDevices(self, devices): config = [] for n,u,p,s in devices: @@ -174,6 +185,9 @@ if devices: self.devices = config + def cycleInterval(self): + return self.winCycleInterval + def buildOptions(self): Base.buildOptions(self) Modified: trunk/Products/ZenWin/zenwinmodeler.py =================================================================== --- trunk/Products/ZenWin/zenwinmodeler.py 2007-04-27 13:25:06 UTC (rev 4911) +++ trunk/Products/ZenWin/zenwinmodeler.py 2007-04-27 14:03:29 UTC (rev 4912) @@ -32,6 +32,7 @@ name = agent = "zenwinmodeler" evtAlertGroup = "ServiceTest" deviceConfig = 'getDeviceWinInfo' + attributes = Base.attributes + ('winmodelerCycleInterval',) def __init__(self): Base.__init__(self) @@ -109,6 +110,9 @@ self.log.exception(msg) self.failed = True + def cycleInterval(self): + return self.winmodelerCycleInterval + def updateDevices(self, devices): self.devices = devices |
From: <sv...@ze...> - 2007-04-27 13:25:08
|
Author: jstevens Date: 2007-04-27 09:25:06 -0400 (Fri, 27 Apr 2007) New Revision: 4911 Modified: trunk/Products/ZenWidgets/ZenTableManager.py Log: unborking the name change on the sort function Modified: trunk/Products/ZenWidgets/ZenTableManager.py =================================================================== --- trunk/Products/ZenWidgets/ZenTableManager.py 2007-04-27 12:49:58 UTC (rev 4910) +++ trunk/Products/ZenWidgets/ZenTableManager.py 2007-04-27 13:25:06 UTC (rev 4911) @@ -240,7 +240,7 @@ objects = [Wrapper(o.get(field, ''), o) for o in objects] else: objects = [Wrapper(getattr(o, field, ''), o) for o in objects] - objects = dictAwareSort(objects, (('field', rule, sence),)) + objects = sort(objects, (('field', rule, sence),)) return [w.cargo for w in objects] if (getattr(aq_base(request), 'sortedHeader', False) @@ -248,7 +248,7 @@ sortedHeader = request.sortedHeader sortedSence = request.sortedSence sortRule = getattr(aq_base(request), "sortRule", "cmp") - objects = mySort(objects, sortedHeader, sortRule, sortedSence) + objects = dictAwareSort(objects, sortedHeader, sortRule, sortedSence) return objects |
From: <sv...@ze...> - 2007-04-27 12:50:04
|
Author: ian Date: 2007-04-27 08:49:58 -0400 (Fri, 27 Apr 2007) New Revision: 4910 Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt trunk/Products/ZenUtils/js/MochiKit.js Log: * Fixes #1249: Clicking anywhere on the message box will dismiss it. * Upgraded Mochikit. Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-04-27 04:15:34 UTC (rev 4909) +++ trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-04-27 12:49:58 UTC (rev 4910) @@ -184,14 +184,13 @@ <div metal:use-macro="here/templates/macros/breadCrumbPane"></div> </div> -<div id="messageSlot" tal:condition="python:hasattr(here.REQUEST,'message')"> +<div id="messageSlot" tal:condition="python:hasattr(here.REQUEST,'message')" +onclick="fade('messageSlot', {'duration':0.3} )" > <div class="dbox_tl"><div class="dbox_tr"><div class="dbox_tc"> </div></div></div> <div class="dbox_ml"><div class="dbox_mr"><div class="dbox_mc" style="position:relative;"> -<img src="img/close.gif" style="position:absolute;top:2px;right:2px;cursor:pointer" - onclick="fade('messageSlot', {'duration':0.3} )"/> <span tal:content="here/REQUEST/message">Message</span> </div></div></div> @@ -201,7 +200,7 @@ <script tal:condition="python:hasattr(here.REQUEST,'message')"> var pulseMessage = function() { showElement('messageSlot'); - pulsate('messageSlot', {pulses:2, duration:5}); + pulsate('messageSlot', {pulses:2, duration:3}); } addLoadEvent(pulseMessage); </script> Modified: trunk/Products/ZenUtils/js/MochiKit.js =================================================================== --- trunk/Products/ZenUtils/js/MochiKit.js 2007-04-27 04:15:34 UTC (rev 4909) +++ trunk/Products/ZenUtils/js/MochiKit.js 2007-04-27 12:49:58 UTC (rev 4910) @@ -616,10 +616,16 @@ },registerJSON:function(_de,_df,_e0,_e1){ MochiKit.Base.jsonRegistry.register(_de,_df,_e0,_e1); },evalJSON:function(){ -return eval("("+arguments[0]+")"); +return eval("("+MochiKit.Base._filterJSON(arguments[0])+")"); +},_filterJSON:function(s){ +var m=s.match(/^\s*\/\*(.*)\*\/\s*$/); +if(m){ +return m[1]; +} +return s; },serializeJSON:function(o){ -var _e3=typeof (o); -if(_e3=="number"||_e3=="boolean"){ +var _e5=typeof (o); +if(_e5=="number"||_e5=="boolean"){ return o+""; }else{ if(o===null){ @@ -627,25 +633,25 @@ } } var m=MochiKit.Base; -var _e5=m.reprString; -if(_e3=="string"){ -return _e5(o); +var _e7=m.reprString; +if(_e5=="string"){ +return _e7(o); } var me=arguments.callee; -var _e7; +var _e9; if(typeof (o.__json__)=="function"){ -_e7=o.__json__(); -if(o!==_e7){ -return me(_e7); +_e9=o.__json__(); +if(o!==_e9){ +return me(_e9); } } if(typeof (o.json)=="function"){ -_e7=o.json(); -if(o!==_e7){ -return me(_e7); +_e9=o.json(); +if(o!==_e9){ +return me(_e9); } } -if(_e3!="function"&&typeof (o.length)=="number"){ +if(_e5!="function"&&typeof (o.length)=="number"){ var res=[]; for(var i=0;i<o.length;i++){ var val=me(o[i]); @@ -657,9 +663,9 @@ return "["+res.join(", ")+"]"; } try{ -_e7=m.jsonRegistry.match(o); -if(o!==_e7){ -return me(_e7); +_e9=m.jsonRegistry.match(o); +if(o!==_e9){ +return me(_e9); } } catch(e){ @@ -667,20 +673,20 @@ throw e; } } -if(_e3=="undefined"){ +if(_e5=="undefined"){ throw new TypeError("undefined can not be serialized as JSON"); } -if(_e3=="function"){ +if(_e5=="function"){ return null; } res=[]; for(var k in o){ -var _ec; +var _ee; if(typeof (k)=="number"){ -_ec="\""+k+"\""; +_ee="\""+k+"\""; }else{ if(typeof (k)=="string"){ -_ec=_e5(k); +_ee=_e7(k); }else{ continue; } @@ -689,57 +695,57 @@ if(typeof (val)!="string"){ continue; } -res.push(_ec+":"+val); +res.push(_ee+":"+val); } return "{"+res.join(", ")+"}"; },objEqual:function(a,b){ return (MochiKit.Base.compare(a,b)===0); -},arrayEqual:function(_ef,arr){ -if(_ef.length!=arr.length){ +},arrayEqual:function(_f1,arr){ +if(_f1.length!=arr.length){ return false; } -return (MochiKit.Base.compare(_ef,arr)===0); +return (MochiKit.Base.compare(_f1,arr)===0); },concat:function(){ -var _f1=[]; -var _f2=MochiKit.Base.extend; +var _f3=[]; +var _f4=MochiKit.Base.extend; for(var i=0;i<arguments.length;i++){ -_f2(_f1,arguments[i]); +_f4(_f3,arguments[i]); } -return _f1; +return _f3; },keyComparator:function(key){ var m=MochiKit.Base; -var _f6=m.compare; +var _f8=m.compare; if(arguments.length==1){ return function(a,b){ -return _f6(a[key],b[key]); +return _f8(a[key],b[key]); }; } -var _f9=m.extend(null,arguments); +var _fb=m.extend(null,arguments); return function(a,b){ -var _fc=0; -for(var i=0;(_fc===0)&&(i<_f9.length);i++){ -var key=_f9[i]; -_fc=_f6(a[key],b[key]); +var _fe=0; +for(var i=0;(_fe===0)&&(i<_fb.length);i++){ +var key=_fb[i]; +_fe=_f8(a[key],b[key]); } -return _fc; +return _fe; }; },reverseKeyComparator:function(key){ -var _100=MochiKit.Base.keyComparator.apply(this,arguments); +var _102=MochiKit.Base.keyComparator.apply(this,arguments); return function(a,b){ -return _100(b,a); +return _102(b,a); }; },partial:function(func){ var m=MochiKit.Base; return m.bind.apply(this,m.extend([func,undefined],arguments,1)); -},listMinMax:function(_105,lst){ +},listMinMax:function(_107,lst){ if(lst.length===0){ return null; } var cur=lst[0]; -var _108=MochiKit.Base.compare; +var _10a=MochiKit.Base.compare; for(var i=1;i<lst.length;i++){ var o=lst[i]; -if(_108(o,cur)==_105){ +if(_10a(o,cur)==_107){ cur=o; } } @@ -748,15 +754,15 @@ return MochiKit.Base.listMinMax(1,arguments); },objMin:function(){ return MochiKit.Base.listMinMax(-1,arguments); -},findIdentical:function(lst,_10c,_10d,end){ +},findIdentical:function(lst,_10e,_10f,end){ if(typeof (end)=="undefined"||end===null){ end=lst.length; } -if(typeof (_10d)=="undefined"||_10d===null){ -_10d=0; +if(typeof (_10f)=="undefined"||_10f===null){ +_10f=0; } -for(var i=_10d;i<end;i++){ -if(lst[i]===_10c){ +for(var i=_10f;i<end;i++){ +if(lst[i]===_10e){ return i; } } @@ -765,11 +771,11 @@ var sum=0; var m=MochiKit.Base; var args=m.extend(null,arguments); -var _113=args.length; +var _115=args.length; while(args.length){ var o=args.shift(); if(o&&typeof (o)=="object"&&typeof (o.length)=="number"){ -_113+=o.length-1; +_115+=o.length-1; for(var i=o.length-1;i>=0;i--){ sum+=o[i]; } @@ -777,10 +783,10 @@ sum+=o; } } -if(_113<=0){ +if(_115<=0){ throw new TypeError("mean() requires at least one argument"); } -return sum/_113; +return sum/_115; },median:function(){ var data=MochiKit.Base.flattenArguments(arguments); if(data.length===0){ @@ -788,43 +794,43 @@ } data.sort(compare); if(data.length%2==0){ -var _117=data.length/2; -return (data[_117]+data[_117-1])/2; +var _119=data.length/2; +return (data[_119]+data[_119-1])/2; }else{ return data[(data.length-1)/2]; } -},findValue:function(lst,_119,_11a,end){ +},findValue:function(lst,_11b,_11c,end){ if(typeof (end)=="undefined"||end===null){ end=lst.length; } -if(typeof (_11a)=="undefined"||_11a===null){ -_11a=0; +if(typeof (_11c)=="undefined"||_11c===null){ +_11c=0; } var cmp=MochiKit.Base.compare; -for(var i=_11a;i<end;i++){ -if(cmp(lst[i],_119)===0){ +for(var i=_11c;i<end;i++){ +if(cmp(lst[i],_11b)===0){ return i; } } return -1; -},nodeWalk:function(node,_11f){ -var _120=[node]; -var _121=MochiKit.Base.extend; -while(_120.length){ -var res=_11f(_120.shift()); +},nodeWalk:function(node,_121){ +var _122=[node]; +var _123=MochiKit.Base.extend; +while(_122.length){ +var res=_121(_122.shift()); if(res){ -_121(_120,res); +_123(_122,res); } } -},nameFunctions:function(_123){ -var base=_123.NAME; +},nameFunctions:function(_125){ +var base=_125.NAME; if(typeof (base)=="undefined"){ base=""; }else{ base=base+"."; } -for(var name in _123){ -var o=_123[name]; +for(var name in _125){ +var o=_125[name]; if(typeof (o)=="function"&&typeof (o.NAME)=="undefined"){ try{ o.NAME=base+name; @@ -833,19 +839,19 @@ } } } -},queryString:function(_127,_128){ -if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (_127)=="string"||(typeof (_127.nodeType)!="undefined"&&_127.nodeType>0))){ -var kv=MochiKit.DOM.formContents(_127); -_127=kv[0]; -_128=kv[1]; +},queryString:function(_129,_12a){ +if(typeof (MochiKit.DOM)!="undefined"&&arguments.length==1&&(typeof (_129)=="string"||(typeof (_129.nodeType)!="undefined"&&_129.nodeType>0))){ +var kv=MochiKit.DOM.formContents(_129); +_129=kv[0]; +_12a=kv[1]; }else{ if(arguments.length==1){ -if(typeof (_127.length)=="number"&&_127.length==2){ -return arguments.callee(_127[0],_127[1]); +if(typeof (_129.length)=="number"&&_129.length==2){ +return arguments.callee(_129[0],_129[1]); } -var o=_127; -_127=[]; -_128=[]; +var o=_129; +_129=[]; +_12a=[]; for(var k in o){ var v=o[k]; if(typeof (v)=="function"){ @@ -853,58 +859,59 @@ }else{ if(typeof (v)!="string"&&typeof (v.length)=="number"){ for(var i=0;i<v.length;i++){ -_127.push(k); -_128.push(v[i]); +_129.push(k); +_12a.push(v[i]); } }else{ -_127.push(k); -_128.push(v); +_129.push(k); +_12a.push(v); } } } } } var rval=[]; -var len=Math.min(_127.length,_128.length); -var _130=MochiKit.Base.urlEncode; +var len=Math.min(_129.length,_12a.length); +var _132=MochiKit.Base.urlEncode; for(var i=0;i<len;i++){ -v=_128[i]; +v=_12a[i]; if(typeof (v)!="undefined"&&v!==null){ -rval.push(_130(_127[i])+"="+_130(v)); +rval.push(_132(_129[i])+"="+_132(v)); } } return rval.join("&"); -},parseQueryString:function(_131,_132){ -var qstr=(_131.charAt(0)=="?")?_131.substring(1):_131; -var _134=qstr.replace(/\+/g,"%20").split(/(\&\;|\&\#38\;|\&|\&)/); +},parseQueryString:function(_133,_134){ +var qstr=(_133.charAt(0)=="?")?_133.substring(1):_133; +var _136=qstr.replace(/\+/g,"%20").split(/(\&\;|\&\#38\;|\&|\&)/); var o={}; -var _136; +var _138; if(typeof (decodeURIComponent)!="undefined"){ -_136=decodeURIComponent; +_138=decodeURIComponent; }else{ -_136=unescape; +_138=unescape; } -if(_132){ -for(var i=0;i<_134.length;i++){ -var pair=_134[i].split("="); -if(pair.length!==2){ +if(_134){ +for(var i=0;i<_136.length;i++){ +var pair=_136[i].split("="); +var name=_138(pair.shift()); +if(!name){ continue; } -var name=_136(pair[0]); var arr=o[name]; if(!(arr instanceof Array)){ arr=[]; o[name]=arr; } -arr.push(_136(pair[1])); +arr.push(_138(pair.join("="))); } }else{ -for(i=0;i<_134.length;i++){ -pair=_134[i].split("="); -if(pair.length!==2){ +for(i=0;i<_136.length;i++){ +pair=_136[i].split("="); +var name=pair.shift(); +if(!name){ continue; } -o[_136(pair[0])]=_136(pair[1]); +o[_138(name)]=_138(pair.join("=")); } } return o; @@ -912,11 +919,11 @@ MochiKit.Base.AdapterRegistry=function(){ this.pairs=[]; }; -MochiKit.Base.AdapterRegistry.prototype={register:function(name,_13c,wrap,_13e){ -if(_13e){ -this.pairs.unshift([name,_13c,wrap]); +MochiKit.Base.AdapterRegistry.prototype={register:function(name,_13e,wrap,_140){ +if(_140){ +this.pairs.unshift([name,_13e,wrap]); }else{ -this.pairs.push([name,_13c,wrap]); +this.pairs.push([name,_13e,wrap]); } },match:function(){ for(var i=0;i<this.pairs.length;i++){ @@ -938,13 +945,13 @@ }}; MochiKit.Base.EXPORT=["flattenArray","noop","camelize","counter","clone","extend","update","updatetree","setdefault","keys","values","items","NamedError","operator","forwardCall","itemgetter","typeMatcher","isCallable","isUndefined","isUndefinedOrNull","isNull","isEmpty","isNotEmpty","isArrayLike","isDateLike","xmap","map","xfilter","filter","methodcaller","compose","bind","bindMethods","NotFound","AdapterRegistry","registerComparator","compare","registerRepr","repr","objEqual","arrayEqual","concat","keyComparator","reverseKeyComparator","partial","merge","listMinMax","listMax","listMin","objMax","objMin","nodeWalk","zip","urlEncode","queryString","serializeJSON","registerJSON","evalJSON","parseQueryString","findValue","findIdentical","flattenArguments","method","average","mean","median"]; MochiKit.Base.EXPORT_OK=["nameFunctions","comparatorRegistry","reprRegistry","jsonRegistry","compareDateLike","compareArrayLike","reprArrayLike","reprString","reprNumber"]; -MochiKit.Base._exportSymbols=function(_144,_145){ +MochiKit.Base._exportSymbols=function(_146,_147){ if(!MochiKit.__export__){ return; } -var all=_145.EXPORT_TAGS[":all"]; +var all=_147.EXPORT_TAGS[":all"]; for(var i=0;i<all.length;i++){ -_144[all[i]]=_145[all[i]]; +_146[all[i]]=_147[all[i]]; } }; MochiKit.Base.__new__=function(){ @@ -953,12 +960,12 @@ m.forward=m.forwardCall; m.find=m.findValue; if(typeof (encodeURIComponent)!="undefined"){ -m.urlEncode=function(_149){ -return encodeURIComponent(_149).replace(/\'/g,"%27"); +m.urlEncode=function(_14b){ +return encodeURIComponent(_14b).replace(/\'/g,"%27"); }; }else{ -m.urlEncode=function(_14a){ -return escape(_14a).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27"); +m.urlEncode=function(_14c){ +return escape(_14c).replace(/\+/g,"%2B").replace(/\"/g,"%22").rval.replace(/\'/g,"%27"); }; } m.NamedError=function(name){ @@ -1024,29 +1031,29 @@ return "["+this.NAME+" "+this.VERSION+"]"; },toString:function(){ return this.__repr__(); -},registerIteratorFactory:function(name,_14e,_14f,_150){ -MochiKit.Iter.iteratorRegistry.register(name,_14e,_14f,_150); -},iter:function(_151,_152){ +},registerIteratorFactory:function(name,_150,_151,_152){ +MochiKit.Iter.iteratorRegistry.register(name,_150,_151,_152); +},iter:function(_153,_154){ var self=MochiKit.Iter; if(arguments.length==2){ return self.takewhile(function(a){ -return a!=_152; -},_151); +return a!=_154; +},_153); } -if(typeof (_151.next)=="function"){ -return _151; +if(typeof (_153.next)=="function"){ +return _153; }else{ -if(typeof (_151.iter)=="function"){ -return _151.iter(); +if(typeof (_153.iter)=="function"){ +return _153.iter(); } } try{ -return self.iteratorRegistry.match(_151); +return self.iteratorRegistry.match(_153); } catch(e){ var m=MochiKit.Base; if(e==m.NotFound){ -e=new TypeError(typeof (_151)+": "+m.repr(_151)+" is not iterable"); +e=new TypeError(typeof (_153)+": "+m.repr(_153)+" is not iterable"); } throw e; } @@ -1062,12 +1069,12 @@ var self=MochiKit.Iter; var m=MochiKit.Base; var lst=[]; -var _15c=self.iter(p); +var _15e=self.iter(p); return {repr:function(){ return "cycle(...)"; },toString:m.forwardCall("repr"),next:function(){ try{ -var rval=_15c.next(); +var rval=_15e.next(); lst.push(rval); return rval; } @@ -1107,17 +1114,17 @@ n-=1; return elem; }}; -},next:function(_162){ -return _162.next(); +},next:function(_164){ +return _164.next(); },izip:function(p,q){ var m=MochiKit.Base; var self=MochiKit.Iter; var next=self.next; -var _168=m.map(self.iter,arguments); +var _16a=m.map(self.iter,arguments); return {repr:function(){ return "izip(...)"; },toString:m.forwardCall("repr"),next:function(){ -return m.map(next,_168); +return m.map(next,_16a); }}; },ifilter:function(pred,seq){ var m=MochiKit.Base; @@ -1157,7 +1164,7 @@ var self=MochiKit.Iter; var m=MochiKit.Base; seq=self.iter(seq); -var _174=0; +var _176=0; var stop=0; var step=1; var i=-1; @@ -1165,38 +1172,38 @@ stop=arguments[1]; }else{ if(arguments.length==3){ -_174=arguments[1]; +_176=arguments[1]; stop=arguments[2]; }else{ -_174=arguments[1]; +_176=arguments[1]; stop=arguments[2]; step=arguments[3]; } } return {repr:function(){ -return "islice("+["...",_174,stop,step].join(", ")+")"; +return "islice("+["...",_176,stop,step].join(", ")+")"; },toString:m.forwardCall("repr"),next:function(){ var rval; -while(i<_174){ +while(i<_176){ rval=seq.next(); i++; } -if(_174>=stop){ +if(_176>=stop){ throw self.StopIteration; } -_174+=step; +_176+=step; return rval; }}; },imap:function(fun,p,q){ var m=MochiKit.Base; var self=MochiKit.Iter; -var _17e=m.map(self.iter,m.extend(null,arguments,1)); +var _180=m.map(self.iter,m.extend(null,arguments,1)); var map=m.map; var next=self.next; return {repr:function(){ return "imap(...)"; },toString:m.forwardCall("repr"),next:function(){ -return fun.apply(this,map(next,_17e)); +return fun.apply(this,map(next,_180)); }}; },applymap:function(fun,seq,self){ seq=MochiKit.Iter.iter(seq); @@ -1212,23 +1219,23 @@ if(arguments.length==1){ return self.iter(arguments[0]); } -var _189=m.map(self.iter,arguments); +var _18b=m.map(self.iter,arguments); return {repr:function(){ return "chain(...)"; },toString:m.forwardCall("repr"),next:function(){ -while(_189.length>1){ +while(_18b.length>1){ try{ -return _189[0].next(); +return _18b[0].next(); } catch(e){ if(e!=self.StopIteration){ throw e; } -_189.shift(); +_18b.shift(); } } -if(_189.length==1){ -var arg=_189.shift(); +if(_18b.length==1){ +var arg=_18b.shift(); this.next=m.bind("next",arg); return this.next(); } @@ -1265,58 +1272,61 @@ this.next=bind("next",seq); return rval; }}; -},_tee:function(_194,sync,_196){ -sync.pos[_194]=-1; +},_tee:function(_196,sync,_198){ +sync.pos[_196]=-1; var m=MochiKit.Base; -var _198=m.listMin; +var _19a=m.listMin; return {repr:function(){ -return "tee("+_194+", ...)"; +return "tee("+_196+", ...)"; },toString:m.forwardCall("repr"),next:function(){ var rval; -var i=sync.pos[_194]; +var i=sync.pos[_196]; if(i==sync.max){ -rval=_196.next(); +rval=_198.next(); sync.deque.push(rval); sync.max+=1; -sync.pos[_194]+=1; +sync.pos[_196]+=1; }else{ rval=sync.deque[i-sync.min]; -sync.pos[_194]+=1; -if(i==sync.min&&_198(sync.pos)!=sync.min){ +sync.pos[_196]+=1; +if(i==sync.min&&_19a(sync.pos)!=sync.min){ sync.min+=1; sync.deque.shift(); } } return rval; }}; -},tee:function(_19b,n){ +},tee:function(_19d,n){ var rval=[]; var sync={"pos":[],"deque":[],"max":-1,"min":-1}; if(arguments.length==1||typeof (n)=="undefined"||n===null){ n=2; } var self=MochiKit.Iter; -_19b=self.iter(_19b); +_19d=self.iter(_19d); var _tee=self._tee; for(var i=0;i<n;i++){ -rval.push(_tee(i,sync,_19b)); +rval.push(_tee(i,sync,_19d)); } return rval; -},list:function(_1a2){ -var m=MochiKit.Base; -if(typeof (_1a2.slice)=="function"){ -return _1a2.slice(); -}else{ -if(m.isArrayLike(_1a2)){ -return m.concat(_1a2); +},list:function(_1a4){ +var rval; +if(_1a4 instanceof Array){ +return _1a4.slice(); } +if(typeof (_1a4)=="function"&&!(_1a4 instanceof Function)&&typeof (_1a4.length)=="number"){ +rval=[]; +for(var i=0;i<_1a4.length;i++){ +rval.push(_1a4[i]); } +return rval; +} var self=MochiKit.Iter; -_1a2=self.iter(_1a2); +_1a4=self.iter(_1a4); var rval=[]; try{ while(true){ -rval.push(_1a2.next()); +rval.push(_1a4.next()); } } catch(e){ @@ -1326,14 +1336,14 @@ return rval; } return undefined; -},reduce:function(fn,_1a7,_1a8){ +},reduce:function(fn,_1a9,_1aa){ var i=0; -var x=_1a8; +var x=_1aa; var self=MochiKit.Iter; -_1a7=self.iter(_1a7); +_1a9=self.iter(_1a9); if(arguments.length<3){ try{ -x=_1a7.next(); +x=_1a9.next(); } catch(e){ if(e==self.StopIteration){ @@ -1345,7 +1355,7 @@ } try{ while(true){ -x=fn(x,_1a7.next()); +x=fn(x,_1a9.next()); } } catch(e){ @@ -1355,18 +1365,18 @@ } return x; },range:function(){ -var _1ac=0; +var _1ae=0; var stop=0; var step=1; if(arguments.length==1){ stop=arguments[0]; }else{ if(arguments.length==2){ -_1ac=arguments[0]; +_1ae=arguments[0]; stop=arguments[1]; }else{ if(arguments.length==3){ -_1ac=arguments[0]; +_1ae=arguments[0]; stop=arguments[1]; step=arguments[2]; }else{ @@ -1378,25 +1388,25 @@ throw new TypeError("range() step must not be 0"); } return {next:function(){ -if((step>0&&_1ac>=stop)||(step<0&&_1ac<=stop)){ +if((step>0&&_1ae>=stop)||(step<0&&_1ae<=stop)){ throw MochiKit.Iter.StopIteration; } -var rval=_1ac; -_1ac+=step; +var rval=_1ae; +_1ae+=step; return rval; },repr:function(){ -return "range("+[_1ac,stop,step].join(", ")+")"; +return "range("+[_1ae,stop,step].join(", ")+")"; },toString:MochiKit.Base.forwardCall("repr")}; -},sum:function(_1b0,_1b1){ -if(typeof (_1b1)=="undefined"||_1b1===null){ -_1b1=0; +},sum:function(_1b2,_1b3){ +if(typeof (_1b3)=="undefined"||_1b3===null){ +_1b3=0; } -var x=_1b1; +var x=_1b3; var self=MochiKit.Iter; -_1b0=self.iter(_1b0); +_1b2=self.iter(_1b2); try{ while(true){ -x+=_1b0.next(); +x+=_1b2.next(); } } catch(e){ @@ -1405,12 +1415,12 @@ } } return x; -},exhaust:function(_1b4){ +},exhaust:function(_1b6){ var self=MochiKit.Iter; -_1b4=self.iter(_1b4); +_1b6=self.iter(_1b6); try{ while(true){ -_1b4.next(); +_1b6.next(); } } catch(e){ @@ -1418,15 +1428,15 @@ throw e; } } -},forEach:function(_1b6,func,self){ +},forEach:function(_1b8,func,self){ var m=MochiKit.Base; if(arguments.length>2){ func=m.bind(func,self); } -if(m.isArrayLike(_1b6)){ +if(m.isArrayLike(_1b8)){ try{ -for(var i=0;i<_1b6.length;i++){ -func(_1b6[i]); +for(var i=0;i<_1b8.length;i++){ +func(_1b8[i]); } } catch(e){ @@ -1436,12 +1446,12 @@ } }else{ self=MochiKit.Iter; -self.exhaust(self.imap(func,_1b6)); +self.exhaust(self.imap(func,_1b8)); } -},every:function(_1bb,func){ +},every:function(_1bd,func){ var self=MochiKit.Iter; try{ -self.ifilterfalse(func,_1bb).next(); +self.ifilterfalse(func,_1bd).next(); return false; } catch(e){ @@ -1450,21 +1460,21 @@ } return true; } -},sorted:function(_1be,cmp){ -var rval=MochiKit.Iter.list(_1be); +},sorted:function(_1c0,cmp){ +var rval=MochiKit.Iter.list(_1c0); if(arguments.length==1){ cmp=MochiKit.Base.compare; } rval.sort(cmp); return rval; -},reversed:function(_1c1){ -var rval=MochiKit.Iter.list(_1c1); +},reversed:function(_1c3){ +var rval=MochiKit.Iter.list(_1c3); rval.reverse(); return rval; -},some:function(_1c3,func){ +},some:function(_1c5,func){ var self=MochiKit.Iter; try{ -self.ifilter(func,_1c3).next(); +self.ifilter(func,_1c5).next(); return true; } catch(e){ @@ -1473,17 +1483,17 @@ } return false; } -},iextend:function(lst,_1c7){ -if(MochiKit.Base.isArrayLike(_1c7)){ -for(var i=0;i<_1c7.length;i++){ -lst.push(_1c7[i]); +},iextend:function(lst,_1c9){ +if(MochiKit.Base.isArrayLike(_1c9)){ +for(var i=0;i<_1c9.length;i++){ +lst.push(_1c9[i]); } }else{ var self=MochiKit.Iter; -_1c7=self.iter(_1c7); +_1c9=self.iter(_1c9); try{ while(true){ -lst.push(_1c7.next()); +lst.push(_1c9.next()); } } catch(e){ @@ -1493,34 +1503,34 @@ } } return lst; -},groupby:function(_1ca,_1cb){ +},groupby:function(_1cc,_1cd){ var m=MochiKit.Base; var self=MochiKit.Iter; if(arguments.length<2){ -_1cb=m.operator.identity; +_1cd=m.operator.identity; } -_1ca=self.iter(_1ca); +_1cc=self.iter(_1cc); var pk=undefined; var k=undefined; var v; function fetch(){ -v=_1ca.next(); -k=_1cb(v); +v=_1cc.next(); +k=_1cd(v); } function eat(){ var ret=v; v=undefined; return ret; } -var _1d2=true; -var _1d3=m.compare; +var _1d4=true; +var _1d5=m.compare; return {repr:function(){ return "groupby(...)"; },next:function(){ -while(_1d3(k,pk)===0){ +while(_1d5(k,pk)===0){ fetch(); -if(_1d2){ -_1d2=false; +if(_1d4){ +_1d4=false; break; } } @@ -1529,27 +1539,27 @@ if(v==undefined){ fetch(); } -if(_1d3(k,pk)!==0){ +if(_1d5(k,pk)!==0){ throw self.StopIteration; } return eat(); }}]; }}; -},groupby_as_array:function(_1d4,_1d5){ +},groupby_as_array:function(_1d6,_1d7){ var m=MochiKit.Base; var self=MochiKit.Iter; if(arguments.length<2){ -_1d5=m.operator.identity; +_1d7=m.operator.identity; } -_1d4=self.iter(_1d4); -var _1d8=[]; -var _1d9=true; -var _1da; -var _1db=m.compare; +_1d6=self.iter(_1d6); +var _1da=[]; +var _1db=true; +var _1dc; +var _1dd=m.compare; while(true){ try{ -var _1dc=_1d4.next(); -var key=_1d5(_1dc); +var _1de=_1d6.next(); +var key=_1d7(_1de); } catch(e){ if(e==self.StopIteration){ @@ -1557,32 +1567,32 @@ } throw e; } -if(_1d9||_1db(key,_1da)!==0){ -var _1de=[]; -_1d8.push([key,_1de]); +if(_1db||_1dd(key,_1dc)!==0){ +var _1e0=[]; +_1da.push([key,_1e0]); } -_1de.push(_1dc); -_1d9=false; -_1da=key; +_1e0.push(_1de); +_1db=false; +_1dc=key; } -return _1d8; -},arrayLikeIter:function(_1df){ +return _1da; +},arrayLikeIter:function(_1e1){ var i=0; return {repr:function(){ return "arrayLikeIter(...)"; },toString:MochiKit.Base.forwardCall("repr"),next:function(){ -if(i>=_1df.length){ +if(i>=_1e1.length){ throw MochiKit.Iter.StopIteration; } -return _1df[i++]; +return _1e1[i++]; }}; -},hasIterateNext:function(_1e1){ -return (_1e1&&typeof (_1e1.iterateNext)=="function"); -},iterateNextIter:function(_1e2){ +},hasIterateNext:function(_1e3){ +return (_1e3&&typeof (_1e3.iterateNext)=="function"); +},iterateNextIter:function(_1e4){ return {repr:function(){ return "iterateNextIter(...)"; },toString:MochiKit.Base.forwardCall("repr"),next:function(){ -var rval=_1e2.iterateNext(); +var rval=_1e4.iterateNext(); if(rval===null||rval===undefined){ throw MochiKit.Iter.StopIteration; } @@ -1637,9 +1647,9 @@ }; MochiKit.Logging.EXPORT=["LogLevel","LogMessage","Logger","alertListener","logger","log","logError","logDebug","logFatal","logWarning"]; MochiKit.Logging.EXPORT_OK=["logLevelAtLeast","isLogMessage","compareLogMessage"]; -MochiKit.Logging.LogMessage=function(num,_1e6,info){ +MochiKit.Logging.LogMessage=function(num,_1e8,info){ this.num=num; -this.level=_1e6; +this.level=_1e8; this.info=info; this.timestamp=new Date(); }; @@ -1647,22 +1657,22 @@ var m=MochiKit.Base; return "LogMessage("+m.map(m.repr,[this.num,this.level,this.info]).join(", ")+")"; },toString:MochiKit.Base.forwardCall("repr")}; -MochiKit.Base.update(MochiKit.Logging,{logLevelAtLeast:function(_1e9){ +MochiKit.Base.update(MochiKit.Logging,{logLevelAtLeast:function(_1eb){ var self=MochiKit.Logging; -if(typeof (_1e9)=="string"){ -_1e9=self.LogLevel[_1e9]; +if(typeof (_1eb)=="string"){ +_1eb=self.LogLevel[_1eb]; } return function(msg){ -var _1ec=msg.level; -if(typeof (_1ec)=="string"){ -_1ec=self.LogLevel[_1ec]; +var _1ee=msg.level; +if(typeof (_1ee)=="string"){ +_1ee=self.LogLevel[_1ee]; } -return _1ec>=_1e9; +return _1ee>=_1eb; }; },isLogMessage:function(){ -var _1ed=MochiKit.Logging.LogMessage; +var _1ef=MochiKit.Logging.LogMessage; for(var i=0;i<arguments.length;i++){ -if(!(arguments[i] instanceof _1ed)){ +if(!(arguments[i] instanceof _1ef)){ return false; } } @@ -1672,12 +1682,12 @@ },alertListener:function(msg){ alert("num: "+msg.num+"\nlevel: "+msg.level+"\ninfo: "+msg.info.join(" ")); }}); -MochiKit.Logging.Logger=function(_1f2){ +MochiKit.Logging.Logger=function(_1f4){ this.counter=0; -if(typeof (_1f2)=="undefined"||_1f2===null){ -_1f2=-1; +if(typeof (_1f4)=="undefined"||_1f4===null){ +_1f4=-1; } -this.maxSize=_1f2; +this.maxSize=_1f4; this._messages=[]; this.listeners={}; this.useNativeConsole=false; @@ -1712,17 +1722,17 @@ } pair[1](msg); } -},addListener:function(_1f7,_1f8,_1f9){ -if(typeof (_1f8)=="string"){ -_1f8=MochiKit.Logging.logLevelAtLeast(_1f8); +},addListener:function(_1f9,_1fa,_1fb){ +if(typeof (_1fa)=="string"){ +_1fa=MochiKit.Logging.logLevelAtLeast(_1fa); } -var _1fa=[_1f8,_1f9]; -_1fa.ident=_1f7; -this.listeners[_1f7]=_1fa; -},removeListener:function(_1fb){ -delete this.listeners[_1fb]; -},baseLog:function(_1fc,_1fd){ -var msg=new MochiKit.Logging.LogMessage(this.counter,_1fc,MochiKit.Base.extend(null,arguments,1)); +var _1fc=[_1fa,_1fb]; +_1fc.ident=_1f9; +this.listeners[_1f9]=_1fc; +},removeListener:function(_1fd){ +delete this.listeners[_1fd]; +},baseLog:function(_1fe,_1ff){ +var msg=new MochiKit.Logging.LogMessage(this.counter,_1fe,MochiKit.Base.extend(null,arguments,1)); this._messages.push(msg); this.dispatchListeners(msg); if(this.useNativeConsole){ @@ -1732,52 +1742,52 @@ while(this.maxSize>=0&&this._messages.length>this.maxSize){ this._messages.shift(); } -},getMessages:function(_1ff){ -var _200=0; -if(!(typeof (_1ff)=="undefined"||_1ff===null)){ -_200=Math.max(0,this._messages.length-_1ff); +},getMessages:function(_201){ +var _202=0; +if(!(typeof (_201)=="undefined"||_201===null)){ +_202=Math.max(0,this._messages.length-_201); } -return this._messages.slice(_200); -},getMessageText:function(_201){ -if(typeof (_201)=="undefined"||_201===null){ -_201=30; +return this._messages.slice(_202); +},getMessageText:function(_203){ +if(typeof (_203)=="undefined"||_203===null){ +_203=30; } -var _202=this.getMessages(_201); -if(_202.length){ +var _204=this.getMessages(_203); +if(_204.length){ var lst=map(function(m){ return "\n ["+m.num+"] "+m.level+": "+m.info.join(" "); -},_202); -lst.unshift("LAST "+_202.length+" MESSAGES:"); +},_204); +lst.unshift("LAST "+_204.length+" MESSAGES:"); return lst.join(""); } return ""; -},debuggingBookmarklet:function(_205){ +},debuggingBookmarklet:function(_207){ if(typeof (MochiKit.LoggingPane)=="undefined"){ alert(this.getMessageText()); }else{ -MochiKit.LoggingPane.createLoggingPane(_205||false); +MochiKit.LoggingPane.createLoggingPane(_207||false); } }}; MochiKit.Logging.__new__=function(){ this.LogLevel={ERROR:40,FATAL:50,WARNING:30,INFO:20,DEBUG:10}; var m=MochiKit.Base; m.registerComparator("LogMessage",this.isLogMessage,this.compareLogMessage); -var _207=m.partial; -var _208=this.Logger; -var _209=_208.prototype.baseLog; -m.update(this.Logger.prototype,{debug:_207(_209,"DEBUG"),log:_207(_209,"INFO"),error:_207(_209,"ERROR"),fatal:_207(_209,"FATAL"),warning:_207(_209,"WARNING")}); +var _209=m.partial; +var _20a=this.Logger; +var _20b=_20a.prototype.baseLog; +m.update(this.Logger.prototype,{debug:_209(_20b,"DEBUG"),log:_209(_20b,"INFO"),error:_209(_20b,"ERROR"),fatal:_209(_20b,"FATAL"),warning:_209(_20b,"WARNING")}); var self=this; -var _20b=function(name){ +var _20d=function(name){ return function(){ self.logger[name].apply(self.logger,arguments); }; }; -this.log=_20b("log"); -this.logError=_20b("error"); -this.logDebug=_20b("debug"); -this.logFatal=_20b("fatal"); -this.logWarning=_20b("warning"); -this.logger=new _208(); +this.log=_20d("log"); +this.logError=_20d("error"); +this.logDebug=_20d("debug"); +this.logFatal=_20d("fatal"); +this.logWarning=_20d("warning"); +this.logger=new _20a(); this.logger.useNativeConsole=true; this.EXPORT_TAGS={":common":this.EXPORT,":all":m.concat(this.EXPORT,this.EXPORT_OK)}; m.nameFunctions(this); @@ -1830,15 +1840,15 @@ if(typeof (res)=="undefined"||res===null){ return null; } -var year,_213,day,hour,min,sec,msec; +var year,_215,day,hour,min,sec,msec; year=parseInt(res[1],10); if(typeof (res[2])=="undefined"||res[2]===""){ return new Date(year); } -_213=parseInt(res[2],10)-1; +_215=parseInt(res[2],10)-1; day=parseInt(res[3],10); if(typeof (res[4])=="undefined"||res[4]===""){ -return new Date(year,_213,day); +return new Date(year,_215,day); } hour=parseInt(res[4],10); min=parseInt(res[5],10); @@ -1849,7 +1859,7 @@ msec=0; } if((typeof (res[8])=="undefined"||res[8]==="")&&(typeof (res[9])=="undefined"||res[9]==="")){ -return new Date(year,_213,day,hour,min,sec,msec); +return new Date(year,_215,day,hour,min,sec,msec); } var ofs; if(typeof (res[9])!="undefined"&&res[9]!==""){ @@ -1863,35 +1873,35 @@ }else{ ofs=0; } -return new Date(Date.UTC(year,_213,day,hour,min,sec,msec)-ofs); +return new Date(Date.UTC(year,_215,day,hour,min,sec,msec)-ofs); }; -MochiKit.DateTime.toISOTime=function(date,_21b){ +MochiKit.DateTime.toISOTime=function(date,_21d){ if(typeof (date)=="undefined"||date===null){ return null; } var hh=date.getHours(); var mm=date.getMinutes(); var ss=date.getSeconds(); -var lst=[((_21b&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)]; +var lst=[((_21d&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)]; return lst.join(":"); }; -MochiKit.DateTime.toISOTimestamp=function(date,_221){ +MochiKit.DateTime.toISOTimestamp=function(date,_223){ if(typeof (date)=="undefined"||date===null){ return null; } -var sep=_221?"T":" "; -var foot=_221?"Z":""; -if(_221){ +var sep=_223?"T":" "; +var foot=_223?"Z":""; +if(_223){ date=new Date(date.getTime()+(date.getTimezoneOffset()*60000)); } -return MochiKit.DateTime.toISODate(date)+sep+MochiKit.DateTime.toISOTime(date,_221)+foot; +return MochiKit.DateTime.toISODate(date)+sep+MochiKit.DateTime.toISOTime(date,_223)+foot; }; MochiKit.DateTime.toISODate=function(date){ if(typeof (date)=="undefined"||date===null){ return null; } -var _225=MochiKit.DateTime._padTwo; -return [date.getFullYear(),_225(date.getMonth()+1),_225(date.getDate())].join("-"); +var _227=MochiKit.DateTime._padTwo; +return [date.getFullYear(),_227(date.getMonth()+1),_227(date.getDate())].join("-"); }; MochiKit.DateTime.americanDate=function(d){ d=d+""; @@ -1908,8 +1918,8 @@ if(typeof (d)=="undefined"||d===null){ return null; } -var _22a=MochiKit.DateTime._padTwo; -return [_22a(d.getMonth()+1),_22a(d.getDate()),d.getFullYear()].join("/"); +var _22c=MochiKit.DateTime._padTwo; +return [_22c(d.getMonth()+1),_22c(d.getDate()),d.getFullYear()].join("/"); }; MochiKit.DateTime.toAmericanDate=function(d){ if(typeof (d)=="undefined"||d===null){ @@ -1937,11 +1947,11 @@ if(typeof (MochiKit.Base)!="undefined"){ MochiKit.Base._exportSymbols(this,MochiKit.DateTime); }else{ -(function(_22f,_230){ +(function(_231,_232){ if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){ -var all=_230.EXPORT_TAGS[":all"]; +var all=_232.EXPORT_TAGS[":all"]; for(var i=0;i<all.length;i++){ -_22f[all[i]]=_230[all[i]]; +_231[all[i]]=_232[all[i]]; } } })(this,MochiKit.DateTime); @@ -1963,80 +1973,80 @@ MochiKit.Format.toString=function(){ return this.__repr__(); }; -MochiKit.Format._numberFormatter=function(_233,_234,_235,_236,_237,_238,_239,_23a,_23b){ +MochiKit.Format._numberFormatter=function(_235,_236,_237,_238,_239,_23a,_23b,_23c,_23d){ return function(num){ num=parseFloat(num); if(typeof (num)=="undefined"||num===null||isNaN(num)){ -return _233; +return _235; } -var _23d=_234; -var _23e=_235; +var _23f=_236; +var _240=_237; if(num<0){ num=-num; }else{ -_23d=_23d.replace(/-/,""); +_23f=_23f.replace(/-/,""); } var me=arguments.callee; -var fmt=MochiKit.Format.formatLocale(_236); -if(_237){ +var fmt=MochiKit.Format.formatLocale(_238); +if(_239){ num=num*100; -_23e=fmt.percent+_23e; +_240=fmt.percent+_240; } -num=MochiKit.Format.roundToFixed(num,_238); -var _241=num.split(/\./); -var _242=_241[0]; -var frac=(_241.length==1)?"":_241[1]; +num=MochiKit.Format.roundToFixed(num,_23a); +var _243=num.split(/\./); +var _244=_243[0]; +var frac=(_243.length==1)?"":_243[1]; var res=""; -while(_242.length<_239){ -_242="0"+_242; +while(_244.length<_23b){ +_244="0"+_244; } -if(_23a){ -while(_242.length>_23a){ -var i=_242.length-_23a; -res=fmt.separator+_242.substring(i,_242.length)+res; -_242=_242.substring(0,i); +if(_23c){ +while(_244.length>_23c){ +var i=_244.length-_23c; +res=fmt.separator+_244.substring(i,_244.length)+res; +_244=_244.substring(0,i); } } -res=_242+res; -if(_238>0){ -while(frac.length<_23b){ +res=_244+res; +if(_23a>0){ +while(frac.length<_23d){ frac=frac+"0"; } res=res+fmt.decimal+frac; } -return _23d+res+_23e; +return _23f+res+_240; }; }; -MochiKit.Format.numberFormatter=function(_246,_247,_248){ -if(typeof (_247)=="undefined"){ -_247=""; +MochiKit.Format.numberFormatter=function(_248,_249,_24a){ +if(typeof (_249)=="undefined"){ +_249=""; } -var _249=_246.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/); -if(!_249){ +var _24b=_248.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/); +if(!_24b){ throw TypeError("Invalid pattern"); } -var _24a=_246.substr(0,_249.index); -var _24b=_246.substr(_249.index+_249[0].length); -if(_24a.search(/-/)==-1){ -_24a=_24a+"-"; +var _24c=_248.substr(0,_24b.index); +var _24d=_248.substr(_24b.index+_24b[0].length); +if(_24c.search(/-/)==-1){ +_24c=_24c+"-"; } -var _24c=_249[1]; -var frac=(typeof (_249[2])=="string"&&_249[2]!="")?_249[2]:""; -var _24e=(typeof (_249[3])=="string"&&_249[3]!=""); -var tmp=_24c.split(/,/); -var _250; -if(typeof (_248)=="undefined"){ -_248="default"; +var _24e=_24b[1]; +var frac=(typeof (_24b[2])=="string"&&_24b[2]!="")?_24b[2]:""; +var _250=(typeof (_24b[3])=="string"&&_24b[3]!=""); +var tmp=_24e.split(/,/); +var _252; +if(typeof (_24a)=="undefined"){ +_24a="default"; } if(tmp.length==1){ -_250=null; +_252=null; }else{ -_250=tmp[1].length; +_252=tmp[1].length; } -var _251=_24c.length-_24c.replace(/0/g,"").length; -var _252=frac.length-frac.replace(/0/g,"").length; -var _253=frac.length; -var rval=MochiKit.Format._numberFormatter(_247,_24a,_24b,_248,_24e,_253,_251,_250,_252); +var _253=_24e.length-_24e.replace(/0/g,"").length; +var _254=frac.length-frac.replace(/0/g,"").length; +var _255=frac.length; +var rval=MochiKit.Format._numberFormatter(_249,_24c,_24d,_24a,_250,_255,_253,_252,_254); var m=MochiKit.Base; if(m){ var fn=arguments.callee; @@ -2047,33 +2057,33 @@ } return rval; }; -MochiKit.Format.formatLocale=function(_258){ -if(typeof (_258)=="undefined"||_258===null){ -_258="default"; +MochiKit.Format.formatLocale=function(_25a){ +if(typeof (_25a)=="undefined"||_25a===null){ +_25a="default"; } -if(typeof (_258)=="string"){ -var rval=MochiKit.Format.LOCALE[_258]; +if(typeof (_25a)=="string"){ +var rval=MochiKit.Format.LOCALE[_25a]; if(typeof (rval)=="string"){ rval=arguments.callee(rval); -MochiKit.Format.LOCALE[_258]=rval; +MochiKit.Format.LOCALE[_25a]=rval; } return rval; }else{ -return _258; +return _25a; } }; -MochiKit.Format.twoDigitAverage=function(_25a,_25b){ -if(_25b){ -var res=_25a/_25b; +MochiKit.Format.twoDigitAverage=function(_25c,_25d){ +if(_25d){ +var res=_25c/_25d; if(!isNaN(res)){ -return MochiKit.Format.twoDigitFloat(_25a/_25b); +return MochiKit.Format.twoDigitFloat(_25c/_25d); } } return "0"; }; -MochiKit.Format.twoDigitFloat=function(_25d){ -var sign=(_25d<0?"-":""); -var s=Math.floor(Math.abs(_25d)*100).toString(); +MochiKit.Format.twoDigitFloat=function(_25f){ +var sign=(_25f<0?"-":""); +var s=Math.floor(Math.abs(_25f)*100).toString(); if(s=="0"){ return s; } @@ -2095,45 +2105,45 @@ } } }; -MochiKit.Format.lstrip=function(str,_263){ +MochiKit.Format.lstrip=function(str,_265){ str=str+""; if(typeof (str)!="string"){ return null; } -if(!_263){ +if(!_265){ return str.replace(/^\s+/,""); }else{ -return str.replace(new RegExp("^["+_263+"]+"),""); +return str.replace(new RegExp("^["+_265+"]+"),""); } }; -MochiKit.Format.rstrip=function(str,_265){ +MochiKit.Format.rstrip=function(str,_267){ str=str+""; if(typeof (str)!="string"){ return null; } -if(!_265){ +if(!_267){ return str.replace(/\s+$/,""); }else{ -return str.replace(new RegExp("["+_265+"]+$"),""); +return str.replace(new RegExp("["+_267+"]+$"),""); } }; -MochiKit.Format.strip=function(str,_267){ +MochiKit.Format.strip=function(str,_269){ var self=MochiKit.Format; -return self.rstrip(self.lstrip(str,_267),_267); +return self.rstrip(self.lstrip(str,_269),_269); }; -MochiKit.Format.truncToFixed=function(_269,_26a){ -_269=Math.floor(_269*Math.pow(10,_26a)); -var res=(_269*Math.pow(10,-_26a)).toFixed(_26a); +MochiKit.Format.truncToFixed=function(_26b,_26c){ +_26b=Math.floor(_26b*Math.pow(10,_26c)); +var res=(_26b*Math.pow(10,-_26c)).toFixed(_26c); if(res.charAt(0)=="."){ res="0"+res; } return res; }; -MochiKit.Format.roundToFixed=function(_26c,_26d){ -return MochiKit.Format.truncToFixed(_26c+0.5*Math.pow(10,-_26d),_26d); +MochiKit.Format.roundToFixed=function(_26e,_26f){ +return MochiKit.Format.truncToFixed(_26e+0.5*Math.pow(10,-_26f),_26f); }; -MochiKit.Format.percentFormat=function(_26e){ -return MochiKit.Format.twoDigitFloat(100*_26e)+"%"; +MochiKit.Format.percentFormat=function(_270){ +return MochiKit.Format.twoDigitFloat(100*_270)+"%"; }; MochiKit.Format.EXPORT=["truncToFixed","roundToFixed","numberFormatter","formatLocale","twoDigitAverage","twoDigitFloat","percentFormat","lstrip","rstrip","strip"]; MochiKit.Format.LOCALE={en_US:{separator:",",decimal:".",percent:"%"},de_DE:{separator:".",decimal:",",percent:"%"},fr_FR:{separator:" ",decimal:",",percent:"%"},"default":"en_US"}; @@ -2166,11 +2176,11 @@ if(typeof (MochiKit.Base)!="undefined"){ MochiKit.Base._exportSymbols(this,MochiKit.Format); }else{ -(function(_273,_274){ +(function(_275,_276){ if((typeof (JSAN)=="undefined"&&typeof (dojo)=="undefined")||(MochiKit.__export__===false)){ -var all=_274.EXPORT_TAGS[":all"]; +var all=_276.EXPORT_TAGS[":all"]; for(var i=0;i<all.length;i++){ -_273[all[i]]=_274[all[i]]; +_275[all[i]]=_276[all[i]]; } } })(this,MochiKit.Format); @@ -2201,28 +2211,28 @@ MochiKit.Async.toString=function(){ return this.__repr__(); }; -MochiKit.Async.Deferred=function(_277){ +MochiKit.Async.Deferred=function(_279){ this.chain=[]; this.id=this._nextId(); this.fired=-1; this.paused=0; this.results=[null,null]; -this.canceller=_277; +this.canceller=_279; this.silentlyCancelled=false; this.chained=false; }; MochiKit.Async.Deferred.prototype={repr:function(){ -var _278; +var _27a; if(this.fired==-1){ -_278="unfired"; +_27a="unfired"; }else{ if(this.fired===0){ -_278="success"; +_27a="success"; }else{ -_278="error"; +_27a="error"; } } -return "Deferred("+this.id+", "+_278+")"; +return "Deferred("+this.id+", "+_27a+")"; },toString:MochiKit.Base.forwardCall("repr"),_nextId:MochiKit.Base.counter(),cancel:function(){ var self=MochiKit.Async; if(this.fired==-1){ @@ -2292,20 +2302,20 @@ } return this; },_fire:function(){ -var _283=this.chain; -var _284=this.fired; -var res=this.results[_284]; +var _285=this.chain; +var _286=this.fired; +var res=this.results[_286]; var self=this; var cb=null; -while(_283.length>0&&this.paused===0){ -var pair=_283.shift(); -var f=pair[_284]; +while(_285.length>0&&this.paused===0){ +var pair=_285.shift(); +var f=pair[_286]; if(f===null){ continue; } try{ res=f(res); -_284=((res instanceof Error)?1:0); +_286=((res instanceof Error)?1:0); if(res instanceof MochiKit.Async.Deferred){ cb=function(res){ self._resback(res); @@ -2318,34 +2328,34 @@ } } catch(err){ -_284=1; +_286=1; if(!(err instanceof Error)){ err=new MochiKit.Async.GenericError(err); } res=err; } } -this.fired=_284; -this.results[_284]=res; +this.fired=_286; +this.results[_286]=res; if(cb&&this.paused){ res.addBoth(cb); res.chained=true; } }}; -MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(){ -return eval("("+arguments[0].responseText+")"); -},succeed:function(_28b){ +MochiKit.Base.update(MochiKit.Async,{evalJSONRequest:function(req){ +return MochiKit.Base.evalJSON(req.responseText); +},succeed:function(_28e){ var d=new MochiKit.Async.Deferred(); d.callback.apply(d,arguments); return d; -},fail:function(_28d){ +},fail:function(_290){ var d=new MochiKit.Async.Deferred(); d.errback.apply(d,arguments); return d; },getXMLHttpRequest:function(){ var self=arguments.callee; if(!self.XMLHttpRequest){ -var _290=[function(){ +var _293=[function(){ return new XMLHttpRequest(); },function(){ return new ActiveXObject("Msxml2.XMLHTTP"); @@ -2356,8 +2366,8 @@ },function(){ throw new MochiKit.Async.BrowserComplianceError("Browser does not support XMLHttpRequest"); }]; -for(var i=0;i<_290.length;i++){ -var func=_290[i]; +for(var i=0;i<_293.length;i++){ +var func=_293[i]; try{ self.XMLHttpRequest=func; return func(); @@ -2380,16 +2390,16 @@ catch(e){ } } -var _295=null; +var _298=null; try{ -_295=this.status; -if(!_295&&m.isNotEmpty(this.responseText)){ -_295=304; +_298=this.status; +if(!_298&&m.isNotEmpty(this.responseText)){ +_298=304; } } catch(e){ } -if(_295==200||_295==201||_295==204||_295==304||_295==1223){ +if(_298==200||_298==201||_298==204||_298==304||_298==1223){ d.callback(this); }else{ var err=new MochiKit.Async.XMLHttpRequestError(this,"Request failed"); @@ -2412,16 +2422,16 @@ } } req.abort(); -},sendXMLHttpRequest:function(req,_299){ -if(typeof (_299)=="undefined"||_299===null){ -_299=""; +},sendXMLHttpRequest:function(req,_29c){ +if(typeof (_29c)=="undefined"||_29c===null){ +_29c=""; } var m=MochiKit.Base; var self=MochiKit.Async; var d=new self.Deferred(m.partial(self._xhr_canceller,req)); try{ req.onreadystatechange=m.bind(self._xhr_onreadystatechange,req,d); -req.send(_299); +req.send(_29c); } catch(e){ try{ @@ -2433,6 +2443,9 @@ } return d; },doXHR:function(url,opts){ +var self=MochiKit.Async; +return self.callLater(0,self._doXHR,url,opts); +},_doXHR:function(url,opts){ var m=MochiKit.Base; opts=m.update({method:"GET",sendContent:""},opts); var self=MochiKit.Async; @@ -2452,15 +2465,15 @@ req.overrideMimeType(opts.mimeType); } if(opts.headers){ -var _2a3=opts.headers; -if(!m.isArrayLike(_2a3)){ -_2a3=m.items(_2a3); +var _2a9=opts.headers; +if(!m.isArrayLike(_2a9)){ +_2a9=m.items(_2a9); } -for(var i=0;i<_2a3.length;i++){ -var _2a5=_2a3[i]; -var name=_2a5[0]; -var _2a7=_2a5[1]; -req.setRequestHeader(name,_2a7); +for(var i=0;i<_2a9.length;i++){ +var _2ab=_2a9[i]; +var name=_2ab[0]; +var _2ad=_2ab[1]; +req.setRequestHeader(name,_2ad); } } return self.sendXMLHttpRequest(req,opts.sendContent); @@ -2483,28 +2496,28 @@ var d=self.doXHR(url,{"mimeType":"text/plain","headers":[["Accept","application/json"]]}); d=d.addCallback(self.evalJSONRequest); return d; -},wait:function(_2b0,_2b1){ +},wait:function(_2b6,_2b7){ var d=new MochiKit.Async.Deferred(); var m=MochiKit.Base; -if(typeof (_2b1)!="undefined"){ +if(typeof (_2b7)!="undefined"){ d.addCallback(function(){ -return _2b1; +return _2b7; }); } -var _2b4=setTimeout(m.bind("callback",d),Math.floor(_2b0*1000)); +var _2ba=setTimeout(m.bind("callback",d),Math.floor(_2b6*1000)); d.canceller=function(){ try{ -clearTimeout(_2b4); +clearTimeout(_2ba); } catch(e){ } }; return d; -},callLater:function(_2b5,func){ +},callLater:function(_2bb,func){ var m=MochiKit.Base; -var _2b8=m.partial.apply(m,m.extend(null,arguments,1)); -return MochiKit.Async.wait(_2b5).addCallback(function(res){ -return _2b8(); +var _2be=m.partial.apply(m,m.extend(null,arguments,1)); +return MochiKit.Async.wait(_2bb).addCallback(function(res){ +return _2be(); }); }}); MochiKit.Async.DeferredLock=function(){ @@ -2531,44 +2544,44 @@ this.waiting.shift().callback(this); } },_nextId:MochiKit.Base.counter(),repr:function(){ -var _2bb; +var _2c1; if(this.locked){ -_2bb="locked, "+this.waiting.length+" waiting"; +_2c1="locked, "+this.waiting.length+" waiting"; }else{ -_2bb="unlocked"; +_2c1="unlocked"; } -return "DeferredLock("+this.id+", "+_2bb+")"; +return "DeferredLock("+this.id+", "+_2c1+")"; },toString:MochiKit.Base.forwardCall("repr")}; -MochiKit.Async.DeferredList=function(list,_2bd,_2be,_2bf,_2c0){ -MochiKit.Async.Deferred.apply(this,[_2c0]); +MochiKit.Async.DeferredList=function(list,_2c3,_2c4,_2c5,_2c6){ +MochiKit.Async.Deferred.apply(this,[_2c6]); this.list=list; -var _2c1=[]; -this.resultList=_2c1; +var _2c7=[]; +this.resultList=_2c7; this.finishedCount=0; -this.fireOnOneCallback=_2bd; -this.fireOnOneErrback=_2be; -this.consumeErrors=_2bf; +this.fireOnOneCallback=_2c3; +this.fireOnOneErrback=_2c4; +this.consumeErrors=_2c5; var cb=MochiKit.Base.bind(this._cbDeferred,this); for(var i=0;i<list.length;i++){ var d=list[i]; -_2c1.push(undefined); +_2c7.push(undefined); d.addCallback(cb,i,true); d.addErrback(cb,i,false); } -if(list.length===0&&!_2bd){ +if(list.length===0&&!_2c3){ this.callback(this.resultList); } }; MochiKit.Async.DeferredList.prototype=new MochiKit.Async.Deferred(); -MochiKit.Async.DeferredList.prototype._cbDeferred=function(_2c5,_2c6,_2c7){ -this.resultList[_2c5]=[_2c6,_2c7]; +MochiKit.Async.DeferredList.prototype._cbDeferred=function(_2cb,_2cc,_2cd){ +this.resultList[_2cb]=[_2cc,_2cd]; this.finishedCount+=1; if(this.fired==-1){ -if(_2c6&&this.fireOnOneCallback){ -this.callback([_2c5,_2c7]); +if(_2cc&&this.fireOnOneCallback){ +this.callback([_2cb,_2cd]); }else{ -if(!_2c6&&this.fireOnOneErrback){ -this.errback(_2c7); +if(!_2cc&&this.fireOnOneErrback){ +this.errback(_2cd); }else{ if(this.finishedCount==this.list.length){ this.callback(this.resultList); @@ -2576,17 +2589,17 @@ } } } -if(!_2c6&&this.consumeErrors){ -_2c7=null; +if(!_2cc&&this.consumeErrors){ +_2cd=null; } -return _2c7; +return _2cd; }; -MochiKit.Async.gatherResults=function(_2c8){ -var d=new MochiKit.Async.DeferredList(_2c8,false,true,false); -d.addCallback(function(_2ca){ +MochiKit.Async.gatherResults=function(_2ce){ +var d=new MochiKit.Async.DeferredList(_2ce,false,true,false); +d.addCallback(function(_2d0){ var ret=[]; -for(var i=0;i<_2ca.length;i++){ -ret.push(_2ca[i][1]); +for(var i=0;i<_2d0.length;i++){ +ret.push(_2d0[i][1]); } return ret; }); @@ -2594,34 +2607,34 @@ }; MochiKit.Async.maybeDeferred=function(func){ var self=MochiKit.Async; -var _2cf; +var _2d5; try{ var r=func.apply(null,MochiKit.Base.extend([],arguments,1)); if(r instanceof self.Deferred){ -_2cf=r; +_2d5=r; }else{ if(r instanceof Error){ -_2cf=self.fail(r); +_2d5=self.fail(r); }else{ -_2cf=self.succeed(r); +_2d5=self.succeed(r); } } } catch(e){ -_2cf=self.fail(e); +_2d5=self.fail(e); } -return _2cf; +return _2d5; }; MochiKit.Async.EXPORT=["AlreadyCalledError","CancelledError","BrowserComplianceError","GenericError","XMLHttpRequestError","Deferred","succeed","fail","getXMLHttpRequest","doSimpleXMLHttpRequest","loadJSONDoc","wait","callLater","sendXMLHttpRequest","DeferredLock","DeferredList","gatherResults","maybeDeferred","doXHR"]; MochiKit.Async.EXPORT_OK=["evalJSONRequest"]; MochiKit.Async.__new__=function(){ var m=MochiKit.Base; var ne=m.partial(m._newNamedError,this); -ne("AlreadyCalledError",function(_2d3){ -this.deferred=_2d3; +ne("AlreadyCalledError",function(_2d9){ +this.deferred=_2d9; }); -ne("CancelledError",function(_2d4){ -this.deferred=_2d4; +ne("CancelledError",function(_2da){ +this.deferred=_2da; }); ne("BrowserComplianceError",function(msg){ this.message=msg; @@ -2679,8 +2692,8 @@ return MochiKit.DOM._document; },withWindow:function(win,func){ var self=MochiKit.DOM; -var _2dc=self._document; -var _2dd=self._window; +var _2e2=self._document; +var _2e3=self._window; var rval; try{ self._window=win; @@ -2688,16 +2701,16 @@ rval=func(); } catch(e){ -self._window=_2dd; -self._document=_2dc; +self._window=_2e3; +self._document=_2e2; throw e; } -self._window=_2dd; -self._document=_2dc; +self._window=_2e3; +self._document=_2e2; return rval; },formContents:function(elem){ -var _2e0=[]; -var _2e1=[]; +var _2e6=[]; +var _2e7=[]; var m=MochiKit.Base; var self=MochiKit.DOM; if(typeof (elem)=="undefined"||elem===null){ @@ -2708,11 +2721,11 @@ m.nodeWalk(elem,function(elem){ var name=elem.name; if(m.isNotEmpty(name)){ -var _2e6=elem.tagName.toUpperCase(); -if(_2e6==="INPUT"&&(elem.type=="radio"||elem.type=="checkbox")&&!elem.checked){ +var _2ec=elem.tagName.toUpperCase(); +if(_2ec==="INPUT"&&(elem.type=="radio"||elem.type=="checkbox")&&!elem.checked){ return null; } -if(_2e6==="SELECT"){ +if(_2ec==="SELECT"){ if(elem.type=="select-one"){ if(elem.selectedIndex>=0){ var opt=elem.options[elem.selectedIndex]; @@ -2723,18 +2736,18 @@ v=opt.text; } } -_2e0.push(name); -_2e1.push(v); +_2e6.push(name); +_2e7.push(v); return null; } -_2e0.push(name); -_2e1.push(""); +_2e6.push(name); +_2e7.push(""); return null; }else{ var opts=elem.options; if(!opts.length){ -_2e0.push(name); -_2e1.push(""); +_2e6.push(name); +_2e7.push(""); return null; } for(var i=0;i<opts.length;i++){ @@ -2749,54 +2762,57 @@ v=opt.text; } } -_2e0.push(name); -_2e1.push(v); +_2e6.push(name); +_2e7.push(v); } return null; } } -if(_2e6==="FORM"||_2e6==="P"||_2e6==="SPAN"||_2e6==="DIV"){ +if(_2ec==="FORM"||_2ec==="P"||_2ec==="SPAN"||_2ec==="DIV"){ return elem.childNodes; } -_2e0.push(name); -_2e1.push(elem.value||""); +_2e6.push(name); +_2e7.push(elem.value||""); return null; } return elem.childNodes; }); -return [_2e0,_2e1]; +return [_2e6,_2e7]; },withDocument:function(doc,func){ var self=MochiKit.DOM; -var _2ef=self._document; +var _2f5=self._document; var rval; try{ self._document=doc; rval=func(); } catch(e){ -self._document=_2ef; +self._document=_2f5; throw e; } -self._document=_2ef; +self._document=_2f5; return rval; -},registerDOMConverter:function(name,_2f2,wrap,_2f4){ -MochiKit.DOM.domConverters.register(name,_2f2,wrap,_2f4); +},registerDOMConverter:function(name,_2f8,wrap,_2fa){ +MochiKit.DOM.domConverters.register(name,_2f8,wrap,_2fa); },coerceToDOM:function(node,ctx){ var m=MochiKit.Base; var im=MochiKit.Iter; var self=MochiKit.DOM; if(im){ var iter=im.iter; -var _2fb=im.repeat; +var _301=im.repeat; var map=m.map; } -var _2fd=self.domConverters; -var _2fe=arguments.callee; -var _2ff=m.NotFound; +var _303=self.domConverters; +var _304=arguments.callee; +var _305=m.NotFound; while(true){ if(typeof (node)=="undefined"||node===null){ return null; } +if(typeof (node)=="function"&&typeof (node.length)=="number"&&!(node instanceof Function)){ +node=im.list(node); +} if(typeof (node.nodeType)!="undefined"&&node.nodeType>0){ return node; } @@ -2819,49 +2835,49 @@ continue; } if(im){ -var _300=null; +var _306=null; try{ -_300=iter(node); +_306=iter(node); } catch(e){ } -if(_300){ -return map(_2fe,_300,_2fb(ctx)); +if(_306){ +return map(_304,_306,_301(ctx)); } } try{ -node=_2fd.match(node,ctx); +node=_303.match(node,ctx); continue; } catch(e){ -if(e!=_2ff){ +if(e!=_305){ throw e; } } return self._document.createTextNode(node.toString()); } return undefined; -},isChildNode:function(node,_302){ +},isChildNode:function(node,_308){ var self=MochiKit.DOM; if(typeof (node)=="string"){ node=self.getElement(node); } -if(typeof (_302)=="string"){ -_302=self.getElement(_302); +if(typeof (_308)=="string"){ +_308=self.getElement(_308); } -if(node===_302){ +if(node===_308){ return true; } while(node&&node.tagName.toUpperCase()!="BODY"){ node=node.parentNode; -if(node===_302){ +if(node===_308){ return true; } } return false; -},setNodeAttribute:function(node,attr,_306){ +},setNodeAttribute:function(node,attr,_30c){ var o={}; -o[attr]=_306; +o[attr]=_30c; try{ return MochiKit.DOM.updateNodeAttributes(node,o); } @@ -2870,11 +2886,11 @@ return null; },getNodeAttribute:function(node,attr){ var self=MochiKit.DOM; -var _30b=self.attributeArray.renames[attr]; +var _311=self.attributeArray.renames[attr]; node=self.getElement(node); try{ -if(_30b){ -return node[_30b]; +if(_311){ +return node[_311]; } return node.getAttribute(attr); } @@ -2883,33 +2899,33 @@ return null; },removeNodeAttribute:function(node,attr){ var self=MochiKit.DOM; -var _30f=self.attributeArray.renames[attr]; +var _315=self.attributeArray.renames[attr]; node=self.getElement(node); try{ -if(_30f){ -return node[_30f]; +if(_315){ +return node[_315]; } return node.removeAttribute(attr); } catch(e){ } return null; -},updateNodeAttributes:function(node,_311){ +},updateNodeAttributes:function(node,_317){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); } -if(_311){ -var _314=MochiKit.Base.updatetree; +if(_317){ +var _31a=MochiKit.Base.updatetree; if(self.attributeArray.compliant){ -for(var k in _311){ -var v=_311[k]; +for(var k in _317){ +var v=_317[k]; if(typeof (v)=="object"&&typeof (elem[k])=="object"){ if(k=="style"&&MochiKit.Style){ MochiKit.Style.setStyle(elem,v); }else{ -_314(elem[k],v); +_31a(elem[k],v); } }else{ if(k.substring(0,2)=="on"){ @@ -2923,21 +2939,21 @@ } } }else{ -var _317=self.attributeArray.renames; -for(k in _311){ -v=_311[k]; -var _318=_317[k]; +var _31d=self.attributeArray.renames; +for(var k in _317){ +v=_317[k]; +var _31e=_31d[k]; if(k=="style"&&typeof (v)=="string"){ elem.style.cssText=v; }else{ -if(typeof (_318)=="string"){ -elem[_318]=v; +if(typeof (_31e)=="string"){ +elem[_31e]=v; }else{ if(typeof (elem[k])=="object"&&typeof (v)=="object"){ if(k=="style"&&MochiKit.Style){ MochiKit.Style.setStyle(elem,v); }else{ -_314(elem[k],v); +_31a(elem[k],v); } }else{ if(k.substring(0,2)=="on"){ @@ -2961,16 +2977,16 @@ if(typeof (node)=="string"){ elem=self.getElement(node); } -var _31c=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; -var _31d=MochiKit.Base.concat; -while(_31c.length){ -var n=_31c.shift(); +var _322=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; +var _323=MochiKit.Base.concat; +while(_322.length){ +var n=_322.shift(); if(typeof (n)=="undefined"||n===null){ }else{ if(typeof (n.nodeType)=="number"){ elem.appendChild(n); }else{ -_31c=_31d(n,_31c); +_322=_323(n,_322); } } } @@ -2981,32 +2997,32 @@ if(typeof (node)=="string"){ elem=self.getElement(node); } -var _322=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; -var _323=elem.parentNode; -var _324=MochiKit.Base.concat; -while(_322.length){ -var n=_322.shift(); +var _328=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; +var _329=elem.parentNode; +var _32a=MochiKit.Base.concat; +while(_328.length){ +var n=_328.shift(); if(typeof (n)=="undefined"||n===null){ }else{ if(typeof (n.nodeType)=="number"){ -_323.insertBefore(n,elem); +_329.insertBefore(n,elem); }else{ -_322=_324(n,_322); +_328=_32a(n,_328); } } } -return _323; +return _329; },insertSiblingNodesAfter:function(node){ var elem=node; var self=MochiKit.DOM; if(typeof (node)=="string"){ elem=self.getElement(node); } -var _329=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; +var _32f=[self.coerceToDOM(MochiKit.Base.extend(null,arguments,1),elem)]; if(elem.nextSibling){ -return self.insertSiblingNodesBefore(elem.nextSibling,_329); +return self.insertSiblingNodesBefore(elem.nextSibling,_32f); }else{ -return self.appendChildNodes(elem.parentNode,_329); +return self.appendChildNodes(elem.parentNode,_32f); } },replaceChildNodes:function(node){ var elem=node; @@ -3015,40 +3031,40 @@ elem=self.getElement(node); arguments[0]=elem; } -var _32d; -while((_32d=elem.firstChild)){ -elem.removeChild(_32d); +var _333; +while((_333=elem.firstChild)){ +elem.removeChild(_333); } if(arguments.length<2){ return elem; }else{ return self.appendChildNodes.apply(this,arguments); } -},createDOM:function(name,_32f){ +},createDOM:function(name,_335){ var elem; var self=MochiKit.DOM; var m=MochiKit.Base; -if(typeof (_32f)=="string"||typeof (_32f)=="number"){ +if(typeof (_335)=="string"||typeof (_335)=="number"){ var args=m.extend([name,null],arguments,1); return arguments.callee.apply(this,args); } if(typeof (name)=="string"){ -var _334=self._xhtml; -if(_32f&&!self.attributeArray.compliant){ -var _335=""; -if("name" in _32f){ -_335+=" name=\""+self.escapeHTML(_32f.name)+"\""; +var _33a=self._xhtml; +if(_335&&!self.attributeArray.compliant){ +var _33b=""; +if("name" in _335){ +_33b+=" name=\""+self.escapeHTML(_335.name)+"\""; } -if(name=="input"&&"type" in _32f){ -_335+=" type=\""+self.escapeHTML(_32f.type)+"\""; +if(name=="input"&&"type" in _335){ +_33b+=" type=\""+self.escapeHTML(_335.type)+"\""; } -if(_335){ -name="<"+name+_335+">"; -_334=false; +if(_33b){ +name="<"+name+_33b+">"; +_33a=false; } } var d=self._document; -if(_334&&d===document){ +if(_33a&&d===document){ elem=d.createElementNS("http://www.w3.org/1999/xhtml",name); }else{ elem=d.createElement(name); @@ -3056,8 +3072,8 @@ }else{ elem=name; } -if(_32f){ -self.updateNodeAttributes(elem,_32f); +if(_335){ +self.updateNodeAttributes(elem,_335); } if(arguments.length<=2){ return elem; @@ -3075,12 +3091,12 @@ },swapDOM:function(dest,src){ var self=MochiKit.DOM; dest=self.getElement(dest); -var _33d=dest.parentNode; +var _343=dest.parentNode; if(src){ src=self.getElement(src); -_33d.replaceChild(src,dest); +_343.replaceChild(src,dest); }else{ -_33d.removeChild(dest); +_343.removeChild(dest); } return src; },getElement:function(id){ @@ -3090,40 +3106,40 @@ }else{ return MochiKit.Base.map(self.getElement,arguments); } -},getElementsByTagAndClassName:function(_340,_341,_342){ +},getElementsByTagAndClassName:function(_346,_347,_348){ var self=MochiKit.DOM; -if(typeof (_340)=="undefined"||_340===null){ -_340="*"; +if(typeof (_346)=="undefined"||_346===null){ +_346="*"; } -if(typeof (_342)=="undefined"||_342===null){ -_342=self._document; +if(typeof (_348)=="undefined"||_348===null){ +_348=self._document; } -_342=self.getElement(_342); -var _344=(_342.getElementsByTagName(_340)||self._document.all); -if(typeof (_341)=="undefined"||_341===null){ -return MochiKit.Base.extend(null,_344); +_348=self.getElement(_348); +var _34a=(_348.getElementsByTagName(_346)||self._document.all); +if(typeof (_347)=="undefined"||_347===null){ +return MochiKit.Base.extend(null,_34a); } -var _345=[]; -for(var i=0;i<_344.length;i++){ -var _347=_344[i]; -var cls=_347.className; +var _34b=[]; +for(var i=0;i<_34a.length;i++){ +var _34d=_34a[i]; +var cls=_34d.className; if(!cls){ continue; } -var _349=cl... [truncated message content] |
From: <sv...@ze...> - 2007-04-27 04:15:41
|
Author: ian Date: 2007-04-27 00:15:34 -0400 (Fri, 27 Apr 2007) New Revision: 4909 Modified: trunk/Products/ZenEvents/ActionRuleWindow.py trunk/Products/ZenEvents/Availability.py trunk/Products/ZenEvents/EventClass.py trunk/Products/ZenEvents/EventClassInst.py trunk/Products/ZenEvents/EventManagerBase.py trunk/Products/ZenModel/CPU.py trunk/Products/ZenModel/Classifier.py trunk/Products/ZenModel/DataRoot.py trunk/Products/ZenModel/Device.py trunk/Products/ZenModel/DeviceOrganizer.py trunk/Products/ZenModel/ExpansionCard.py trunk/Products/ZenModel/FileSystem.py trunk/Products/ZenModel/HardDisk.py trunk/Products/ZenModel/HardwareClass.py trunk/Products/ZenModel/IpInterface.py trunk/Products/ZenModel/IpNetwork.py trunk/Products/ZenModel/IpService.py trunk/Products/ZenModel/IpServiceClass.py trunk/Products/ZenModel/MaintenanceWindow.py trunk/Products/ZenModel/Manufacturer.py trunk/Products/ZenModel/ManufacturerRoot.py trunk/Products/ZenModel/MibModule.py trunk/Products/ZenModel/MibNode.py trunk/Products/ZenModel/MibNotification.py trunk/Products/ZenModel/MibOrganizer.py trunk/Products/ZenModel/NagiosCmd.py trunk/Products/ZenModel/NagiosTemplate.py trunk/Products/ZenModel/OSProcess.py trunk/Products/ZenModel/OSProcessClass.py trunk/Products/ZenModel/OSProcessOrganizer.py trunk/Products/ZenModel/OperatingSystem.py trunk/Products/ZenModel/PerformanceConf.py trunk/Products/ZenModel/ProductClass.py trunk/Products/ZenModel/ServiceClass.py trunk/Products/ZenModel/ServiceOrganizer.py trunk/Products/ZenModel/Software.py trunk/Products/ZenModel/SoftwareClass.py trunk/Products/ZenModel/StatusMonitorConf.py trunk/Products/ZenModel/System.py trunk/Products/ZenModel/UserCommand.py trunk/Products/ZenModel/WinService.py trunk/Products/ZenModel/migrate/menus.py Log: * Removed revision r4903, which broke some things Modified: trunk/Products/ZenEvents/ActionRuleWindow.py =================================================================== --- trunk/Products/ZenEvents/ActionRuleWindow.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenEvents/ActionRuleWindow.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -47,7 +47,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenEvents/Availability.py =================================================================== --- trunk/Products/ZenEvents/Availability.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenEvents/Availability.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -163,7 +163,7 @@ result = [] for (d, c), v in devices.items(): dev = deviceLookup.get(d, None) - sys = (dev and dev.getSystemNames()) or '' + sys = (dev and dev.getSystemNamesString()) or '' result.append( Availability(d, c, v, total, sys) ) # add in the devices that have the component, but no events if self.component: Modified: trunk/Products/ZenEvents/EventClass.py =================================================================== --- trunk/Products/ZenEvents/EventClass.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenEvents/EventClass.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -81,12 +81,6 @@ 'immediate_view' : 'eventClassStatus', 'actions' : ( -# { 'id' : 'events' -# , 'name' : 'Events' -# , 'action' : 'viewEvents' -# , 'permissions' : ( -# Permissions.view, ) -# }, { 'id' : 'classes' , 'name' : 'Classes' , 'action' : 'eventClassStatus' @@ -99,6 +93,12 @@ , 'permissions' : ( Permissions.view, ) }, + { 'id' : 'events' + , 'name' : 'Events' + , 'action' : 'viewEvents' + , 'permissions' : ( + Permissions.view, ) + }, { 'id' : 'historyEvents' , 'name' : 'History' , 'action' : 'viewHistoryEvents' @@ -110,12 +110,6 @@ , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : ( - Permissions.view, ) - }, ) }, ) Modified: trunk/Products/ZenEvents/EventClassInst.py =================================================================== --- trunk/Products/ZenEvents/EventClassInst.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenEvents/EventClassInst.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -133,11 +133,11 @@ , 'action' : 'viewHistoryEvents' , 'permissions' : (Permissions.view, ) }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : (Permissions.view, ) - }, + #{ 'id' : 'viewHistory' + #, 'name' : 'Changes' + #, 'action' : 'viewHistory' + #, 'permissions' : (Permissions.view, ) + #}, ) }, ) Modified: trunk/Products/ZenEvents/EventManagerBase.py =================================================================== --- trunk/Products/ZenEvents/EventManagerBase.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenEvents/EventManagerBase.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -225,7 +225,7 @@ , 'permissions' : ( "Manage DMD", ) }, { 'id' : 'changes' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) }, @@ -265,13 +265,16 @@ def getEventListME(self, me, **kwargs): where = self.lookupManagedEntityWhere(me) - resultfields = self.lookupManagedEntityResultFields(me.event_key) - return self.getEventList(resultFields=resultfields,where=where,**kwargs) + try: + resultFields = kwargs['resultFields']; del kwargs['resultFields'] + except KeyError: + resultFields = self.lookupManagedEntityResultFields(me.event_key) + return self.getEventList(resultFields=resultFields,where=where,**kwargs) def getEventList(self, resultFields=[], where="", orderby="", severity=None, state=0, startdate=None, enddate=None, offset=0, rows=0, - getTotalCount=False, filter=""): + getTotalCount=False, filter="", **kwargs): """see IEventList. """ try: @@ -305,7 +308,7 @@ select.append("order by") select.append(orderby) if rows: - select.append("limit %d, %d" % (offset, rows)) + select.append("limit %s, %s" % (offset, rows)) select.append(';') select = " ".join(select) if getTotalCount: @@ -630,7 +633,7 @@ def getAvailability(self, state, **kw): import Availability - for name in "device", "component", "eventClass": + for name in "device", "component", "eventClass", "systems": if hasattr(state, name): kw.setdefault(name, getattr(state, name)) try: @@ -942,43 +945,33 @@ REQUEST.RESPONSE.setHeader("Pragma", "no-cache") return info - security.declareProtected('View','getJSONHistoryEventsInfo') - def getJSONHistoryEventsInfo(self, **kwargs): - kwargs['history'] = True - return self.getJSONEventsInfo(**kwargs) - security.declareProtected('View','getJSONEventsInfo') - def getJSONEventsInfo(self, offset=0, count=50, fields=[], + def getJSONEventsInfo(self, context, offset=0, count=50, getTotalCount=True, + startdate=None, enddate=None, filter='', severity=2, state=1, - orderby='', history=False, REQUEST=None): + orderby='', **kwargs): + """ Event data in JSON format. """ - Event data in JSON format. - """ - argnames = 'offset count getTotalCount filter severity state orderby'.split() - myargs = {} - for arg in argnames: - try: - try: myargs[arg] = int(REQUEST[arg]) - except ValueError: myargs[arg] = REQUEST[arg] - except KeyError: myargs[arg] = eval(arg) - myargs['rows'] = myargs['count']; del myargs['count'] - if myargs['orderby']=='count': myargs['orderby']=='rows'; - if not fields: fields = self.defaultResultFields - if history: data, totalCount = self.dmd.ZenEventHistory.getEventList(**myargs) - else: data, totalCount = self.getEventList(**myargs) + fields = self.lookupManagedEntityResultFields(context.event_key) + data, totalCount = self.getEventListME(context, + offset=offset, rows=count, resultFields=fields, + getTotalCount=getTotalCount, filter=filter, severity=severity, + state=state, orderby=orderby, startdate=startdate, enddate=enddate) results = [x.getDataForJSON(fields) + [x.getCssClass()] for x in data] return simplejson.dumps((results, totalCount)) + security.declareProtected('View','getJSONFields') - def getJSONFields(self, fields=[]): - if not fields: fields = self.defaultResultFields + def getJSONFields(self, context): + fields = self.lookupManagedEntityResultFields(context.event_key) lens = map(self.getAvgFieldLength, fields) total = sum(lens) lens = map(lambda x:x/total*100, lens) zipped = zip(fields, lens) return simplejson.dumps(zipped) + def getAvgFieldLength(self, fieldname): conn = self.connect() try: @@ -1196,6 +1189,7 @@ ''' eventDict = dict( summary = REQUEST['summary'], + message = REQUEST['message'], device = REQUEST['device'], component = REQUEST['component'], severity = REQUEST['severity'], Modified: trunk/Products/ZenModel/CPU.py =================================================================== --- trunk/Products/ZenModel/CPU.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/CPU.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""CPU @@ -63,7 +70,7 @@ , 'permissions' : ('View',) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/Classifier.py =================================================================== --- trunk/Products/ZenModel/Classifier.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/Classifier.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""Classifier @@ -53,7 +60,7 @@ permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/DataRoot.py =================================================================== --- trunk/Products/ZenModel/DataRoot.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/DataRoot.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -146,7 +146,7 @@ , 'permissions' : ( "Manage DMD", ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) @@ -223,13 +223,9 @@ def checkValidId(self, new_id): """Checks a valid id""" - test_id = unquote(new_id) try: - checkValidId(self, test_id) - if getattr(self, test_id, False): - return 'The id "%s" id already being used.' % test_id - else: - return True + checkValidId(self, unquote(new_id)) + return True except: return str(sys.exc_info()[1]) Modified: trunk/Products/ZenModel/Device.py =================================================================== --- trunk/Products/ZenModel/Device.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/Device.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -320,7 +320,7 @@ # , 'permissions' : (permissions.view,) # }, # { 'id' : 'viewHistory' -# , 'name' : 'Modifications' +# , 'name' : 'Changes' # , 'action' : 'viewHistory' # , 'permissions' : (permissions.view, ) # }, @@ -590,6 +590,12 @@ return map(lambda x: x.getOrganizerName(), self.systems()) + security.declareProtected('View', 'getSystemNamesString') + def getSystemNamesString(self, sep=', '): + """get the system names for this device as a string""" + return sep.join(self.getSystemNames()) + + security.declareProtected('View', 'getDeviceGroupNames') def getDeviceGroupNames(self): """get the device group names for this device""" Modified: trunk/Products/ZenModel/DeviceOrganizer.py =================================================================== --- trunk/Products/ZenModel/DeviceOrganizer.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/DeviceOrganizer.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -66,13 +66,13 @@ , 'permissions' : ( permissions.view, ) }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'deviceOrganizerManage' - , 'permissions' : ('Manage DMD',) - }, +# { 'id' : 'manage' +# , 'name' : 'Manage' +# , 'action' : 'deviceOrganizerManage' +# , 'permissions' : ('Manage DMD',) +# }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/ExpansionCard.py =================================================================== --- trunk/Products/ZenModel/ExpansionCard.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/ExpansionCard.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""ExpansionCard @@ -56,7 +63,7 @@ , 'permissions' : ('View',) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/FileSystem.py =================================================================== --- trunk/Products/ZenModel/FileSystem.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/FileSystem.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""FileSystem @@ -89,7 +96,7 @@ #, 'permissions' : ("Change Device", ) #}, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/HardDisk.py =================================================================== --- trunk/Products/ZenModel/HardDisk.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/HardDisk.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""HardDisk @@ -75,7 +82,7 @@ # , 'permissions' : ("Change Device", ) # }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/HardwareClass.py =================================================================== --- trunk/Products/ZenModel/HardwareClass.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/HardwareClass.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""HardwareClass @@ -54,7 +61,7 @@ # permissions.view, ) # }, # { 'id' : 'viewHistory' -# , 'name' : 'Modifications' +# , 'name' : 'Changes' # , 'action' : 'viewHistory' # , 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/IpInterface.py =================================================================== --- trunk/Products/ZenModel/IpInterface.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/IpInterface.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""IpInterface @@ -122,7 +129,7 @@ # , 'permissions' : ("Change Device", ) # }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/IpNetwork.py =================================================================== --- trunk/Products/ZenModel/IpNetwork.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/IpNetwork.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -113,7 +113,7 @@ , 'permissions' : ("Manage DMD",) }, # { 'id' : 'viewHistory' -# , 'name' : 'Modifications' +# , 'name' : 'Changes' # , 'action' : 'viewHistory' # , 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/IpService.py =================================================================== --- trunk/Products/ZenModel/IpService.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/IpService.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -86,17 +86,17 @@ , 'permissions' : ( Permissions.view, ) }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'ipServiceManage' - , 'permissions' : ("Manage DMD",) - }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : ( - Permissions.view, ) - }, +# { 'id' : 'manage' +# , 'name' : 'Manage' +# , 'action' : 'ipServiceManage' +# , 'permissions' : ("Manage DMD",) +# }, +# { 'id' : 'viewHistory' +# , 'name' : 'Changes' +# , 'action' : 'viewHistory' +# , 'permissions' : ( +# Permissions.view, ) +# }, ) }, ) Modified: trunk/Products/ZenModel/IpServiceClass.py =================================================================== --- trunk/Products/ZenModel/IpServiceClass.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/IpServiceClass.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -69,22 +69,22 @@ , 'action' : 'ipServiceClassEdit' , 'permissions' : ("Manage DMD", ) }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'ipServiceClassManage' - , 'permissions' : ("Manage DMD",) - }, +# { 'id' : 'manage' +# , 'name' : 'Manage' +# , 'action' : 'ipServiceClassManage' +# , 'permissions' : ("Manage DMD",) +# }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : ( - Permissions.view, ) - }, +# { 'id' : 'viewHistory' +# , 'name' : 'Changes' +# , 'action' : 'viewHistory' +# , 'permissions' : ( +# Permissions.view, ) +# }, ) }, ) Modified: trunk/Products/ZenModel/MaintenanceWindow.py =================================================================== --- trunk/Products/ZenModel/MaintenanceWindow.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/MaintenanceWindow.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2006 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""MaintenanceWindow @@ -99,7 +106,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/Manufacturer.py =================================================================== --- trunk/Products/ZenModel/Manufacturer.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/Manufacturer.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -97,7 +97,7 @@ , 'permissions' : ("Manage DMD",) }, # { 'id' : 'viewHistory' -# , 'name' : 'Modifications' +# , 'name' : 'Changes' # , 'action' : 'viewHistory' # , 'permissions' : (permissions.view, ) # }, Modified: trunk/Products/ZenModel/ManufacturerRoot.py =================================================================== --- trunk/Products/ZenModel/ManufacturerRoot.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/ManufacturerRoot.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""ManufacturerRoot @@ -73,7 +80,7 @@ permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/MibModule.py =================================================================== --- trunk/Products/ZenModel/MibModule.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/MibModule.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2006 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### from Globals import InitializeClass from AccessControl import ClassSecurityInfo @@ -48,7 +55,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/MibNode.py =================================================================== --- trunk/Products/ZenModel/MibNode.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/MibNode.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2006 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### from Globals import InitializeClass from AccessControl import ClassSecurityInfo @@ -37,7 +44,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/MibNotification.py =================================================================== --- trunk/Products/ZenModel/MibNotification.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/MibNotification.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2006 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### from Globals import InitializeClass from AccessControl import ClassSecurityInfo @@ -37,7 +44,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/MibOrganizer.py =================================================================== --- trunk/Products/ZenModel/MibOrganizer.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/MibOrganizer.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2006 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### import types @@ -17,6 +24,7 @@ from Organizer import Organizer from MibModule import MibModule +from ZenPackable import ZenPackable def manage_addMibOrganizer(context, id, REQUEST = None): """make a device class""" @@ -29,7 +37,7 @@ addMibOrganizer = DTMLFile('dtml/addMibOrganizer',globals()) -class MibOrganizer(Organizer): +class MibOrganizer(Organizer, ZenPackable): """ DeviceOrganizer is the base class for device organizers. It has lots of methods for rolling up device statistics and information. @@ -40,7 +48,7 @@ security = ClassSecurityInfo() - _relations = Organizer._relations + ( + _relations = Organizer._relations + ZenPackable._relations + ( ("mibs", ToManyCont(ToOne,"Products.ZenModel.MibModule","miborganizer")), ) @@ -57,7 +65,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/NagiosCmd.py =================================================================== --- trunk/Products/ZenModel/NagiosCmd.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/NagiosCmd.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2006 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### import os @@ -55,7 +62,7 @@ , 'action' : 'editNagiosCmd' , 'permissions' : ( Permissions.view, ) }, - { 'name' : 'Modifications' + { 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/NagiosTemplate.py =================================================================== --- trunk/Products/ZenModel/NagiosTemplate.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/NagiosTemplate.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2006 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### from Globals import InitializeClass from AccessControl import ClassSecurityInfo @@ -64,7 +71,7 @@ , 'action' : 'viewNagiosTemplate' , 'permissions' : ( Permissions.view, ) }, - { 'name' : 'Modifications' + { 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/OSProcess.py =================================================================== --- trunk/Products/ZenModel/OSProcess.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/OSProcess.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -76,16 +76,16 @@ # , 'action' : 'objRRDTemplate' # , 'permissions' : ("Change Device", ) # }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'osProcessManage' - , 'permissions' : ("Manage DMD",) - }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : ( Permissions.view, ) - }, +# { 'id' : 'manage' +# , 'name' : 'Manage' +# , 'action' : 'osProcessManage' +# , 'permissions' : ("Manage DMD",) +# }, +# { 'id' : 'viewHistory' +# , 'name' : 'Changes' +# , 'action' : 'viewHistory' +# , 'permissions' : ( Permissions.view, ) +# }, ) }, ) Modified: trunk/Products/ZenModel/OSProcessClass.py =================================================================== --- trunk/Products/ZenModel/OSProcessClass.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/OSProcessClass.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -76,22 +76,22 @@ , 'action' : 'osProcessClassEdit' , 'permissions' : ("Manage DMD", ) }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'osProcessClassManage' - , 'permissions' : ("Manage DMD",) - }, + #{ 'id' : 'manage' + #, 'name' : 'Manage' + #, 'action' : 'osProcessClassManage' + #, 'permissions' : ("Manage DMD",) + #}, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : ( - Permissions.view, ) - }, +# { 'id' : 'viewHistory' +# , 'name' : 'Changes' +# , 'action' : 'viewHistory' +# , 'permissions' : ( +# Permissions.view, ) +# }, ) }, ) Modified: trunk/Products/ZenModel/OSProcessOrganizer.py =================================================================== --- trunk/Products/ZenModel/OSProcessOrganizer.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/OSProcessOrganizer.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -72,22 +72,22 @@ , 'permissions' : ( Permissions.view, ) }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'osProcessOrganizerManage' - , 'permissions' : ("Manage DMD",) - }, +# { 'id' : 'manage' +# , 'name' : 'Manage' +# , 'action' : 'osProcessOrganizerManage' +# , 'permissions' : ("Manage DMD",) +# }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : ( - Permissions.view, ) - }, +# { 'id' : 'viewHistory' +# , 'name' : 'Changes' +# , 'action' : 'viewHistory' +# , 'permissions' : ( +# Permissions.view, ) +# }, ) }, ) Modified: trunk/Products/ZenModel/OperatingSystem.py =================================================================== --- trunk/Products/ZenModel/OperatingSystem.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/OperatingSystem.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### import logging log = logging.getLogger("zen.OS") @@ -108,7 +115,7 @@ , 'permissions' : (permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : '../viewHistory' , 'permissions' : (permissions.view, ) }, Modified: trunk/Products/ZenModel/PerformanceConf.py =================================================================== --- trunk/Products/ZenModel/PerformanceConf.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/PerformanceConf.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -135,7 +135,7 @@ # , 'permissions' : ("Manage DMD",) # }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/ProductClass.py =================================================================== --- trunk/Products/ZenModel/ProductClass.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/ProductClass.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""ProductClass @@ -73,7 +80,7 @@ , 'permissions' : ("Manage DMD",) }, #{ 'id' : 'viewHistory' - #, 'name' : 'Modifications' + #, 'name' : 'Changes' #, 'action' : 'viewHistory' #, 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/ServiceClass.py =================================================================== --- trunk/Products/ZenModel/ServiceClass.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/ServiceClass.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -92,22 +92,22 @@ , 'action' : 'serviceClassEdit' , 'permissions' : ("Manage DMD", ) }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'serviceClassManage' - , 'permissions' : ("Manage DMD",) - }, +# { 'id' : 'manage' +# , 'name' : 'Manage' +# , 'action' : 'serviceClassManage' +# , 'permissions' : ("Manage DMD",) +# }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : ( - Permissions.view, ) - }, +# { 'id' : 'viewHistory' +# , 'name' : 'Changes' +# , 'action' : 'viewHistory' +# , 'permissions' : ( +# Permissions.view, ) +# }, ) }, ) Modified: trunk/Products/ZenModel/ServiceOrganizer.py =================================================================== --- trunk/Products/ZenModel/ServiceOrganizer.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/ServiceOrganizer.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -71,22 +71,22 @@ , 'permissions' : ( Permissions.view, ) }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'serviceOrganizerManage' - , 'permissions' : ("Manage DMD",) - }, +# { 'id' : 'manage' +# , 'name' : 'Manage' +# , 'action' : 'serviceOrganizerManage' +# , 'permissions' : ("Manage DMD",) +# }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : ( - Permissions.view, ) - }, +# { 'id' : 'viewHistory' +# , 'name' : 'Changes' +# , 'action' : 'viewHistory' +# , 'permissions' : ( +# Permissions.view, ) +# }, ) }, ) Modified: trunk/Products/ZenModel/Software.py =================================================================== --- trunk/Products/ZenModel/Software.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/Software.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""Software @@ -69,7 +76,7 @@ permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/SoftwareClass.py =================================================================== --- trunk/Products/ZenModel/SoftwareClass.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/SoftwareClass.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -1,8 +1,15 @@ -################################################################# +########################################################################### # -# Copyright (c) 2002 Zenoss, Inc. All rights reserved. +# This program is part of Zenoss Core, an open source monitoring platform. +# Copyright (C) 2007, Zenoss Inc. # -################################################################# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# For complete information please visit: http://www.zenoss.com/oss/ +# +########################################################################### __doc__="""SoftwareClass @@ -62,7 +69,7 @@ # permissions.view, ) # }, # { 'id' : 'viewHistory' -# , 'name' : 'Modifications' +# , 'name' : 'Changes' # , 'action' : 'viewHistory' # , 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/StatusMonitorConf.py =================================================================== --- trunk/Products/ZenModel/StatusMonitorConf.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/StatusMonitorConf.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -107,7 +107,7 @@ # , 'permissions' : ("Manage DMD",) # }, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/System.py =================================================================== --- trunk/Products/ZenModel/System.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/System.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -106,17 +106,17 @@ , 'permissions' : ( permissions.view, ) }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'deviceOrganizerManage' - , 'permissions' : ('Manage DMD',) - }, - { 'id' : 'viewHistory' - , 'name' : 'Modifications' - , 'action' : 'viewHistory' - , 'permissions' : ( - permissions.view, ) - }, + #{ 'id' : 'manage' + #, 'name' : 'Manage' + #, 'action' : 'deviceOrganizerManage' + #, 'permissions' : ('Manage DMD',) + #}, + #{ 'id' : 'viewHistory' + #, 'name' : 'Changes' + #, 'action' : 'viewHistory' + #, 'permissions' : ( + # permissions.view, ) + #}, ) }, ) Modified: trunk/Products/ZenModel/UserCommand.py =================================================================== --- trunk/Products/ZenModel/UserCommand.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/UserCommand.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -58,7 +58,7 @@ 'permissions' : ( Permissions.view, ), }, { 'id' : 'viewHistory', - 'name' : 'Modifications', + 'name' : 'Changes', 'action' : 'viewHistory', 'permissions' : ( Permissions.view, ), } Modified: trunk/Products/ZenModel/WinService.py =================================================================== --- trunk/Products/ZenModel/WinService.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/WinService.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -69,13 +69,13 @@ , 'permissions' : ( Permissions.view, ) }, - { 'id' : 'manage' - , 'name' : 'Manage' - , 'action' : 'winServiceManage' - , 'permissions' : ("Manage DMD",) - }, + #{ 'id' : 'manage' + #, 'name' : 'Manage' + #, 'action' : 'winServiceManage' + #, 'permissions' : ("Manage DMD",) + #}, { 'id' : 'viewHistory' - , 'name' : 'Modifications' + , 'name' : 'Changes' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-04-27 02:55:41 UTC (rev 4908) +++ trunk/Products/ZenModel/migrate/menus.py 2007-04-27 04:15:34 UTC (rev 4909) @@ -111,9 +111,12 @@ 'More':[ dict(action='viewHistory', allowed_classes=['Device', - 'DeviceClass',], - description='Modifications', - ordering=2.0, + 'DeviceClass', + 'EventClass', + 'EventClassInst', + 'DeviceOrganizer',], + description='Changes', + ordering=99.0, id='viewHistory', permissions=('Change Device',) ), @@ -189,28 +192,84 @@ ), dict(action='deviceManagement', allowed_classes=['Device'], - description='Administration', + description='Manage', ordering=70.0, id='deviceManagement', permissions=('Change Device',) ), dict(action='../deviceManagement', allowed_classes=['OperatingSystem'], - description='Administration', + des... [truncated message content] |
From: <sv...@ze...> - 2007-04-27 02:55:40
|
Author: ian Date: 2007-04-26 22:55:41 -0400 (Thu, 26 Apr 2007) New Revision: 4908 Modified: trunk/Products/ZenWidgets/skins/zenui/css/dialog.css trunk/Products/ZenWidgets/skins/zenui/javascript/zengrid.js Log: * A few modifications to #938. Event console now resizes to be the height of the browser so you don't have to scroll, and the loading box works. Modified: trunk/Products/ZenWidgets/skins/zenui/css/dialog.css =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/css/dialog.css 2007-04-27 02:17:22 UTC (rev 4907) +++ trunk/Products/ZenWidgets/skins/zenui/css/dialog.css 2007-04-27 02:55:41 UTC (rev 4908) @@ -1,3 +1,15 @@ +.zengridload_container { + width: 15em; + z-index: 11000; + position: absolute; + display: none; +} +#zengridload_content { + font-weight: bold; + font-size: 2em; + text-align: center; +} + #dialog { margin: 0; padding: 0; Modified: trunk/Products/ZenWidgets/skins/zenui/javascript/zengrid.js =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/javascript/zengrid.js 2007-04-27 02:17:22 UTC (rev 4907) +++ trunk/Products/ZenWidgets/skins/zenui/javascript/zengrid.js 2007-04-27 02:55:41 UTC (rev 4908) @@ -30,25 +30,25 @@ [ DIV({'class':'dbox_br'}, [ DIV({'class':'dbox_bc'}, null)])]) ]); - appendChildNodes(currentDocument().body, this.framework); - setStyle(this.framework, { - 'width':'15em', - 'position':'absolute', - 'z-index':'11000' - }); - setStyle($('zengridload_content'), { - 'font-weight':'bold', - 'font-size':'2em', - 'text-align':'center' + appendChildNodes($('frame'), this.framework); + this.show(); - }); - }, - show: function(center) { - setStyle(this.framework, {'display':'block'}); + getViewportCenter: function() { + var dims = getViewportDimensions(); + var pos = getViewportPosition(); + return new Coordinates((dims.w/2)+pos.x, (dims.h/2)+pos.y); }, + show: function(msg) { + if (msg) $('zengridload_content').innerHTML = msg; + var p = this.getViewportCenter(); + var d = getElementDimensions(this.framework); + var pos = new Coordinates(p.x-(d.w/2),p.y-(d.h/2)); + setElementPosition(this.framework, pos); + showElement(this.framework); + }, hide: function() { - setStyle(this.framework, {'display':'none'}); + hideElement(this.framework); } } var ZenGridBuffer = Class.create(); @@ -201,21 +201,21 @@ this.lock = new DeferredLock(); this.scrollTimeout = null; this.loadingbox = new ZenGridLoadingMsg('Loading...'); - this.showLoading(); + //this.showLoading(); fieldlock = this.lock.acquire(); fieldlock.addCallback(this.refreshFields); updatelock = this.lock.acquire(); updatelock.addCallback(bind(function(r){ - this.refreshTable(this.lastOffset); + this.resizeTable(); this.lock.release(); }, this)); statuslock = this.lock.acquire(); statuslock.addCallback(bind(function(r){ - //this.updateStatusBar(this.lastOffset); this.lock.release(); }, this)); this.addMouseWheelListening(); connect(this.scrollbar, 'onscroll', this.handleScroll); + connect(currentWindow(), 'onresize', this.resizeTable); }, setSelectNone: function() { this.checkedArray = new Array(); @@ -310,7 +310,7 @@ 'getTotalCount': 1 }); var d = loadJSONDoc(url, qs); - d.addErrback(function(x) { log("BROKEN! " + x)}); + d.addErrback(function(x) { alert('Cannot communicate with the server!') }); d.addCallback( bind(function(r) { result = r; @@ -540,8 +540,8 @@ } } - connectCheckboxListeners(); this.killLoading(); + connectCheckboxListeners(); }, getTotalRows: function() { cb = bind(function(r) { @@ -673,7 +673,7 @@ this.lastPixelOffset = pixel; }, handleScroll: function() { - this.showLoading(); + //this.showLoading(); this.scrollToPixel(this.scrollbar.scrollTop||0) }, refreshFromFormElement: function(e) { @@ -722,30 +722,29 @@ this.checkedArray[node.value] = node.checked? 'checked':'blank' }, - getViewportCenter: function() { - var dims = getElementDimensions(this.viewport); - var pos = getElementPosition(this.viewport); - return {x:(dims.w/2)+pos.x, y:(dims.h/2)+pos.y} - }, showLoading: function() { - clearTimeout(this.isLoading); - var isIE//@cc_on=1; - //if(isIE) createLoggingPane(); -// //this.isLoading = setTimeout( bind(function() { -// //var p = this.getViewportCenter(); -// var d = getElementDimensions(this.loadingbox); -// var pos = {x:p.x-(d.w/2),y:p.y-(d.h/2)}; -// //this.loadingbox.style.top = pos.y; -// //this.loadingbox.style.left = pos.x; -// this.loadingbox.show(p); -// }, this), 500); + if (this.isLoading) clearTimeout(this.isLoading); + this.isLoading = setTimeout( bind(function() { + this.loadingbox.show(); + }, this), 500); }, killLoading: function() { - clearTimeout(this.isLoading); - if (this.loadingbox) { - this.loadingbox.hide(); - } + if (this.isLoading) clearTimeout(this.isLoading); + this.loadingbox.hide(); }, + resizeTable: function() { + var maxTableBottom = getViewportDimensions().h + + getViewportPosition().y; + var curTableBottom = getElementDimensions(this.viewport).h + + getElementPosition(this.viewport).y; + var diff = maxTableBottom - curTableBottom; + var rowdiff = Math.floor(diff/this.rowSizePlus); + this.numRows += rowdiff; + this.setTableNumRows( + Math.min(this.rowEls.length + rowdiff, this.buffer.totalRows)); + this.refreshTable(this.lastOffset); + this.updateStatusBar(this.lastOffset); + }, resizeColumn: function(index, fromindex, pixeldiff) { var cols = this.colgroup.getElementsByTagName('col'); var hcols = this.headcolgroup.getElementsByTagName('col'); |
Author: jstevens Date: 2007-04-26 22:17:22 -0400 (Thu, 26 Apr 2007) New Revision: 4907 Modified: trunk/Products/ZenEvents/EventManagerBase.py trunk/Products/ZenModel/DeviceComponent.py trunk/Products/ZenModel/skins/zenmodel/scGetSortedTableState.py trunk/Products/ZenReports/reports/Device_Reports/All_Devices.rpt trunk/Products/ZenReports/reports/Device_Reports/All_Monitored_Components.rpt trunk/Products/ZenReports/reports/Device_Reports/Device_Changes.rpt trunk/Products/ZenReports/reports/Device_Reports/Model_Collection_Age.rpt trunk/Products/ZenReports/reports/Device_Reports/New_Devices.rpt trunk/Products/ZenReports/reports/Device_Reports/Ping_Status_Issues.rpt trunk/Products/ZenReports/reports/Device_Reports/SNMP_Status_Issues.rpt trunk/Products/ZenReports/reports/Event_Reports/All_EventClasses.rpt trunk/Products/ZenReports/reports/Event_Reports/All_EventMappings.rpt trunk/Products/ZenReports/reports/Event_Reports/All_Heartbeats.rpt trunk/Products/ZenReports/reports/Performance_Reports/CPU_Utilization.rpt trunk/Products/ZenReports/reports/Performance_Reports/Filesystem_Util_Report.rpt trunk/Products/ZenReports/reports/Performance_Reports/Interface_Utilization.rpt trunk/Products/ZenReports/reports/Performance_Reports/Memory_Utilization.rpt trunk/Products/ZenReports/reports/Performance_Reports/Threshold_Summary.rpt trunk/Products/ZenReports/reports/User_Reports/Notification_Schedules.rpt trunk/Products/ZenWidgets/ZenTableManager.py Log: fixes #1204 * Added filter field to all reports * All reports now use newer zenuimacros table macros * Changes to ZenTableManager so it better copes with lists of dictionaries as well as lists of objects in the table. Modified: trunk/Products/ZenEvents/EventManagerBase.py =================================================================== --- trunk/Products/ZenEvents/EventManagerBase.py 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenEvents/EventManagerBase.py 2007-04-27 02:17:22 UTC (rev 4907) @@ -671,13 +671,19 @@ alink = "<a href='%s'>%s</a>" % ( dev.getPrimaryUrlPath(), dev.id) else: alink = devname - statusCache.append([alink, comp, dtime]) + statusCache.append([alink, comp, dtime, devname]) if limit: statusCache = statusCache[:limit] cleanup() finally: self.close(conn) return statusCache + + def getHeartbeatObjects(self, failures=True, simple=False, limit=0, db=None): + beats = self.getHeartbeat(failures, simple, limit, db) + return [{'alink':b[0], 'comp':b[1], 'dtime':b[2], 'devId':b[3]} + for b in beats] + def getAllComponentStatus(self, statclass, Modified: trunk/Products/ZenModel/DeviceComponent.py =================================================================== --- trunk/Products/ZenModel/DeviceComponent.py 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenModel/DeviceComponent.py 2007-04-27 02:17:22 UTC (rev 4907) @@ -74,7 +74,9 @@ def getStatus(self, statClass=None): """Return the status number for this component of class statClass. """ - if not self.monitored() or not self.device().monitorDevice(): return -1 + if not self.monitored() \ + or not self.device() \ + or not self.device().monitorDevice(): return -1 if not statClass: statClass = "/Status/%s" % self.meta_type return self.getEventManager().getComponentStatus( self.getParentDeviceName(), self.name(), statclass=statClass) Modified: trunk/Products/ZenModel/skins/zenmodel/scGetSortedTableState.py =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/scGetSortedTableState.py 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenModel/skins/zenmodel/scGetSortedTableState.py 2007-04-27 02:17:22 UTC (rev 4907) @@ -1,3 +1,8 @@ +## Script (Python) "getSortedTableState" +##parameters=tableName,key +##bind context=context +##title=Return a value from a tables current session informtion + ########################################################################### # # This program is part of Zenoss Core, an open source monitoring platform. @@ -10,10 +15,6 @@ # For complete information please visit: http://www.zenoss.com/oss/ # ########################################################################### -## Script (Python) "getSortedTableState" -##parameters=tableName,key -##bind context=context -##title=Return a value from a tables current session informtion request=context.REQUEST session=request.SESSION Modified: trunk/Products/ZenReports/reports/Device_Reports/All_Devices.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/All_Devices.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Device_Reports/All_Devices.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -9,10 +9,20 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> - <table class="zentable" cellpadding="3" cellspacing="1"> + <form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:All Devices; + showfilterbox python:True; + tblcolspan string:6"> + <tal:block metal:use-macro="here/zenuimacros/macros/zentable"> + <tal:block metal:fill-slot="zentablecontents"> + <span metal:use-macro="here/deviceListMacro/macros/devListReportBody" tal:omit-tag="" /> - </table> + + </tal:block> + </tal:block> + </form> + </tal:block> </tal:block> </tal:block> Modified: trunk/Products/ZenReports/reports/Device_Reports/All_Monitored_Components.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/All_Monitored_Components.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Device_Reports/All_Monitored_Components.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -12,8 +12,14 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> - <th class="tabletitle" colspan="5">All Monitored Components</th> + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:All Monitored Components; + showfilterbox python:True; + tblcolspan string:5"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'hostname','Device')"/> @@ -44,10 +50,14 @@ <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + +</tal:block> +</tal:block> </tal:block> \ No newline at end of file Modified: trunk/Products/ZenReports/reports/Device_Reports/Device_Changes.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/Device_Changes.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Device_Reports/Device_Changes.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -17,10 +17,14 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> - <input type='hidden' name='tableName' tal:attributes="value tableName" /> - <input type="hidden" name="zenScreenName" - tal:attributes="value template/id"/> + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:Device Changes; + showfilterbox python:True; + tblcolspan string:5"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'primarySortKey','Name')"/> @@ -49,10 +53,14 @@ <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + +</tal:block> +</tal:block> </tal:block> \ No newline at end of file Modified: trunk/Products/ZenReports/reports/Device_Reports/Model_Collection_Age.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/Model_Collection_Age.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Device_Reports/Model_Collection_Age.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -15,10 +15,14 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> - <input type='hidden' name='tableName' tal:attributes="value tableName" /> - <input type="hidden" name="zenScreenName" - tal:attributes="value template/id"/> + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:Model Collection Age; + showfilterbox python:True; + tblcolspan string:5"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'primarySortKey','Name')"/> @@ -47,10 +51,14 @@ <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + </tal:block> +</tal:block> +</tal:block> Modified: trunk/Products/ZenReports/reports/Device_Reports/New_Devices.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/New_Devices.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Device_Reports/New_Devices.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -15,10 +15,14 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> - <input type='hidden' name='tableName' tal:attributes="value tableName" /> - <input type="hidden" name="zenScreenName" - tal:attributes="value template/id"/> + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:New Devices; + showfilterbox python:True; + tblcolspan string:5"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'primarySortKey','Name')"/> @@ -47,10 +51,14 @@ <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + +</tal:block> +</tal:block> </tal:block> \ No newline at end of file Modified: trunk/Products/ZenReports/reports/Device_Reports/Ping_Status_Issues.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/Ping_Status_Issues.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Device_Reports/Ping_Status_Issues.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -13,12 +13,23 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:Ping Status Issues; + showfilterbox python:True; + tblcolspan string:6"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tal:block metal:use-macro="here/deviceListMacro/macros/devListReportBody"/> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + +</tal:block> +</tal:block> </tal:block> \ No newline at end of file Modified: trunk/Products/ZenReports/reports/Device_Reports/SNMP_Status_Issues.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/SNMP_Status_Issues.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Device_Reports/SNMP_Status_Issues.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -13,12 +13,23 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:SNMP Status Issues; + showfilterbox python:True; + tblcolspan string:6"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tal:block metal:use-macro="here/deviceListMacro/macros/devListReportBody"/> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + +</tal:block> +</tal:block> </tal:block> \ No newline at end of file Modified: trunk/Products/ZenReports/reports/Event_Reports/All_EventClasses.rpt =================================================================== --- trunk/Products/ZenReports/reports/Event_Reports/All_EventClasses.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Event_Reports/All_EventClasses.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -14,14 +14,16 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> - <input type='hidden' name='tableName' tal:attributes="value tableName" /> + + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:All Event Classes; + showfilterbox python:True; + tblcolspan string:4"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> - <th class=tabletitle align=left colspan="6"> - Event Classes - </th> - </tr> - <tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'getOrganizerName','Name')"> Name @@ -55,10 +57,14 @@ <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + +</tal:block> +</tal:block> </tal:block> \ No newline at end of file Modified: trunk/Products/ZenReports/reports/Event_Reports/All_EventMappings.rpt =================================================================== --- trunk/Products/ZenReports/reports/Event_Reports/All_EventMappings.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Event_Reports/All_EventMappings.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -14,14 +14,15 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> - <input type='hidden' name='tableName' tal:attributes="value tableName" /> + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:All Event Mappings; + showfilterbox python:True; + tblcolspan string:4"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> - <th class=tabletitle align=left colspan="6"> - Event Classes - </th> - </tr> - <tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'getDmdKey','Name')"/> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( @@ -46,10 +47,14 @@ <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + +</tal:block> +</tal:block> </tal:block> \ No newline at end of file Modified: trunk/Products/ZenReports/reports/Event_Reports/All_Heartbeats.rpt =================================================================== --- trunk/Products/ZenReports/reports/Event_Reports/All_Heartbeats.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Event_Reports/All_Heartbeats.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -1,5 +1,5 @@ <tal:block tal:define=" - objects python:here.ZenEventManager.getHeartbeat(failures=False,limit=0); + objects python:here.ZenEventManager.getHeartbeatObjects(failures=False,limit=0); tableName string: allheartbeatreport; batch python:here.ZenTableManager.getBatch(tableName,objects); exportFields python:[(0, 'device'), (1, 'component'), (2, 'seconds')]; @@ -12,32 +12,40 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> - <input type='hidden' name='tableName' tal:attributes="value tableName" /> + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:All Heartbeats; + showfilterbox python:True; + tblcolspan string:3"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> - <th class=tabletitle align=left colspan="6"> - Event Classes - </th> + <th tal:replace="structure python:here.ZenTableManager.getTableHeader( + tableName,'devId','Device')"/> + <th tal:replace="structure python:here.ZenTableManager.getTableHeader( + tableName,'comp','Component')"/> + <th tal:replace="structure python:here.ZenTableManager.getTableHeader( + tableName,'dtime','Seconds')"/> </tr> - <tr> - <th class="tableheader">Device</th> - <th class="tableheader">Component</th> - <th class="tableheader">Seconds</th> - </tr> <tr tal:repeat="heart batch"> - <td class="tablevalues" tal:content="structure python:heart[0]"/> - <td class="tablevalues" tal:content="python:heart[1]"/> - <td class="tablevalues" align=center tal:content="python:heart[2]"/> + <td class="tablevalues" tal:content="structure heart/alink"/> + <td class="tablevalues" tal:content="heart/comp"/> + <td class="tablevalues" align=center tal:content="heart/dtime"/> </tr> <tr> <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + +</tal:block> +</tal:block> </tal:block> \ No newline at end of file Modified: trunk/Products/ZenReports/reports/Performance_Reports/CPU_Utilization.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/CPU_Utilization.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Performance_Reports/CPU_Utilization.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -16,8 +16,13 @@ <tal:block metal:use-macro="here/reportMacros/macros/utilizationForm"/> -<table class="zentable" cellpadding="3" cellspacing="1"> - <th class="tabletitle" colspan="3">Monitored Interfaces</th> +<form method="POST" tal:attributes="action request/URL" + tal:define="tabletitle string:CPU Utilization; + showfilterbox python:True; + tblcolspan string:3"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'device','Device')"/> @@ -40,10 +45,14 @@ <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + </tal:block> +</tal:block> +</tal:block> Modified: trunk/Products/ZenReports/reports/Performance_Reports/Filesystem_Util_Report.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/Filesystem_Util_Report.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Performance_Reports/Filesystem_Util_Report.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -17,8 +17,13 @@ <tal:block metal:use-macro="here/reportMacros/macros/utilizationForm"/> -<table class="zentable" cellpadding="3" cellspacing="1"> - <th class="tabletitle" colspan="6">All Monitored Components</th> +<form method="POST" tal:attributes="action request/URL; name string:deviceList" + tal:define="tabletitle string:Filesystem Utilization; + showfilterbox python:True; + tblcolspan string:6"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'deviceName','Device')"/> @@ -56,10 +61,14 @@ <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + </tal:block> +</tal:block> +</tal:block> Modified: trunk/Products/ZenReports/reports/Performance_Reports/Interface_Utilization.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/Interface_Utilization.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Performance_Reports/Interface_Utilization.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -17,7 +17,7 @@ <tal:block metal:use-macro="here/reportMacros/macros/utilizationForm"/> <form method="POST" tal:attributes="action request/URL; name string:deviceList" - tal:define="tabletitle string:Monitored Interfaces; + tal:define="tabletitle string:Interface Utilization; showfilterbox python:True; tblcolspan string:7"> <tal:block metal:use-macro="here/zenuimacros/macros/zentable"> Modified: trunk/Products/ZenReports/reports/Performance_Reports/Memory_Utilization.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/Memory_Utilization.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Performance_Reports/Memory_Utilization.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -20,8 +20,13 @@ <tal:block metal:use-macro="here/reportMacros/macros/utilizationForm"/> -<table class="zentable" cellpadding="3" cellspacing="1"> - <th class="tabletitle" colspan="6">All Monitored Components</th> +<form method="POST" tal:attributes="action request/URL; name string:deviceList" + tal:define="tabletitle string:Memory Utilization; + showfilterbox python:True; + tblcolspan string:6"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'device','Device')"/> @@ -53,10 +58,14 @@ <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + </tal:block> +</tal:block> +</tal:block> Modified: trunk/Products/ZenReports/reports/Performance_Reports/Threshold_Summary.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/Threshold_Summary.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/Performance_Reports/Threshold_Summary.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -38,8 +38,6 @@ <col/> <col width='30'/> </colgroup> - <tr><th class="tabletitle" colspan="6">All Monitored Components</th> - </tr> <tr><td colspan="6" class="tableheader"> <span class="tableheader">Start Date:</span> <input class="tablevalues" @@ -65,7 +63,18 @@ <td colspan='6'> <input class="tablevalues" type="Submit" value="Update"/> </td> - </tr><tr> + </tr> +</table> +</form> + +<form method="POST" tal:attributes="action request/URL;" + tal:define="tabletitle string:Threshold Summary; + showfilterbox python:True; + tblcolspan string:6"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + +<tr> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'deviceName','Device')"/> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( @@ -103,12 +112,14 @@ </tr> </tal:block> <tr> - <td colspan="0" class="tableheader" align='center'> + <td colspan="6" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> -</table> +</tal:block> +</tal:block> </form> + </tal:block> </tal:block> Modified: trunk/Products/ZenReports/reports/User_Reports/Notification_Schedules.rpt =================================================================== --- trunk/Products/ZenReports/reports/User_Reports/Notification_Schedules.rpt 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenReports/reports/User_Reports/Notification_Schedules.rpt 2007-04-27 02:17:22 UTC (rev 4907) @@ -16,8 +16,14 @@ <span metal:use-macro="here/miscmacros/macros/reportBreadCrumbsList"/> </tal:block> <tal:block metal:fill-slot="contentPane"> -<table class="zentable" cellpadding="3" cellspacing="1"> - <tr><th class="tabletitle" colspan="7">Notification Schedules</th><tr> + +<form method="get" tal:attributes="action request/URL;" + tal:define="tabletitle string:Notification Schedules; + showfilterbox python:True; + tblcolspan string:7"> +<tal:block metal:use-macro="here/zenuimacros/macros/zentable"> +<tal:block metal:fill-slot="zentablecontents"> + <tr class="tableheader"> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'getUserid','User')"/> @@ -54,14 +60,18 @@ </tr> </span> <tr> - <td colspan="7" class="tableheader" align='center'> - <form metal:use-macro="here/miscmacros/macros/navtool"></form> + <td colspan="6" class="tableheader" align='center'> + <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> -</table> + </tal:block> </tal:block> +</form> </tal:block> </tal:block> + +</tal:block> +</tal:block> </tal:block> \ No newline at end of file Modified: trunk/Products/ZenWidgets/ZenTableManager.py =================================================================== --- trunk/Products/ZenWidgets/ZenTableManager.py 2007-04-27 01:13:31 UTC (rev 4906) +++ trunk/Products/ZenWidgets/ZenTableManager.py 2007-04-27 02:17:22 UTC (rev 4907) @@ -145,18 +145,19 @@ def getBatch(self, tableName, objects, **keys): """Filter, sort and batch objects and pass return set. """ + if not objects: + objects = [] tableState = self.setupTableState(tableName, **keys) if tableState.onlyMonitored and objects: objects = [o for o in objects if o.monitored()] if tableState.filter and objects: objects = self.filterObjects(objects, tableState.filter, tableState.filterFields) + # objects is frequently a generator. Need a list in order to sort + if not isinstance(objects, list): + objects = list(objects) if tableState.sortedHeader: objects = self.sortObjects(objects, tableState) - else: - # objects needs to be list not generator. sortObjects() takes - # care of this for the other condition above. - objects = list(objects) tableState.totalobjs = len(objects) tableState.buildPageNavigation(objects) if not hasattr(self.REQUEST, 'doExport'): @@ -211,7 +212,10 @@ for obj in objects: target = [] for field in filterFields: - value = getattr(obj, field, None) + if isinstance(obj, dict): + value = obj.get(field, None) + else: + value = getattr(obj, field, None) if callable(value): value = value() if type(value) not in types.StringTypes: @@ -225,12 +229,26 @@ def sortObjects(self, objects, request): """Sort objects. """ + def dictAwareSort(objects, field, rule, sence): + if not objects: + return objects + class Wrapper: + def __init__(self, field, cargo): + self.field = field + self.cargo = cargo + if isinstance(objects[0], dict): + objects = [Wrapper(o.get(field, ''), o) for o in objects] + else: + objects = [Wrapper(getattr(o, field, ''), o) for o in objects] + objects = dictAwareSort(objects, (('field', rule, sence),)) + return [w.cargo for w in objects] + if (getattr(aq_base(request), 'sortedHeader', False) and getattr(aq_base(request),"sortedSence", False)): sortedHeader = request.sortedHeader sortedSence = request.sortedSence sortRule = getattr(aq_base(request), "sortRule", "cmp") - objects = sort(objects, ((sortedHeader, sortRule, sortedSence),)) + objects = mySort(objects, sortedHeader, sortRule, sortedSence) return objects |
From: <sv...@ze...> - 2007-04-27 01:13:31
|
Author: ian Date: 2007-04-26 21:13:31 -0400 (Thu, 26 Apr 2007) New Revision: 4906 Modified: trunk/Products/ZenWidgets/skins/zenui/javascript/zengrid.js Log: * Fixes #1292: Finally worked the kinks out of Ajax calls in ZenGrid Modified: trunk/Products/ZenWidgets/skins/zenui/javascript/zengrid.js =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/javascript/zengrid.js 2007-04-26 22:30:03 UTC (rev 4905) +++ trunk/Products/ZenWidgets/skins/zenui/javascript/zengrid.js 2007-04-27 01:13:31 UTC (rev 4906) @@ -59,116 +59,103 @@ this.size = 0; this.rows = new Array(); this.updating = false; - this.lastOffset = 0; - this.maxQuery = 300; + this.grid = null; + this.maxQuery = 50; this.totalRows = 0; this.numRows = 0; this.numCols = 0; - this.pageSize = 15; + this.pageSize = 10; this.bufferSize = 5; - this.marginFactor = 0.15; + this.marginFactor = 0.2; bindMethods(this); }, - setNumCols: function(n) {this.numCols = n;}, - setNumRows: function(n) {this.numRows = n;}, tolerance: function() { return parseInt(this.bufferSize * this.pageSize * this.marginFactor); }, endPos: function() {return this.startPos + this.rows.length;}, - closeToTop: function(pos) { - return pos - this.startPos < this.tolerance(); - }, - closeToBottom: function(pos) { - return this.endPos() - (pos + this.pageSize) < this.tolerance(); - }, - isNearLimit: function(pos) { - return (!this.isAtTop() && this.closeToTop(pos)) || - (!this.isAtBottom() && this.closeToBottom(pos)); - }, - isAtTop: function() { return this.startPos == 0; }, - isAtBottom: function() { return this.endPos() == this.numRows; }, - querySize: function(offset) { - var newOffset = this.queryOffset(offset); + querySize: function(newOffset) { var newSize = 0; - if (newOffset>=this.startPos) { - var endOffset = this.maxQuery + newOffset; - if (endOffset > this.numRows) - endOffset = this.totalRows; - newSize = endOffset - newOffset; - if(newOffset==0&&newSize<this.maxQuery){ - newSize = this.maxQuery; - } - } else { - var newSize = this.startPos - newOffset; - if (newSize > this.maxQuery) + if (newOffset >= this.startPos) { //appending + var endQueryOffset = this.maxQuery + this.grid.lastOffset; + newSize = endQueryOffset - newOffset; + if(newOffset==0 && newSize < this.maxQuery) newSize = this.maxQuery; + } else { // prepending + newSize = Math.min(this.startPos - newOffset, this.maxQuery); } - if (newSize > this.maxQuery) - newSize = this.maxQuery; return newSize; }, queryOffset: function(offset) { var newOffset = offset; - if (offset > this.startPos) { - newOffset = offset>this.endPos()?offset:this.endPos(); - } else { - if (offset + this.maxQuery>=this.startPos) { - newOffset = this.startPos - this.maxQuery; - if (newOffset<0) newOffset = 0; + var goingup = Math.abs(this.startPos - this.grid.lastOffset); + var goingdown = Math.abs(this.grid.lastOffset - this.endPos()); + var reverse = goingup < goingdown; + if (offset > this.startPos && !reverse){ + newOffset = Math.max(offset, this.endPos()); //appending + } + else if (offset > this.startPos && reverse) { + newOffset = Math.max(0, + offset - this.maxQuery + (2*this.tolerance())); + if (offset-newOffset-this.maxQuery<this.tolerance()) { + newOffset += this.tolerance() } + if (offset-newOffset-this.maxQuery<this.tolerance()) { + newOffset += (2*this.tolerance()); + } } - this.lastOffset = newOffset; + else if (offset + this.maxQuery >= this.startPos) { + newOffset = Math.max(this.startPos - this.maxQuery, 0); //prepending + + if (offset-newOffset-this.maxQuery<this.tolerance()) { + newOffset = Math.min(offset, newOffset + (2*this.tolerance())); + } + } return newOffset; }, getRows: function(start, count) { - var sPos = start - this.startPos; - var ePos = sPos + count; - if (ePos>this.size) ePos = this.size; + var bPos = start - this.startPos; + var ePos = Math.min(bPos+count, this.size); var results = new Array(); - var index = 0; - for( i = sPos; i<ePos; i++){ - results[index++] = this.rows[i] - }; + for (var i=bPos; i<ePos; i++) + results.push(this.rows[i]); return results; }, - loadRows: function(response) { - var rows = response; - return rows; + isInRange: function(start) { + var lastRow = Math.min(start + this.pageSize); + return (start >= this.startPos)&&(lastRow<=this.endPos())&&(this.size!=0); }, update: function(response, start) { - var newRows = this.loadRows(response); - if (this.rows.length == 0) { + var newRows = response; + if (newRows==null) return; + this.rcvdRows = newRows.length; + if (this.rows.length==0) { // initial load this.rows = newRows; - this.size = this.rows.length; - //this.startPos = start; - return; - } - if (start > this.startPos) { + this.startPos = start; + } else if (start > this.startPos) { // appending if (this.startPos + this.rows.length < start) { - this.rows = newRows; + this.rows = newRows; this.startPos = start; - } else { - this.rows = this.rows.concat( newRows.slice(0, newRows.length)); - if (this.rows.length > this.maxQuery) { + } else { + this.rows = this.rows.concat( newRows.slice(0, newRows.length)); + if (this.rows.length > this.maxQuery) { var fullSize = this.rows.length; - this.rows = this.rows.slice(this.rows.length - - this.maxQuery, this.rows.length); - this.startPos = this.startPos + (fullSize - this.rows.length); - } - } - } else { - if (start + newRows.length < this.startPos) { - this.rows = newRows; - } else { - this.rows = newRows.slice(0, this.startPos).concat(this.rows); - if (this.rows.length > this.maxQuery) - this.rows = this.rows.slice(0, this.maxQuery) - } - this.startPos = start; - } - this.size = this.rows.length; - //this.startPos = start; - + this.rows = this.rows.slice( + this.rows.length - this.maxQuery, this.rows.length + ); + this.startPos = this.startPos + (fullSize - this.rows.length); + } + } + } else { //prepending + if (start + newRows.length < this.startPos) { + this.rows = newRows; + } else { + this.rows = newRows.slice(0, this.startPos).concat(this.rows); + if (this.maxQuery && this.rows.length > this.maxQuery) + this.rows = this.rows.slice(0, this.maxQuery) + } + this.startPos = start; + } + this.size = this.rows.length; }, clear: function() { this.rows = new Array(); @@ -188,6 +175,7 @@ this.container = $(container); this.gridId = gridId; this.buffer = buffer; + this.buffer.grid = this; this.numRows = 10; this.rowHeight = 32; this.checkedArray = new Array(); @@ -308,41 +296,52 @@ this.buffer.clear(); if (offset) this.lastOffset = offset; this.url = url || this.url; - //this.clearFirst = true; update(this.lastparams, params); this.refreshTable(this.lastOffset); }, query: function(offset) { var url = this.url || 'getJSONEventsInfo'; this.lastOffset = offset; + bufOffset = this.buffer.queryOffset(offset); + bufSize = this.buffer.querySize(bufOffset); var qs = update(this.lastparams, { - 'offset': this.buffer.queryOffset(offset), - //'fields:list': this.fieldnames, - 'count': this.buffer.querySize(offset), + 'offset': bufOffset, + 'count': bufSize, 'getTotalCount': 1 }); var d = loadJSONDoc(url, qs); d.addErrback(function(x) { log("BROKEN! " + x)}); d.addCallback( bind(function(r) { - result = r; //evalJSON(r.responseText); // For POST + result = r; this.buffer.totalRows = result[1]; this.setScrollHeight(this.rowToPixel(this.buffer.totalRows)); - this.buffer.update(result[0], offset); + this.buffer.update(result[0], bufOffset); this.lock.release(); }, this)); }, refreshTable: function(offset) { this.showLoading(); - var offset = offset || this.lastOffset; + var lastOffset = this.lastOffset; + this.lastOffset = offset; this.scrollbar.scrollTop = this.rowToPixel(offset); - if (offset + this.numRows > this.buffer.startPos + this.buffer.size || - offset < this.buffer.startPos - this.numRows) { - d = this.lock.acquire(); - d.addCallback(bind(function() { - this.query(offset); - }, this)); - }; + var inRange = this.buffer.isInRange(offset); + if (inRange) { + this.populateTable(this.buffer.getRows(offset, this.numRows)); + if (offset > lastOffset) { + if (offset+this.buffer.pageSize < + this.buffer.endPos()-this.buffer.tolerance()) return; + } else if (offset < lastOffset) { + if (offset > this.buffer.startPos + this.buffer.tolerance()) + return; + if (this.buffer.startPos==0) return; + } else return; + } + if (offset >= this.buffer.totalRows && this.buffer.rcvdRows) return; + d = this.lock.acquire(); + d.addCallback(bind(function() { + this.query(offset); + }, this)); popLock = this.lock.acquire(); popLock.addCallback(bind(function() { this.lock.release(); @@ -731,7 +730,7 @@ showLoading: function() { clearTimeout(this.isLoading); var isIE//@cc_on=1; - if(isIE) createLoggingPane(); + //if(isIE) createLoggingPane(); // //this.isLoading = setTimeout( bind(function() { // //var p = this.getViewportCenter(); // var d = getElementDimensions(this.loadingbox); |
From: <sv...@ze...> - 2007-04-26 22:30:07
|
Author: jstevens Date: 2007-04-26 18:30:03 -0400 (Thu, 26 Apr 2007) New Revision: 4905 Modified: trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt Log: previous edit was crashing badly Modified: trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt 2007-04-26 22:25:22 UTC (rev 4904) +++ trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt 2007-04-26 22:30:03 UTC (rev 4905) @@ -1,6 +1,7 @@ <tal:block metal:use-macro="here/templates/macros/page2"> <tal:block metal:fill-slot="contentPane" - tal:define="editable python:here.isEditable(here)"> + tal:define="editable python:here.isEditable(here); + templ nocall:here;"> <form method="POST" tal:attributes="action here/absolute_url_path"> <input type="hidden" name="zenScreenName" tal:attributes="value template/id"/> |
From: <sv...@ze...> - 2007-04-26 22:25:20
|
Author: marc Date: 2007-04-26 18:25:22 -0400 (Thu, 26 Apr 2007) New Revision: 4904 Modified: trunk/Products/ZenEvents/Availability.py Log: #1328 * fixed method call Modified: trunk/Products/ZenEvents/Availability.py =================================================================== --- trunk/Products/ZenEvents/Availability.py 2007-04-26 22:23:14 UTC (rev 4903) +++ trunk/Products/ZenEvents/Availability.py 2007-04-26 22:25:22 UTC (rev 4904) @@ -163,7 +163,7 @@ result = [] for (d, c), v in devices.items(): dev = deviceLookup.get(d, None) - sys = (dev and dev.getSystemNamesString()) or '' + sys = (dev and dev.getSystemNames()) or '' result.append( Availability(d, c, v, total, sys) ) # add in the devices that have the component, but no events if self.component: |
From: <sv...@ze...> - 2007-04-26 22:23:13
|
Author: marc Date: 2007-04-26 18:23:14 -0400 (Thu, 26 Apr 2007) New Revision: 4903 Modified: trunk/Products/ZenEvents/ActionRuleWindow.py trunk/Products/ZenEvents/EventClass.py trunk/Products/ZenEvents/EventClassInst.py trunk/Products/ZenEvents/EventManagerBase.py trunk/Products/ZenModel/CPU.py trunk/Products/ZenModel/Classifier.py trunk/Products/ZenModel/DataRoot.py trunk/Products/ZenModel/Device.py trunk/Products/ZenModel/DeviceOrganizer.py trunk/Products/ZenModel/ExpansionCard.py trunk/Products/ZenModel/FileSystem.py trunk/Products/ZenModel/HardDisk.py trunk/Products/ZenModel/HardwareClass.py trunk/Products/ZenModel/IpInterface.py trunk/Products/ZenModel/IpNetwork.py trunk/Products/ZenModel/IpService.py trunk/Products/ZenModel/IpServiceClass.py trunk/Products/ZenModel/MaintenanceWindow.py trunk/Products/ZenModel/Manufacturer.py trunk/Products/ZenModel/ManufacturerRoot.py trunk/Products/ZenModel/MibModule.py trunk/Products/ZenModel/MibNode.py trunk/Products/ZenModel/MibNotification.py trunk/Products/ZenModel/MibOrganizer.py trunk/Products/ZenModel/NagiosCmd.py trunk/Products/ZenModel/NagiosTemplate.py trunk/Products/ZenModel/OSProcess.py trunk/Products/ZenModel/OSProcessClass.py trunk/Products/ZenModel/OSProcessOrganizer.py trunk/Products/ZenModel/OperatingSystem.py trunk/Products/ZenModel/PerformanceConf.py trunk/Products/ZenModel/ProductClass.py trunk/Products/ZenModel/ServiceClass.py trunk/Products/ZenModel/ServiceOrganizer.py trunk/Products/ZenModel/Software.py trunk/Products/ZenModel/SoftwareClass.py trunk/Products/ZenModel/StatusMonitorConf.py trunk/Products/ZenModel/System.py trunk/Products/ZenModel/UserCommand.py trunk/Products/ZenModel/WinService.py trunk/Products/ZenModel/migrate/menus.py Log: #1312 * Added and renamed tabs and menu items Modified: trunk/Products/ZenEvents/ActionRuleWindow.py =================================================================== --- trunk/Products/ZenEvents/ActionRuleWindow.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenEvents/ActionRuleWindow.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -47,7 +47,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenEvents/EventClass.py =================================================================== --- trunk/Products/ZenEvents/EventClass.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenEvents/EventClass.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -81,6 +81,12 @@ 'immediate_view' : 'eventClassStatus', 'actions' : ( +# { 'id' : 'events' +# , 'name' : 'Events' +# , 'action' : 'viewEvents' +# , 'permissions' : ( +# Permissions.view, ) +# }, { 'id' : 'classes' , 'name' : 'Classes' , 'action' : 'eventClassStatus' @@ -93,12 +99,6 @@ , 'permissions' : ( Permissions.view, ) }, - { 'id' : 'events' - , 'name' : 'Events' - , 'action' : 'viewEvents' - , 'permissions' : ( - Permissions.view, ) - }, { 'id' : 'historyEvents' , 'name' : 'History' , 'action' : 'viewHistoryEvents' @@ -110,6 +110,12 @@ , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenEvents/EventClassInst.py =================================================================== --- trunk/Products/ZenEvents/EventClassInst.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenEvents/EventClassInst.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -133,11 +133,11 @@ , 'action' : 'viewHistoryEvents' , 'permissions' : (Permissions.view, ) }, - #{ 'id' : 'viewHistory' - #, 'name' : 'Changes' - #, 'action' : 'viewHistory' - #, 'permissions' : (Permissions.view, ) - #}, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : (Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenEvents/EventManagerBase.py =================================================================== --- trunk/Products/ZenEvents/EventManagerBase.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenEvents/EventManagerBase.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -225,7 +225,7 @@ , 'permissions' : ( "Manage DMD", ) }, { 'id' : 'changes' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) }, @@ -265,16 +265,13 @@ def getEventListME(self, me, **kwargs): where = self.lookupManagedEntityWhere(me) - try: - resultFields = kwargs['resultFields']; del kwargs['resultFields'] - except KeyError: - resultFields = self.lookupManagedEntityResultFields(me.event_key) - return self.getEventList(resultFields=resultFields,where=where,**kwargs) + resultfields = self.lookupManagedEntityResultFields(me.event_key) + return self.getEventList(resultFields=resultfields,where=where,**kwargs) def getEventList(self, resultFields=[], where="", orderby="", severity=None, state=0, startdate=None, enddate=None, offset=0, rows=0, - getTotalCount=False, filter="", **kwargs): + getTotalCount=False, filter=""): """see IEventList. """ try: @@ -308,7 +305,7 @@ select.append("order by") select.append(orderby) if rows: - select.append("limit %s, %s" % (offset, rows)) + select.append("limit %d, %d" % (offset, rows)) select.append(';') select = " ".join(select) if getTotalCount: @@ -633,7 +630,7 @@ def getAvailability(self, state, **kw): import Availability - for name in "device", "component", "eventClass", "systems": + for name in "device", "component", "eventClass": if hasattr(state, name): kw.setdefault(name, getattr(state, name)) try: @@ -939,33 +936,43 @@ REQUEST.RESPONSE.setHeader("Pragma", "no-cache") return info + security.declareProtected('View','getJSONHistoryEventsInfo') + def getJSONHistoryEventsInfo(self, **kwargs): + kwargs['history'] = True + return self.getJSONEventsInfo(**kwargs) + security.declareProtected('View','getJSONEventsInfo') - def getJSONEventsInfo(self, context, offset=0, count=50, + def getJSONEventsInfo(self, offset=0, count=50, fields=[], getTotalCount=True, - startdate=None, enddate=None, filter='', severity=2, state=1, - orderby='', **kwargs): - """ Event data in JSON format. + orderby='', history=False, REQUEST=None): """ - fields = self.lookupManagedEntityResultFields(context.event_key) - data, totalCount = self.getEventListME(context, - offset=offset, rows=count, resultFields=fields, - getTotalCount=getTotalCount, filter=filter, severity=severity, - state=state, orderby=orderby, startdate=startdate, enddate=enddate) + Event data in JSON format. + """ + argnames = 'offset count getTotalCount filter severity state orderby'.split() + myargs = {} + for arg in argnames: + try: + try: myargs[arg] = int(REQUEST[arg]) + except ValueError: myargs[arg] = REQUEST[arg] + except KeyError: myargs[arg] = eval(arg) + myargs['rows'] = myargs['count']; del myargs['count'] + if myargs['orderby']=='count': myargs['orderby']=='rows'; + if not fields: fields = self.defaultResultFields + if history: data, totalCount = self.dmd.ZenEventHistory.getEventList(**myargs) + else: data, totalCount = self.getEventList(**myargs) results = [x.getDataForJSON(fields) + [x.getCssClass()] for x in data] return simplejson.dumps((results, totalCount)) - security.declareProtected('View','getJSONFields') - def getJSONFields(self, context): - fields = self.lookupManagedEntityResultFields(context.event_key) + def getJSONFields(self, fields=[]): + if not fields: fields = self.defaultResultFields lens = map(self.getAvgFieldLength, fields) total = sum(lens) lens = map(lambda x:x/total*100, lens) zipped = zip(fields, lens) return simplejson.dumps(zipped) - def getAvgFieldLength(self, fieldname): conn = self.connect() try: @@ -1183,7 +1190,6 @@ ''' eventDict = dict( summary = REQUEST['summary'], - message = REQUEST['message'], device = REQUEST['device'], component = REQUEST['component'], severity = REQUEST['severity'], Modified: trunk/Products/ZenModel/CPU.py =================================================================== --- trunk/Products/ZenModel/CPU.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/CPU.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""CPU @@ -70,7 +63,7 @@ , 'permissions' : ('View',) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/Classifier.py =================================================================== --- trunk/Products/ZenModel/Classifier.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/Classifier.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""Classifier @@ -60,7 +53,7 @@ permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/DataRoot.py =================================================================== --- trunk/Products/ZenModel/DataRoot.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/DataRoot.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -146,7 +146,7 @@ , 'permissions' : ( "Manage DMD", ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) @@ -223,9 +223,13 @@ def checkValidId(self, new_id): """Checks a valid id""" + test_id = unquote(new_id) try: - checkValidId(self, unquote(new_id)) - return True + checkValidId(self, test_id) + if getattr(self, test_id, False): + return 'The id "%s" id already being used.' % test_id + else: + return True except: return str(sys.exc_info()[1]) Modified: trunk/Products/ZenModel/Device.py =================================================================== --- trunk/Products/ZenModel/Device.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/Device.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -320,7 +320,7 @@ # , 'permissions' : (permissions.view,) # }, # { 'id' : 'viewHistory' -# , 'name' : 'Changes' +# , 'name' : 'Modifications' # , 'action' : 'viewHistory' # , 'permissions' : (permissions.view, ) # }, @@ -590,12 +590,6 @@ return map(lambda x: x.getOrganizerName(), self.systems()) - security.declareProtected('View', 'getSystemNamesString') - def getSystemNamesString(self, sep=', '): - """get the system names for this device as a string""" - return sep.join(self.getSystemNames()) - - security.declareProtected('View', 'getDeviceGroupNames') def getDeviceGroupNames(self): """get the device group names for this device""" Modified: trunk/Products/ZenModel/DeviceOrganizer.py =================================================================== --- trunk/Products/ZenModel/DeviceOrganizer.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/DeviceOrganizer.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -66,13 +66,13 @@ , 'permissions' : ( permissions.view, ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'deviceOrganizerManage' -# , 'permissions' : ('Manage DMD',) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'deviceOrganizerManage' + , 'permissions' : ('Manage DMD',) + }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/ExpansionCard.py =================================================================== --- trunk/Products/ZenModel/ExpansionCard.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/ExpansionCard.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""ExpansionCard @@ -63,7 +56,7 @@ , 'permissions' : ('View',) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/FileSystem.py =================================================================== --- trunk/Products/ZenModel/FileSystem.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/FileSystem.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""FileSystem @@ -96,7 +89,7 @@ #, 'permissions' : ("Change Device", ) #}, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/HardDisk.py =================================================================== --- trunk/Products/ZenModel/HardDisk.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/HardDisk.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""HardDisk @@ -82,7 +75,7 @@ # , 'permissions' : ("Change Device", ) # }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/HardwareClass.py =================================================================== --- trunk/Products/ZenModel/HardwareClass.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/HardwareClass.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""HardwareClass @@ -61,7 +54,7 @@ # permissions.view, ) # }, # { 'id' : 'viewHistory' -# , 'name' : 'Changes' +# , 'name' : 'Modifications' # , 'action' : 'viewHistory' # , 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/IpInterface.py =================================================================== --- trunk/Products/ZenModel/IpInterface.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/IpInterface.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""IpInterface @@ -129,7 +122,7 @@ # , 'permissions' : ("Change Device", ) # }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ('View',) }, Modified: trunk/Products/ZenModel/IpNetwork.py =================================================================== --- trunk/Products/ZenModel/IpNetwork.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/IpNetwork.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -113,7 +113,7 @@ , 'permissions' : ("Manage DMD",) }, # { 'id' : 'viewHistory' -# , 'name' : 'Changes' +# , 'name' : 'Modifications' # , 'action' : 'viewHistory' # , 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/IpService.py =================================================================== --- trunk/Products/ZenModel/IpService.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/IpService.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -86,17 +86,17 @@ , 'permissions' : ( Permissions.view, ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'ipServiceManage' -# , 'permissions' : ("Manage DMD",) -# }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'ipServiceManage' + , 'permissions' : ("Manage DMD",) + }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/IpServiceClass.py =================================================================== --- trunk/Products/ZenModel/IpServiceClass.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/IpServiceClass.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -69,22 +69,22 @@ , 'action' : 'ipServiceClassEdit' , 'permissions' : ("Manage DMD", ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'ipServiceClassManage' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'ipServiceClassManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/MaintenanceWindow.py =================================================================== --- trunk/Products/ZenModel/MaintenanceWindow.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/MaintenanceWindow.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2006 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""MaintenanceWindow @@ -106,7 +99,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/Manufacturer.py =================================================================== --- trunk/Products/ZenModel/Manufacturer.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/Manufacturer.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -97,7 +97,7 @@ , 'permissions' : ("Manage DMD",) }, # { 'id' : 'viewHistory' -# , 'name' : 'Changes' +# , 'name' : 'Modifications' # , 'action' : 'viewHistory' # , 'permissions' : (permissions.view, ) # }, Modified: trunk/Products/ZenModel/ManufacturerRoot.py =================================================================== --- trunk/Products/ZenModel/ManufacturerRoot.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/ManufacturerRoot.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""ManufacturerRoot @@ -80,7 +73,7 @@ permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/MibModule.py =================================================================== --- trunk/Products/ZenModel/MibModule.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/MibModule.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2006 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# from Globals import InitializeClass from AccessControl import ClassSecurityInfo @@ -55,7 +48,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/MibNode.py =================================================================== --- trunk/Products/ZenModel/MibNode.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/MibNode.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2006 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# from Globals import InitializeClass from AccessControl import ClassSecurityInfo @@ -44,7 +37,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/MibNotification.py =================================================================== --- trunk/Products/ZenModel/MibNotification.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/MibNotification.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2006 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# from Globals import InitializeClass from AccessControl import ClassSecurityInfo @@ -44,7 +37,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/MibOrganizer.py =================================================================== --- trunk/Products/ZenModel/MibOrganizer.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/MibOrganizer.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2006 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# import types @@ -24,7 +17,6 @@ from Organizer import Organizer from MibModule import MibModule -from ZenPackable import ZenPackable def manage_addMibOrganizer(context, id, REQUEST = None): """make a device class""" @@ -37,7 +29,7 @@ addMibOrganizer = DTMLFile('dtml/addMibOrganizer',globals()) -class MibOrganizer(Organizer, ZenPackable): +class MibOrganizer(Organizer): """ DeviceOrganizer is the base class for device organizers. It has lots of methods for rolling up device statistics and information. @@ -48,7 +40,7 @@ security = ClassSecurityInfo() - _relations = Organizer._relations + ZenPackable._relations + ( + _relations = Organizer._relations + ( ("mibs", ToManyCont(ToOne,"Products.ZenModel.MibModule","miborganizer")), ) @@ -65,7 +57,7 @@ , 'permissions' : ( Permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/NagiosCmd.py =================================================================== --- trunk/Products/ZenModel/NagiosCmd.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/NagiosCmd.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2006 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# import os @@ -62,7 +55,7 @@ , 'action' : 'editNagiosCmd' , 'permissions' : ( Permissions.view, ) }, - { 'name' : 'Changes' + { 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/NagiosTemplate.py =================================================================== --- trunk/Products/ZenModel/NagiosTemplate.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/NagiosTemplate.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2006 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# from Globals import InitializeClass from AccessControl import ClassSecurityInfo @@ -71,7 +64,7 @@ , 'action' : 'viewNagiosTemplate' , 'permissions' : ( Permissions.view, ) }, - { 'name' : 'Changes' + { 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) }, Modified: trunk/Products/ZenModel/OSProcess.py =================================================================== --- trunk/Products/ZenModel/OSProcess.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/OSProcess.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -76,16 +76,16 @@ # , 'action' : 'objRRDTemplate' # , 'permissions' : ("Change Device", ) # }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'osProcessManage' -# , 'permissions' : ("Manage DMD",) -# }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( Permissions.view, ) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'osProcessManage' + , 'permissions' : ("Manage DMD",) + }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/OSProcessClass.py =================================================================== --- trunk/Products/ZenModel/OSProcessClass.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/OSProcessClass.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -76,22 +76,22 @@ , 'action' : 'osProcessClassEdit' , 'permissions' : ("Manage DMD", ) }, - #{ 'id' : 'manage' - #, 'name' : 'Manage' - #, 'action' : 'osProcessClassManage' - #, 'permissions' : ("Manage DMD",) - #}, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'osProcessClassManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/OSProcessOrganizer.py =================================================================== --- trunk/Products/ZenModel/OSProcessOrganizer.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/OSProcessOrganizer.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -72,22 +72,22 @@ , 'permissions' : ( Permissions.view, ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'osProcessOrganizerManage' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'osProcessOrganizerManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/OperatingSystem.py =================================================================== --- trunk/Products/ZenModel/OperatingSystem.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/OperatingSystem.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# import logging log = logging.getLogger("zen.OS") @@ -115,7 +108,7 @@ , 'permissions' : (permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : '../viewHistory' , 'permissions' : (permissions.view, ) }, Modified: trunk/Products/ZenModel/PerformanceConf.py =================================================================== --- trunk/Products/ZenModel/PerformanceConf.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/PerformanceConf.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -135,7 +135,7 @@ # , 'permissions' : ("Manage DMD",) # }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/ProductClass.py =================================================================== --- trunk/Products/ZenModel/ProductClass.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/ProductClass.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""ProductClass @@ -80,7 +73,7 @@ , 'permissions' : ("Manage DMD",) }, #{ 'id' : 'viewHistory' - #, 'name' : 'Changes' + #, 'name' : 'Modifications' #, 'action' : 'viewHistory' #, 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/ServiceClass.py =================================================================== --- trunk/Products/ZenModel/ServiceClass.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/ServiceClass.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -92,22 +92,22 @@ , 'action' : 'serviceClassEdit' , 'permissions' : ("Manage DMD", ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'serviceClassManage' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'serviceClassManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/ServiceOrganizer.py =================================================================== --- trunk/Products/ZenModel/ServiceOrganizer.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/ServiceOrganizer.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -71,22 +71,22 @@ , 'permissions' : ( Permissions.view, ) }, -# { 'id' : 'manage' -# , 'name' : 'Manage' -# , 'action' : 'serviceOrganizerManage' -# , 'permissions' : ("Manage DMD",) -# }, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'serviceOrganizerManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'zproperties' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + Permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/Software.py =================================================================== --- trunk/Products/ZenModel/Software.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/Software.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""Software @@ -76,7 +69,7 @@ permissions.view, ) }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/SoftwareClass.py =================================================================== --- trunk/Products/ZenModel/SoftwareClass.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/SoftwareClass.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2002 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__="""SoftwareClass @@ -69,7 +62,7 @@ # permissions.view, ) # }, # { 'id' : 'viewHistory' -# , 'name' : 'Changes' +# , 'name' : 'Modifications' # , 'action' : 'viewHistory' # , 'permissions' : ( # permissions.view, ) Modified: trunk/Products/ZenModel/StatusMonitorConf.py =================================================================== --- trunk/Products/ZenModel/StatusMonitorConf.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/StatusMonitorConf.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -107,7 +107,7 @@ # , 'permissions' : ("Manage DMD",) # }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( permissions.view, ) Modified: trunk/Products/ZenModel/System.py =================================================================== --- trunk/Products/ZenModel/System.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/System.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -106,17 +106,17 @@ , 'permissions' : ( permissions.view, ) }, - #{ 'id' : 'manage' - #, 'name' : 'Manage' - #, 'action' : 'deviceOrganizerManage' - #, 'permissions' : ('Manage DMD',) - #}, - #{ 'id' : 'viewHistory' - #, 'name' : 'Changes' - #, 'action' : 'viewHistory' - #, 'permissions' : ( - # permissions.view, ) - #}, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'deviceOrganizerManage' + , 'permissions' : ('Manage DMD',) + }, + { 'id' : 'viewHistory' + , 'name' : 'Modifications' + , 'action' : 'viewHistory' + , 'permissions' : ( + permissions.view, ) + }, ) }, ) Modified: trunk/Products/ZenModel/UserCommand.py =================================================================== --- trunk/Products/ZenModel/UserCommand.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/UserCommand.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -58,7 +58,7 @@ 'permissions' : ( Permissions.view, ), }, { 'id' : 'viewHistory', - 'name' : 'Changes', + 'name' : 'Modifications', 'action' : 'viewHistory', 'permissions' : ( Permissions.view, ), } Modified: trunk/Products/ZenModel/WinService.py =================================================================== --- trunk/Products/ZenModel/WinService.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/WinService.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -69,13 +69,13 @@ , 'permissions' : ( Permissions.view, ) }, - #{ 'id' : 'manage' - #, 'name' : 'Manage' - #, 'action' : 'winServiceManage' - #, 'permissions' : ("Manage DMD",) - #}, + { 'id' : 'manage' + , 'name' : 'Manage' + , 'action' : 'winServiceManage' + , 'permissions' : ("Manage DMD",) + }, { 'id' : 'viewHistory' - , 'name' : 'Changes' + , 'name' : 'Modifications' , 'action' : 'viewHistory' , 'permissions' : ( Permissions.view, ) Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-04-26 22:13:03 UTC (rev 4902) +++ trunk/Products/ZenModel/migrate/menus.py 2007-04-26 22:23:14 UTC (rev 4903) @@ -111,12 +111,9 @@ 'More':[ dict(action='viewHistory', allowed_classes=['Device', - 'DeviceClass', - 'EventClass', - 'EventClassInst', - 'DeviceOrganizer',], - description='Changes', - ordering=99.0, + 'DeviceClass',], + description='Modifications', + ordering=2.0, id='viewHistory', permissions=('Change Device',) ), @@ -192,84 +189,28 @@ ), dict(action='deviceManagement', allowed_classes=['Device'], - description='Manage', + description='Administration', ordering=70.0, id='deviceManagement', permissions=('Change Device',) ), dict(action='../deviceManagement', allowed_classes=['OperatingSystem'], - description='Manage', + description='Administration', ordering=70.0, id='deviceManagement_os', permissions=('Change Device',) ), - dict(action='serviceOrganizerManage', - allowed_classes=['ServiceOrganizer'], - description='Manage', - ordering=70.0, - id='serviceOrganizerManage', - permissions=('Manage DMD',) - ), - dict(action='osProcessOrganizerManage', - allowed_classes=['OSProcessOrganizer'], - description='Manage', - ordering=70.0, - id='osProcessOrganize... [truncated message content] |
From: <sv...@ze...> - 2007-04-26 22:13:04
|
Author: edahl Date: 2007-04-26 18:13:03 -0400 (Thu, 26 Apr 2007) New Revision: 4902 Added: trunk/Products/ZenReports/reports/Device_Reports/Software_Inventory.rpt Modified: trunk/Products/ZenReports/plugins/swinventory.py Log: * new software inventory report Modified: trunk/Products/ZenReports/plugins/swinventory.py =================================================================== --- trunk/Products/ZenReports/plugins/swinventory.py 2007-04-26 21:44:00 UTC (rev 4901) +++ trunk/Products/ZenReports/plugins/swinventory.py 2007-04-26 22:13:03 UTC (rev 4902) @@ -12,8 +12,8 @@ print m.id, p.id, p.instances.countObjects() report.append( Utils.Record( - mname = m.id, - swname = p.id, + manuf = m, + soft = p, count = p.instances.countObjects() ) ) Added: trunk/Products/ZenReports/reports/Device_Reports/Software_Inventory.rpt |
From: <sv...@ze...> - 2007-04-26 21:44:04
|
Author: jstevens Date: 2007-04-26 17:44:00 -0400 (Thu, 26 Apr 2007) New Revision: 4901 Modified: trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt Log: fixes #1327 * fixes problem with graph datapoint display and multiple perf templates Modified: trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt 2007-04-26 21:27:23 UTC (rev 4900) +++ trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt 2007-04-26 21:44:00 UTC (rev 4901) @@ -278,9 +278,7 @@ </td> <td> <tal:block tal:repeat="ds graph/dsnames"> - <tal:block tal:define="templ python:(hasattr(here, 'getRRDTemplate') and here.getRRDTemplate()) or here"> - <tal:block tal:replace="ds" /><tal:block tal:condition="python: ds not in templ.getRRDDataPointNames()"><span class='errorvalues'> (invalid)</span></tal:block><tal:block tal:condition="not: repeat/ds/end">, </tal:block> - </tal:block> + <tal:block tal:replace="ds" /><tal:block tal:condition="python: ds not in templ.getRRDDataPointNames()"><span class='errorvalues'> (invalid)</span></tal:block><tal:block tal:condition="not: repeat/ds/end">, </tal:block> </tal:block> </td> <td tal:content="graph/units"/> |
From: <sv...@ze...> - 2007-04-26 21:27:22
|
Author: marc Date: 2007-04-26 17:27:23 -0400 (Thu, 26 Apr 2007) New Revision: 4900 Modified: trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt Log: #1313 * Change "Edit" menu to "More" Modified: trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-04-26 21:25:57 UTC (rev 4899) +++ trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-04-26 21:27:23 UTC (rev 4900) @@ -2,7 +2,7 @@ tal:condition="python:hasattr(here, 'getMenus')"> <div class="menu" tal:define=" - menu_ids menu_ids | python:['Edit','Actions', 'Add', 'Manage']; + menu_ids menu_ids | python:['Actions', 'Add', 'Manage', 'More']; basepath here/absolute_url_path" tal:condition="python:here.getMenus(menu_ids, here)"> <div tal:attributes="id string:contextmenu_btn"> |
From: <sv...@ze...> - 2007-04-26 21:25:55
|
Author: edahl Date: 2007-04-26 17:25:57 -0400 (Thu, 26 Apr 2007) New Revision: 4899 Modified: trunk/Products/ZenEvents/EventClass.py trunk/Products/ZenModel/DeviceClass.py Log: * put event tabs back Modified: trunk/Products/ZenEvents/EventClass.py =================================================================== --- trunk/Products/ZenEvents/EventClass.py 2007-04-26 21:25:20 UTC (rev 4898) +++ trunk/Products/ZenEvents/EventClass.py 2007-04-26 21:25:57 UTC (rev 4899) @@ -81,12 +81,6 @@ 'immediate_view' : 'eventClassStatus', 'actions' : ( -# { 'id' : 'events' -# , 'name' : 'Events' -# , 'action' : 'viewEvents' -# , 'permissions' : ( -# Permissions.view, ) -# }, { 'id' : 'classes' , 'name' : 'Classes' , 'action' : 'eventClassStatus' @@ -99,6 +93,12 @@ , 'permissions' : ( Permissions.view, ) }, + { 'id' : 'events' + , 'name' : 'Events' + , 'action' : 'viewEvents' + , 'permissions' : ( + Permissions.view, ) + }, { 'id' : 'historyEvents' , 'name' : 'History' , 'action' : 'viewHistoryEvents' @@ -110,12 +110,6 @@ , 'action' : 'zPropertyEdit' , 'permissions' : ("Change Device",) }, -# { 'id' : 'viewHistory' -# , 'name' : 'Changes' -# , 'action' : 'viewHistory' -# , 'permissions' : ( -# Permissions.view, ) -# }, ) }, ) Modified: trunk/Products/ZenModel/DeviceClass.py =================================================================== --- trunk/Products/ZenModel/DeviceClass.py 2007-04-26 21:25:20 UTC (rev 4898) +++ trunk/Products/ZenModel/DeviceClass.py 2007-04-26 21:25:57 UTC (rev 4899) @@ -115,16 +115,16 @@ , 'action' : 'viewEvents' , 'permissions' : ( permissions.view, ) }, + { 'id' : 'historyEvents' + , 'name' : 'History' + , 'action' : 'viewHistoryEvents' + , 'permissions' : ( permissions.view, ) + }, { 'id' : 'config' , 'name' : 'zProperties' , 'action' : 'zPropertyEdit' , 'permissions' : (permissions.view,) }, -# { 'id' : 'historyEvents' -# , 'name' : 'History' -# , 'action' : 'viewHistoryEvents' -# , 'permissions' : ( permissions.view, ) -# }, ) }, ) |
From: <sv...@ze...> - 2007-04-26 21:25:18
|
Author: edahl Date: 2007-04-26 17:25:20 -0400 (Thu, 26 Apr 2007) New Revision: 4898 Modified: trunk/Products/ZenEvents/Event.py trunk/Products/ZenEvents/EventServer.py Log: * YIKES! there was a DNS lookup everytime an event was created! Modified: trunk/Products/ZenEvents/Event.py =================================================================== --- trunk/Products/ZenEvents/Event.py 2007-04-26 21:24:05 UTC (rev 4897) +++ trunk/Products/ZenEvents/Event.py 2007-04-26 21:25:20 UTC (rev 4898) @@ -80,7 +80,6 @@ self._action = "status" self._fields = kwargs.get('fields',[]) self.eventKey = '' - self.manager = socket.getfqdn() if kwargs: self.updateFromDict(kwargs) Modified: trunk/Products/ZenEvents/EventServer.py =================================================================== --- trunk/Products/ZenEvents/EventServer.py 2007-04-26 21:24:05 UTC (rev 4897) +++ trunk/Products/ZenEvents/EventServer.py 2007-04-26 21:25:20 UTC (rev 4898) @@ -69,7 +69,8 @@ ZCmdBase.__init__(self, keeproot=True) self.stats = Stats() self.zem = self.dmd.ZenEventManager - self.sendEvent(Event(device=socket.getfqdn(), + self.myfqdn = socket.getfqdn() + self.sendEvent(Event(device=self.myfqdn, eventClass=App_Start, summary="%s started" % self.name, severity=0, @@ -109,6 +110,7 @@ def sendEvent(self, evt): "wrapper for sending an event" self.zem._p_jar.sync() + evt.manager = self.myfqdn self.zem.sendEvent(evt) @@ -124,7 +126,7 @@ """Since we don't do anything on a regular basis, just push heartbeats regularly""" seconds = 10 - evt = EventHeartbeat(socket.getfqdn(), self.name, 3*seconds) + evt = EventHeartbeat(self.myfqdn, self.name, 3*seconds) self.q.put(evt) reactor.callLater(seconds, self.heartbeat) @@ -153,7 +155,7 @@ 'things to do at shutdown: thread cleanup, logs and events' self.q.put(None) self.report() - self.sendEvent(Event(device=socket.getfqdn(), + self.sendEvent(Event(device=self.myfqdn, eventClass=App_Stop, summary="%s stopped" % self.name, severity=4, |
From: <sv...@ze...> - 2007-04-26 21:24:05
|
Author: marc Date: 2007-04-26 17:24:05 -0400 (Thu, 26 Apr 2007) New Revision: 4897 Modified: trunk/Products/ZenModel/migrate/deviceTemplatesProperty.py trunk/Products/ZenModel/migrate/evenbetterstandarderrormessage.py trunk/Products/ZenModel/migrate/eventclassmapping.py trunk/Products/ZenModel/migrate/menus.py trunk/Products/ZenModel/migrate/packs.py trunk/Products/ZenModel/migrate/zCollectorPlugins.py trunk/Products/ZenModel/migrate/zenpackdatasources.py trunk/Products/ZenModel/migrate/zenuilayer.py trunk/Products/ZenModel/migrate/zlocal.py Log: * Updated migrate scripts to 2.0 Modified: trunk/Products/ZenModel/migrate/deviceTemplatesProperty.py =================================================================== --- trunk/Products/ZenModel/migrate/deviceTemplatesProperty.py 2007-04-26 20:40:48 UTC (rev 4896) +++ trunk/Products/ZenModel/migrate/deviceTemplatesProperty.py 2007-04-26 21:24:05 UTC (rev 4897) @@ -13,7 +13,7 @@ import Migrate class DeviceTemplatesProperty(Migrate.Step): - version = Migrate.Version(1, 2, 0) + version = Migrate.Version(2, 0, 0) def cutover(self, dmd): if not dmd.Devices.hasProperty("zDeviceTemplates"): Modified: trunk/Products/ZenModel/migrate/evenbetterstandarderrormessage.py =================================================================== --- trunk/Products/ZenModel/migrate/evenbetterstandarderrormessage.py 2007-04-26 20:40:48 UTC (rev 4896) +++ trunk/Products/ZenModel/migrate/evenbetterstandarderrormessage.py 2007-04-26 21:24:05 UTC (rev 4897) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2007 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__=''' @@ -21,7 +14,7 @@ import os class EvenBetterStandardErrorMessage(Migrate.Step): - version = Migrate.Version(1, 2, 0) + version = Migrate.Version(2, 0, 0) def cutover(self, dmd): ''' try/except to better handle access restrictions Modified: trunk/Products/ZenModel/migrate/eventclassmapping.py =================================================================== --- trunk/Products/ZenModel/migrate/eventclassmapping.py 2007-04-26 20:40:48 UTC (rev 4896) +++ trunk/Products/ZenModel/migrate/eventclassmapping.py 2007-04-26 21:24:05 UTC (rev 4897) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2007 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__='Add eventClassMapping to status and history tables' @@ -64,7 +57,7 @@ class EventClassMapping(Migrate.Step): - version = Migrate.Version(1, 2, 0) + version = Migrate.Version(2, 0, 0) def cutover(self, dmd): zem = dmd.ZenEventManager Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-04-26 20:40:48 UTC (rev 4896) +++ trunk/Products/ZenModel/migrate/menus.py 2007-04-26 21:24:05 UTC (rev 4897) @@ -42,7 +42,7 @@ ) class MenuRelations(Migrate.Step): - version = Migrate.Version(1, 2, 0) + version = Migrate.Version(2, 0, 0) def cutover(self, dmd): dmd.buildRelations() @@ -108,7 +108,7 @@ id='saveOrdering' ), ], - 'Edit':[ + 'More':[ dict(action='viewHistory', allowed_classes=['Device', 'DeviceClass', @@ -279,7 +279,7 @@ permissions=('Manage DMD',) ), dict(action='editManufacturer', - allowed_classes=['Manufacturer'], + allowed_classes=['Manufacturer',], description='Edit', ordering=60.0, id='editManufacturer', Modified: trunk/Products/ZenModel/migrate/packs.py =================================================================== --- trunk/Products/ZenModel/migrate/packs.py 2007-04-26 20:40:48 UTC (rev 4896) +++ trunk/Products/ZenModel/migrate/packs.py 2007-04-26 21:24:05 UTC (rev 4897) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2007 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__=''' @@ -23,7 +16,7 @@ from Products.ZenModel.ZenPackable import ZenPackable class Packs(Migrate.Step): - version = Migrate.Version(1, 2, 0) + version = Migrate.Version(2, 0, 0) def cutover(self, dmd): def recurse(obj): Modified: trunk/Products/ZenModel/migrate/zCollectorPlugins.py =================================================================== --- trunk/Products/ZenModel/migrate/zCollectorPlugins.py 2007-04-26 20:40:48 UTC (rev 4896) +++ trunk/Products/ZenModel/migrate/zCollectorPlugins.py 2007-04-26 21:24:05 UTC (rev 4897) @@ -1,157 +1,16 @@ -########################################################################### -# -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### import Migrate from Acquisition import aq_base -from Products.ZenModel.DeviceClass import DeviceClass class zCollectorPlugins(Migrate.Step): - version = Migrate.Version(1, 2, 0) + version = Migrate.Version(2, 0, 0) - clist = ( - 'zenoss.snmp.NewDeviceMap', - 'zenoss.snmp.DeviceMap', - 'zenoss.snmp.InterfaceMap', - 'zenoss.snmp.RouteMap', - ) - def cutover(self, dmd): if not hasattr(aq_base(dmd.Devices), 'zCollectorPlugins'): - dmd.Devices._setProperty("zCollectorPlugins", clist, type='lines') - if not dmd.Devices.zCollectorPlugins: - dmd.Devices.zCollectorPlugins = ( - 'zenoss.snmp.NewDeviceMap', - 'zenoss.snmp.DeviceMap', - 'zenoss.snmp.InterfaceMap', - 'zenoss.snmp.RouteMap', - ) - if not dmd.Devices.Server.zCollectorPlugins: - dmd.Devices.Server.zCollectorPlugins = ( - 'zenoss.snmp.NewDeviceMap', - 'zenoss.snmp.NewDeviceMap', - 'zenoss.snmp.DeviceMap', - 'zenoss.snmp.DellDeviceMap', - 'zenoss.snmp.HPDeviceMap', - 'zenoss.snmp.InterfaceMap', - 'zenoss.snmp.RouteMap', - 'zenoss.snmp.IpServiceMap', - 'zenoss.snmp.HRFileSystemMap', - 'zenoss.snmp.HRSWInstalledMap', - 'zenoss.snmp.HRSWRunMap', - 'zenoss.snmp.CpuMap', - 'zenoss.snmp.DellCPUMap', - 'zenoss.snmp.DellPCIMap', - 'zenoss.snmp.HPCPUMap', - ) + dmd.Devices._setProperty("zCollectorPlugins", [], type='lines') - if not aq_base(hasattr(dmd.Devices.Server,'Scan')): - scan = DeviceClass('Scan') - dmd.Devices.Server._setObject('Scan',scan) - - if not dmd.Devices.Server.Scan.zCollectorPlugins: - dmd.Devices.Server.Scan.zCollectorPlugins = ( - 'zenoss.portscan.IpServiceMap', - ) - - if not aq_base(hasattr(dmd.Devices.Server,'Cmd')): - cmd = DeviceClass('Cmd') - dmd.Devices.Server._setObject('Cmd', cmd) - - if not dmd.Devices.Server.Cmd._getOb('zCollectorPlugins',False): - dmd.Devices.Server.Cmd.zCollectorPlugins = ( - 'zenoss.cmd.uname', - 'zenoss.cmd.df', - 'zenoss.cmd.linux.ifconfig', - 'zenoss.cmd.linux.memory', - 'zenoss.cmd.linux.netstat_an', - 'zenoss.cmd.linux.netstat_rn', - 'zenoss.cmd.linux.process', - 'zenoss.cmd.darwin.cpu', - 'zenoss.cmd.darwin.ifconfig', - 'zenoss.cmd.darwin.memory', - 'zenoss.cmd.darwin.netstat_an', - 'zenoss.cmd.darwin.process', - 'zenoss.cmd.darwin.swap', - ) - - - if not dmd.Devices.Server.Linux._getOb('zCollectorPlugins',False): - dmd.Devices.Server.Linux.zCollectorPlugins = ( - 'zenoss.snmp.NewDeviceMap', - 'zenoss.snmp.DeviceMap', - 'zenoss.snmp.DellDeviceMap', - 'zenoss.snmp.HPDeviceMap', - 'zenoss.snmp.InterfaceMap', - 'zenoss.snmp.RouteMap', - 'zenoss.snmp.IpServiceMap', - 'zenoss.snmp.HRFileSystemMap', - 'zenoss.snmp.HRSWRunMap', - 'zenoss.snmp.CpuMap', - 'zenoss.snmp.DellCPUMap', - 'zenoss.snmp.DellPCIMap', - 'zenoss.snmp.HPCPUMap', - ) - - if not dmd.Devices.Server.Windows._getOb('zCollectorPlugins',False): - dmd.Devices.Server.Windows.zCollectorPlugins = ( - 'zenoss.snmp.NewDeviceMap', - 'zenoss.snmp.DeviceMap', - 'zenoss.snmp.DellDeviceMap', - 'zenoss.snmp.HPDeviceMap', - 'zenoss.snmp.InterfaceMap', - 'zenoss.snmp.RouteMap', - 'zenoss.snmp.IpServiceMap', - 'zenoss.snmp.HRFileSystemMap', - 'zenoss.snmp.HRSWInstalledMap', - 'zenoss.snmp.HRSWRunMap', - 'zenoss.snmp.CpuMap', - 'zenoss.snmp.DellCPUMap', - 'zenoss.snmp.DellPCIMap', - 'zenoss.snmp.HPCPUMap', - 'zenoss.snmp.InformantHardDiskMap', - ) - - if not dmd.Devices.Power._getOb('zCollectorPlugins',False): - dmd.Devices.Power.zCollectorPlugins = ( - 'zenoss.snmp.NewDeviceMap', - 'zenoss.snmp.DeviceMap', - 'zenoss.snmp.APCDeviceMap', - 'zenoss.snmp.PowerwareDeviceMap', - ) - - if not dmd.Devices.Network._getOb('zCollectorPlugins',False): - dmd.Devices.Network.Router.zCollectorPlugins = ( - 'zenoss.snmp.NewDeviceMap', - 'zenoss.snmp.DeviceMap', - 'zenoss.snmp.InterfaceMap', - 'zenoss.snmp.RouteMap', - ) - - if not dmd.Devices.Network.Router.Cisco._getOb( - 'zCollectorPlugins',False): - dmd.Devices.Network.Router.Cisco.zCollectorPlugins = ( - 'zenoss.snmp.NewDeviceMap', - 'zenoss.snmp.DeviceMap', - 'zenoss.snmp.CiscoMap', - 'zenoss.snmp.InterfaceMap', - 'zenoss.snmp.CiscoHSRP', - 'zenoss.snmp.RouteMap', - ) - zCollectorPlugins() - - Modified: trunk/Products/ZenModel/migrate/zenpackdatasources.py =================================================================== --- trunk/Products/ZenModel/migrate/zenpackdatasources.py 2007-04-26 20:40:48 UTC (rev 4896) +++ trunk/Products/ZenModel/migrate/zenpackdatasources.py 2007-04-26 21:24:05 UTC (rev 4897) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2007 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__='''All existing datasources should be switched to instances of BasicDataSource instead of RRDDataSource @@ -19,7 +12,7 @@ class ZenPackDataSources(Migrate.Step): - version = Migrate.Version(1, 2, 0) + version = Migrate.Version(2, 0, 0) def cutover(self, dmd): Modified: trunk/Products/ZenModel/migrate/zenuilayer.py =================================================================== --- trunk/Products/ZenModel/migrate/zenuilayer.py 2007-04-26 20:40:48 UTC (rev 4896) +++ trunk/Products/ZenModel/migrate/zenuilayer.py 2007-04-26 21:24:05 UTC (rev 4897) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2006 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__=''' @@ -29,7 +22,7 @@ class ZenUILayer(Migrate.Step): "Add a new skin layer to manage UI elements" - version = Migrate.Version(1, 2, 0) + version = Migrate.Version(2, 0, 0) def cutover(self, dmd): layers = ('zentablemanager','zenui') Modified: trunk/Products/ZenModel/migrate/zlocal.py =================================================================== --- trunk/Products/ZenModel/migrate/zlocal.py 2007-04-26 20:40:48 UTC (rev 4896) +++ trunk/Products/ZenModel/migrate/zlocal.py 2007-04-26 21:24:05 UTC (rev 4897) @@ -1,15 +1,8 @@ -########################################################################### +################################################################# # -# This program is part of Zenoss Core, an open source monitoring platform. -# Copyright (C) 2007, Zenoss Inc. +# Copyright (c) 2006 Zenoss, Inc. All rights reserved. # -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 as published by -# the Free Software Foundation. -# -# For complete information please visit: http://www.zenoss.com/oss/ -# -########################################################################### +################################################################# __doc__=''' @@ -20,7 +13,7 @@ import Migrate class ZLocalIps(Migrate.Step): - version = Migrate.Version(1, 2, 0) + version = Migrate.Version(2, 0, 0) def cutover(self, dmd): if not dmd.Devices.hasProperty("zLocalIpAddresses"): @@ -30,4 +23,3 @@ dmd.Devices._setProperty("zLocalInterfaceNames", '^lo|^vmnet') ZLocalIps() - |
Author: marc Date: 2007-04-26 16:40:48 -0400 (Thu, 26 Apr 2007) New Revision: 4896 Modified: trunk/Products/ZenEvents/skins/zenevents/editActionRuleSchedule.pt trunk/Products/ZenEvents/skins/zenevents/editActionRules.pt trunk/Products/ZenEvents/skins/zenevents/editEventViews.pt trunk/Products/ZenEvents/skins/zenevents/eventClassInstSequence.pt trunk/Products/ZenEvents/skins/zenevents/eventClassStatus.pt trunk/Products/ZenEvents/skins/zenevents/eventMappingList.pt trunk/Products/ZenEvents/skins/zenevents/listEventCommands.pt trunk/Products/ZenModel/skins/zenmodel/administeredDevices.pt trunk/Products/ZenModel/skins/zenmodel/deviceHardwareDetail.pt trunk/Products/ZenModel/skins/zenmodel/deviceList.pt trunk/Products/ZenModel/skins/zenmodel/deviceListMacro.pt trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt trunk/Products/ZenModel/skins/zenmodel/deviceSearchResults.pt trunk/Products/ZenModel/skins/zenmodel/deviceSoftwareDetail.pt trunk/Products/ZenModel/skins/zenmodel/editBasicDataSource.pt trunk/Products/ZenModel/skins/zenmodel/editRRDDataSource.pt trunk/Products/ZenModel/skins/zenmodel/ipServiceClassStatus.pt trunk/Products/ZenModel/skins/zenmodel/maintenanceWindowsMacro.pt trunk/Products/ZenModel/skins/zenmodel/manageUserFolder.pt trunk/Products/ZenModel/skins/zenmodel/mibOrganizerOverview.pt trunk/Products/ZenModel/skins/zenmodel/osProcessClassStatus.pt trunk/Products/ZenModel/skins/zenmodel/osProcessOrganizerOverview.pt trunk/Products/ZenModel/skins/zenmodel/osProcessResequence.pt trunk/Products/ZenModel/skins/zenmodel/perfConfig.pt trunk/Products/ZenModel/skins/zenmodel/performanceTemplates.pt trunk/Products/ZenModel/skins/zenmodel/serviceClassStatus.pt trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt trunk/Products/ZenModel/skins/zenmodel/userCommandsMacros.pt trunk/Products/ZenModel/skins/zenmodel/viewIpAddressOverview.pt trunk/Products/ZenModel/skins/zenmodel/viewIpServiceClassOverview.pt trunk/Products/ZenModel/skins/zenmodel/viewManufacturerOverview.pt trunk/Products/ZenModel/skins/zenmodel/viewManufacturers.pt trunk/Products/ZenModel/skins/zenmodel/viewMibModule.pt trunk/Products/ZenModel/skins/zenmodel/viewNetworkOverview.pt trunk/Products/ZenModel/skins/zenmodel/viewProductClassOverview.pt trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt trunk/Products/ZenModel/skins/zenmodel/viewReportClass.pt trunk/Products/ZenReports/reports/Device_Reports/All_Monitored_Components.rpt trunk/Products/ZenReports/reports/Device_Reports/Device_Changes.rpt trunk/Products/ZenReports/reports/Device_Reports/Model_Collection_Age.rpt trunk/Products/ZenReports/reports/Device_Reports/New_Devices.rpt trunk/Products/ZenReports/reports/Event_Reports/All_EventClasses.rpt trunk/Products/ZenReports/reports/Event_Reports/All_EventMappings.rpt trunk/Products/ZenReports/reports/Event_Reports/All_Heartbeats.rpt trunk/Products/ZenReports/reports/Performance_Reports/Availability_Report.rpt trunk/Products/ZenReports/reports/Performance_Reports/CPU_Utilization.rpt trunk/Products/ZenReports/reports/Performance_Reports/Filesystem_Util_Report.rpt trunk/Products/ZenReports/reports/Performance_Reports/Interface_Utilization.rpt trunk/Products/ZenReports/reports/Performance_Reports/Memory_Utilization.rpt trunk/Products/ZenReports/reports/Performance_Reports/Threshold_Summary.rpt trunk/Products/ZenWidgets/skins/zentablemanager/exampleTable.pt Log: #1317 * colspan set to 0 for all nav table rows Modified: trunk/Products/ZenEvents/skins/zenevents/editActionRuleSchedule.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/editActionRuleSchedule.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenEvents/skins/zenevents/editActionRuleSchedule.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -62,7 +62,7 @@ <td class="tablevalues" tal:content="mw/enabled"/> </tr> <tr> - <td colspan="7" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenEvents/skins/zenevents/editActionRules.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/editActionRules.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenEvents/skins/zenevents/editActionRules.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -52,7 +52,7 @@ </tr> </tal:block> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenEvents/skins/zenevents/editEventViews.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/editEventViews.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenEvents/skins/zenevents/editEventViews.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -62,7 +62,7 @@ </tr> </tal:block> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenEvents/skins/zenevents/eventClassInstSequence.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/eventClassInstSequence.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenEvents/skins/zenevents/eventClassInstSequence.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -70,7 +70,7 @@ </td> </tr> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenEvents/skins/zenevents/eventClassStatus.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/eventClassStatus.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenEvents/skins/zenevents/eventClassStatus.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -81,7 +81,7 @@ </tr> </tal:block> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> @@ -160,7 +160,7 @@ </tal:block> </tal:block> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenEvents/skins/zenevents/eventMappingList.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/eventMappingList.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenEvents/skins/zenevents/eventMappingList.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -50,7 +50,7 @@ align="center">0</td> </tr> </tal:block> - <tr><td class="tableheader" colspan="4"> + <tr><td class="tableheader" colspan="0"> <form metal:use-macro="here/zenTableNavigation/macros/navpagenofilter2"/> </td></tr> </tal:block> Modified: trunk/Products/ZenEvents/skins/zenevents/listEventCommands.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/listEventCommands.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenEvents/skins/zenevents/listEventCommands.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -57,7 +57,7 @@ </tal:block> <tr> - <td colspan="5" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/administeredDevices.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/administeredDevices.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/administeredDevices.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -80,7 +80,7 @@ </tr> </tal:block> <tr> - <td colspan="5" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/deviceHardwareDetail.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceHardwareDetail.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/deviceHardwareDetail.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -63,7 +63,7 @@ </tr> </tal:block> <tr> - <td colspan="8" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> @@ -102,7 +102,7 @@ </tr> </tal:block> <tr> - <td colspan="2" class="tableheader"> + <td colspan="0" class="tableheader"> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> @@ -143,7 +143,7 @@ </tr> </tal:block> <tr> - <td colspan="3" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/deviceList.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceList.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/deviceList.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -7,7 +7,7 @@ tal:define=" tableName string:devicelist; objects here/devices/getSubDevicesGen; - tblcolspan string:5; + tblcolspan string:6; batch python: here.ZenTableManager.getBatch(tableName,objects);" > <input type="hidden" name="zenScreenName" tal:attributes="value template/id"/> @@ -22,7 +22,7 @@ <span metal:use-macro="here/deviceListMacro/macros/devListBody"/> <tr> - <td colspan="5" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <tal:block metal:use-macro="here/zenTableNavigation/macros/navbodypagedevice"/> </td> Modified: trunk/Products/ZenModel/skins/zenmodel/deviceListMacro.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceListMacro.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/deviceListMacro.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -130,7 +130,7 @@ </tbody> </tal:block> <tr> - <td colspan=5 class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> @@ -178,7 +178,7 @@ <span metal:use-macro="here/deviceMacros/macros/snmpStatus" /> </tr> <tr> - <td colspan="6" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> @@ -210,7 +210,7 @@ <span metal:define-macro="fullDevListBody" tal:omit-tag=""> <tr> - <td colspan="5" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navfilter"></form> </td> </tr> @@ -268,7 +268,7 @@ </td> </tr> <tr> - <td colspan="5" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navpagenofilter2"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -77,11 +77,10 @@ name="subdeviceForm"> <tal:block tal:define="objects here/children; tableName string:children; - tblcolspan string:5; menu_id string:Organizer_list; batch python:here.ZenTableManager.getBatch(tableName,objects); showfilterbox python:True; - tblcolspan string:5; + tblcolspan string:6; tabletitle string:Sub-${here/dmdRootName}"> <tal:block metal:use-macro="here/zenuimacros/macros/zentable"> <tal:block metal:fill-slot="zentablecontents"> @@ -138,7 +137,7 @@ </tr> </tal:block> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -93,7 +93,7 @@ </tr> </tal:block> <tr> - <td colspan="9" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> @@ -158,7 +158,7 @@ </tr> </tal:block> <tr> - <td colspan="7" class="tableheader" align='center' + <td colspan="0" class="tableheader" align='center' tal:define="useOnlyMonitored python:1"> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> @@ -238,7 +238,7 @@ </tr> </tal:block> <tr> - <td colspan="7" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"> </form> </td> @@ -317,7 +317,7 @@ </tr> </tal:block> <tr> - <td colspan="8" class="tableheader" align='center' + <td colspan="0" class="tableheader" align='center' tal:define="useOnlyMonitored python:1"> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> @@ -410,7 +410,7 @@ </tr> </tal:block> <tr> - <td colspan="7" class="tableheader" align='center' + <td colspan="0" class="tableheader" align='center' tal:define="useOnlyMonitored python:1"> <form metal:use-macro="here/zenTableNavigation/macros/navtool"> </form> @@ -485,7 +485,7 @@ </tr> </tal:block> <tr> - <td colspan="7" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"> </form> </td> Modified: trunk/Products/ZenModel/skins/zenmodel/deviceSearchResults.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceSearchResults.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/deviceSearchResults.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -32,7 +32,7 @@ <tbody metal:use-macro="here/deviceListMacro/macros/devListBody"/> <tr> - <td colspan="5" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/deviceSoftwareDetail.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceSoftwareDetail.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/deviceSoftwareDetail.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -27,7 +27,7 @@ </tr> </tal:block> <tr> - <td colspan="5" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/editBasicDataSource.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/editBasicDataSource.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/editBasicDataSource.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -268,7 +268,7 @@ <td tal:content="dp/rrdtype"/> </tr> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/editRRDDataSource.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/editRRDDataSource.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/editRRDDataSource.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -181,7 +181,7 @@ <td tal:content="dp/rrdtype"/> </tr> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/ipServiceClassStatus.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/ipServiceClassStatus.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/ipServiceClassStatus.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -95,7 +95,7 @@ tal:content="python:here.convertStatus(status)"/> </tr> <tr> - <td colspan="4" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/maintenanceWindowsMacro.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/maintenanceWindowsMacro.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/maintenanceWindowsMacro.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -73,7 +73,7 @@ </tr> </tal:block> <tr> - <td colspan="7" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/manageUserFolder.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/manageUserFolder.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/manageUserFolder.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -89,7 +89,7 @@ </tr> </tal:block> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/mibOrganizerOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/mibOrganizerOverview.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/mibOrganizerOverview.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -52,7 +52,7 @@ </tr> </tal:block> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> @@ -125,7 +125,7 @@ <td class="tablevalues" tal:content="mib/notificationCount"/> </tr> <tr> - <td colspan="5" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/osProcessClassStatus.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/osProcessClassStatus.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/osProcessClassStatus.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -90,7 +90,7 @@ tal:content="python:here.convertStatus(status)"/> </tr> <tr> - <td colspan="4" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/osProcessOrganizerOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/osProcessOrganizerOverview.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/osProcessOrganizerOverview.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -39,7 +39,7 @@ <td class="tablevalues" align=center tal:content="svcorg/countClasses"/> </tr> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> @@ -101,7 +101,7 @@ <td class="tablevalues" tal:content="svcinst/count"/> </tr> <tr> - <td colspan="5" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/osProcessResequence.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/osProcessResequence.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/osProcessResequence.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -54,7 +54,7 @@ <td class="tablevalues" tal:content="svcinst/count"/> </tr> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/perfConfig.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/perfConfig.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/perfConfig.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -51,7 +51,7 @@ </tal:block> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/performanceTemplates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/performanceTemplates.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/performanceTemplates.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -51,7 +51,7 @@ </tal:block> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/serviceClassStatus.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/serviceClassStatus.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/serviceClassStatus.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -91,7 +91,7 @@ </tr> </tal:block> <tr> - <td colspan="4" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -41,7 +41,7 @@ </tr> </tal:block> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> @@ -113,7 +113,7 @@ </tr> </tal:block> <tr> - <td colspan="5" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/userCommandsMacros.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/userCommandsMacros.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/userCommandsMacros.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -57,7 +57,7 @@ </tr> </tal:block> <tr> - <td colspan="5" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/viewIpAddressOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewIpAddressOverview.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/viewIpAddressOverview.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -124,7 +124,7 @@ </td> </tr> <tr> - <td colspan=4 class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/viewIpServiceClassOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewIpServiceClassOverview.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/viewIpServiceClassOverview.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -79,7 +79,7 @@ </td> </tr> <tr> - <td colspan=5 class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/viewManufacturerOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewManufacturerOverview.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/viewManufacturerOverview.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -106,7 +106,7 @@ tal:content="prod/count">Good stuff</td> </tr> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/viewManufacturers.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewManufacturers.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/viewManufacturers.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -55,7 +55,7 @@ </tr> </tal:block> <tr> - <td colspan="4" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/viewMibModule.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewMibModule.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/viewMibModule.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -97,7 +97,7 @@ <td tal:content="ds/nodetype"/> </tr> <tr> - <td colspan="3" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> @@ -156,7 +156,7 @@ <td tal:content="ds/nodetype"/> </tr> <tr> - <td colspan="3" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/viewNetworkOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewNetworkOverview.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/viewNetworkOverview.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -134,7 +134,7 @@ </tr> </tal:block> <tr> - <td colspan="5" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> @@ -227,7 +227,7 @@ </td> </tr> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody" /> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/viewProductClassOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewProductClassOverview.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/viewProductClassOverview.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -84,7 +84,7 @@ <td class="tablevalues" tal:content="prod/getProductName"/> </tr> <tr> - <td colspan="2" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"></form> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -118,7 +118,7 @@ <td tal:content="ds/enabled"/> </tr> <tr> - <td colspan="5" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> @@ -194,7 +194,7 @@ <td tal:content="thresh/enabled"/> </tr> <tr> - <td colspan="5" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> @@ -288,7 +288,7 @@ <td tal:content="graph/width"/> </tr> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenModel/skins/zenmodel/viewReportClass.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewReportClass.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenModel/skins/zenmodel/viewReportClass.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -52,7 +52,7 @@ </tr> </tal:block> <tr> - <td class="tableheader" colspan="3"> + <td class="tableheader" colspan="0"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> @@ -118,7 +118,7 @@ </tr> </tal:block> <tr> - <td colspan="2" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navbody"/> </td> </tr> Modified: trunk/Products/ZenReports/reports/Device_Reports/All_Monitored_Components.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/All_Monitored_Components.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Device_Reports/All_Monitored_Components.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -40,7 +40,7 @@ tal:content="python:comp.convertStatus(status)"/> </tr> <tr> - <td colspan="5" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> Modified: trunk/Products/ZenReports/reports/Device_Reports/Device_Changes.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/Device_Changes.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Device_Reports/Device_Changes.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -45,7 +45,7 @@ <td class="tablevalues" tal:content="device/getLastChangeString"/> </tr> <tr> - <td colspan="5" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> Modified: trunk/Products/ZenReports/reports/Device_Reports/Model_Collection_Age.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/Model_Collection_Age.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Device_Reports/Model_Collection_Age.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -43,7 +43,7 @@ <td class="tablevalues" tal:content="device/getLastChangeString"/> </tr> <tr> - <td colspan="5" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> Modified: trunk/Products/ZenReports/reports/Device_Reports/New_Devices.rpt =================================================================== --- trunk/Products/ZenReports/reports/Device_Reports/New_Devices.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Device_Reports/New_Devices.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -43,7 +43,7 @@ <td class="tablevalues" tal:content="device/getLastChangeString"/> </tr> <tr> - <td colspan="5" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> Modified: trunk/Products/ZenReports/reports/Event_Reports/All_EventClasses.rpt =================================================================== --- trunk/Products/ZenReports/reports/Event_Reports/All_EventClasses.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Event_Reports/All_EventClasses.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -51,7 +51,7 @@ align="center">0</td> </tr> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> Modified: trunk/Products/ZenReports/reports/Event_Reports/All_EventMappings.rpt =================================================================== --- trunk/Products/ZenReports/reports/Event_Reports/All_EventMappings.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Event_Reports/All_EventMappings.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -42,7 +42,7 @@ align="center">0</td> </tr> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> Modified: trunk/Products/ZenReports/reports/Event_Reports/All_Heartbeats.rpt =================================================================== --- trunk/Products/ZenReports/reports/Event_Reports/All_Heartbeats.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Event_Reports/All_Heartbeats.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -30,7 +30,7 @@ <td class="tablevalues" align=center tal:content="python:heart[2]"/> </tr> <tr> - <td colspan="6" class="tableheader"> + <td colspan="0" class="tableheader"> <span metal:use-macro="here/zenTableNavigation/macros/navtool" /> </td> </tr> Modified: trunk/Products/ZenReports/reports/Performance_Reports/Availability_Report.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/Availability_Report.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Performance_Reports/Availability_Report.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -128,7 +128,7 @@ </tr> </tal:block> <tr> - <td colspan="3" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> Modified: trunk/Products/ZenReports/reports/Performance_Reports/CPU_Utilization.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/CPU_Utilization.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Performance_Reports/CPU_Utilization.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -36,7 +36,7 @@ </tr> </tal:block> <tr> - <td colspan="3" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> Modified: trunk/Products/ZenReports/reports/Performance_Reports/Filesystem_Util_Report.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/Filesystem_Util_Report.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Performance_Reports/Filesystem_Util_Report.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -52,7 +52,7 @@ </tr> </tal:block> <tr> - <td colspan="6" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> Modified: trunk/Products/ZenReports/reports/Performance_Reports/Interface_Utilization.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/Interface_Utilization.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Performance_Reports/Interface_Utilization.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -54,7 +54,7 @@ </tr> </tal:block> <tr> - <td colspan="7" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> Modified: trunk/Products/ZenReports/reports/Performance_Reports/Memory_Utilization.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/Memory_Utilization.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Performance_Reports/Memory_Utilization.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -49,7 +49,7 @@ </tr> </tal:block> <tr> - <td colspan="6" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> Modified: trunk/Products/ZenReports/reports/Performance_Reports/Threshold_Summary.rpt =================================================================== --- trunk/Products/ZenReports/reports/Performance_Reports/Threshold_Summary.rpt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenReports/reports/Performance_Reports/Threshold_Summary.rpt 2007-04-26 20:40:48 UTC (rev 4896) @@ -103,7 +103,7 @@ </tr> </tal:block> <tr> - <td colspan="6" class="tableheader" align='center'> + <td colspan="0" class="tableheader" align='center'> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> Modified: trunk/Products/ZenWidgets/skins/zentablemanager/exampleTable.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zentablemanager/exampleTable.pt 2007-04-26 20:34:42 UTC (rev 4895) +++ trunk/Products/ZenWidgets/skins/zentablemanager/exampleTable.pt 2007-04-26 20:40:48 UTC (rev 4896) @@ -26,7 +26,7 @@ </td> </tr> <tr> - <td colspan=2> + <td colspan="0"> <form metal:use-macro= "here/zentablemanager/zenTableNavigation/macros/navtool" /> </td> |