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-03-28 04:10:14
|
Author: jstevens Date: 2007-03-28 00:10:15 -0400 (Wed, 28 Mar 2007) New Revision: 4395 Added: trunk/Products/ZenUtils/zproprmlocal.py Log: Script to delete local zProperty settings from devices. Use with $ZENHOME/bin/zproprmlocal Added: trunk/Products/ZenUtils/zproprmlocal.py Property changes on: trunk/Products/ZenUtils/zproprmlocal.py ___________________________________________________________________ Name: svn:executable + * |
From: <sv...@ze...> - 2007-03-28 00:22:42
|
Author: chris Date: 2007-03-27 20:22:44 -0400 (Tue, 27 Mar 2007) New Revision: 4394 Added: trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/ trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/__init__.py trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/cpu.py trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/df.py trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/ifconfig.py trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/memory.py trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/netstat_an.py trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/process.py trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/swap.py Log: added. this is a set of datacollector plugins that i've been developing on and off the past few weeks Added: trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/__init__.py Added: trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/cpu.py Added: trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/df.py Added: trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/ifconfig.py Added: trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/memory.py Added: trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/netstat_an.py Added: trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/process.py Added: trunk/Products/DataCollector/plugins/zenoss/cmd/darwin/swap.py |
From: <sv...@ze...> - 2007-03-28 00:21:39
|
Author: chris Date: 2007-03-27 20:21:41 -0400 (Tue, 27 Mar 2007) New Revision: 4393 Modified: trunk/Products/DataCollector/plugins/zenoss/snmp/InterfaceMap.py Log: fixes #821. strip the ip address and netmask Modified: trunk/Products/DataCollector/plugins/zenoss/snmp/InterfaceMap.py =================================================================== --- trunk/Products/DataCollector/plugins/zenoss/snmp/InterfaceMap.py 2007-03-28 00:21:06 UTC (rev 4392) +++ trunk/Products/DataCollector/plugins/zenoss/snmp/InterfaceMap.py 2007-03-28 00:21:41 UTC (rev 4393) @@ -97,7 +97,7 @@ log.warn("ip points to missing ifindex %s skipping", strindex) continue if not hasattr(om, 'setIpAddresses'): om.setIpAddresses = [] - ip = iprow['ipAddress']+"/"+str(self.maskToBits(iprow['netmask'])) + ip = iprow['ipAddress'].strip()+"/"+str(self.maskToBits(iprow['netmask'].strip())) om.setIpAddresses.append(ip) #om.ifindex = iprow.ifindex #FIXME ifindex is not set! |
From: <sv...@ze...> - 2007-03-28 00:21:04
|
Author: chris Date: 2007-03-27 20:21:06 -0400 (Tue, 27 Mar 2007) New Revision: 4392 Modified: trunk/Products/DataCollector/plugins/CollectorPlugin.py Log: fixed what seems like a bug. but it doesn't look like anything else calls this method Modified: trunk/Products/DataCollector/plugins/CollectorPlugin.py =================================================================== --- trunk/Products/DataCollector/plugins/CollectorPlugin.py 2007-03-28 00:20:32 UTC (rev 4391) +++ trunk/Products/DataCollector/plugins/CollectorPlugin.py 2007-03-28 00:21:06 UTC (rev 4392) @@ -135,7 +135,7 @@ def asip(self, val): """Convert a byte string to an ip address string. """ - return ".".join(map(str, struct.unpack('!4B', char))) + return ".".join(map(str, struct.unpack('!4B', val))) def asdate(self,val): |
From: <sv...@ze...> - 2007-03-28 00:21:01
|
Author: chris Date: 2007-03-27 20:20:32 -0400 (Tue, 27 Mar 2007) New Revision: 4391 Modified: trunk/Products/DataCollector/PortscanClient.py Log: fixes #893. honor zIpServiceMaxPort and not zPortscanPortRange Modified: trunk/Products/DataCollector/PortscanClient.py =================================================================== --- trunk/Products/DataCollector/PortscanClient.py 2007-03-27 19:29:27 UTC (rev 4390) +++ trunk/Products/DataCollector/PortscanClient.py 2007-03-28 00:20:32 UTC (rev 4391) @@ -20,11 +20,9 @@ self.plugins = plugins self.results = [] - # XXX we need to setup config values in Zope - #self.portRange = getattr(device,'zPortscanPortRange', (1,10000)) - # XXX - #self.portRange = (1, 10000) - self.portRange = (1, 1000) + maxPort = getattr(device,'zIpServiceMapMaxPort', 1024) + self.portRange = (1, maxPort) + #self.portList = getattr(device,'zPortscanPortList', []) self.portList = [] |
From: <sv...@ze...> - 2007-03-27 19:29:59
|
Author: marc Date: 2007-03-27 15:29:27 -0400 (Tue, 27 Mar 2007) New Revision: 4390 Modified: trunk/Products/ZenModel/Device.py Log: #1132 * no longer retrieving snmp port from dataroot when it is provided Modified: trunk/Products/ZenModel/Device.py =================================================================== --- trunk/Products/ZenModel/Device.py 2007-03-26 21:40:34 UTC (rev 4389) +++ trunk/Products/ZenModel/Device.py 2007-03-27 19:29:27 UTC (rev 4390) @@ -138,7 +138,7 @@ return device -def findCommunity(context, ip, devicePath, community="", port=161, version='v1'): +def findCommunity(context, ip, devicePath, community="", port=None, version='v1'): """Find the snmp community for an ip address using zSnmpCommunities. """ try: @@ -150,7 +150,7 @@ communities = [] if community: communities.append(community) communities.extend(getattr(devroot, "zSnmpCommunities", [])) - port = getattr(devroot, "zSnmpPort", port) + if not port: port = getattr(devroot, "zSnmpPort", 161) timeout = getattr(devroot, "zSnmpTimeout", 2) session = SnmpSession(ip, timeout=timeout, port=port) sysTableOid = '.1.3.6.1.2.1.1' |
From: <sv...@ze...> - 2007-03-26 21:40:34
|
Author: ian Date: 2007-03-26 17:40:34 -0400 (Mon, 26 Mar 2007) New Revision: 4389 Added: trunk/Products/ZenWidgets/skins/zenui/dialog_addServiceClass.pt Modified: trunk/Products/ZenModel/migrate/menus.py trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt trunk/Products/ZenWidgets/skins/zenui/css/menus.css Log: * Started moving service class controls into menus Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-03-26 21:30:47 UTC (rev 4388) +++ trunk/Products/ZenModel/migrate/menus.py 2007-03-26 21:40:34 UTC (rev 4389) @@ -265,7 +265,14 @@ isdialog = True ), ], - 'Service_list': [ZenPackItem], + 'Service_list': [ZenPackItem, + dict( + id= 'addServiceClass', + description='Add Service...', + action= 'dialog_addServiceClass', + permissions=('Manage DMD',), + isdialog= True), + ], 'OSProcess_list': [ZenPackItem], 'Manufacturer_list': [ZenPackItem], 'Mib_list': [ZenPackItem], Modified: trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt 2007-03-26 21:30:47 UTC (rev 4388) +++ trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt 2007-03-26 21:40:34 UTC (rev 4389) @@ -120,11 +120,7 @@ </span> <tr tal:condition="here/isManager"> <td class="tableheader" colspan="5"> - <input class="tableheader" type="text" name="id"/> <input class="tableheader" type="submit" - name="manage_addServiceClass:method" value=" Add " /> - | - <input class="tableheader" type="submit" name="moveServiceClasses:method" value="Move To" /> <select class="tableheader" name="moveTarget" tal:define="targets here/childMoveTargets"> Modified: trunk/Products/ZenWidgets/skins/zenui/css/menus.css =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/css/menus.css 2007-03-26 21:30:47 UTC (rev 4388) +++ trunk/Products/ZenWidgets/skins/zenui/css/menus.css 2007-03-26 21:40:34 UTC (rev 4389) @@ -67,7 +67,8 @@ width: 174px; } div.menu_top_rounded { - background: transparent url('img/menu_top_rounded.gif') top left no-repeat; + background: transparent url('img/menu_top_rounded.gif') + top left no-repeat; position: absolute; top: 0px; left: -2px; Added: trunk/Products/ZenWidgets/skins/zenui/dialog_addServiceClass.pt |
From: <sv...@ze...> - 2007-03-26 21:30:49
|
Author: ian Date: 2007-03-26 17:30:47 -0400 (Mon, 26 Mar 2007) New Revision: 4388 Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt Log: * Generalized an overly specific description Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt 2007-03-26 21:29:49 UTC (rev 4387) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt 2007-03-26 21:30:47 UTC (rev 4388) @@ -1,4 +1,4 @@ -<h2>Add Device Organizer</h2> +<h2>Add Organizer</h2> <p> What would you like to name this organizer? </p> |
From: <sv...@ze...> - 2007-03-26 21:29:50
|
Author: ian Date: 2007-03-26 17:29:49 -0400 (Mon, 26 Mar 2007) New Revision: 4387 Modified: trunk/Products/ZenModel/migrate/menus.py trunk/Products/ZenModel/skins/zenmodel/mibOrganizerOverview.pt Log: * Removed some extraneous menus * Moved Mib organizer controls to table menu Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-03-26 21:26:14 UTC (rev 4386) +++ trunk/Products/ZenModel/migrate/menus.py 2007-03-26 21:29:49 UTC (rev 4387) @@ -266,12 +266,9 @@ ), ], 'Service_list': [ZenPackItem], - 'ServiceOrganizer_list': [ZenPackItem], 'OSProcess_list': [ZenPackItem], - 'OSProcessOrganizer_list': [ZenPackItem], 'Manufacturer_list': [ZenPackItem], 'Mib_list': [ZenPackItem], - 'MibOrganizer_list': [ZenPackItem], 'EventClass_list': [ZenPackItem], 'EventMapping_list': [ZenPackItem], 'PerformanceMonitor_list': [ZenPackItem], Modified: trunk/Products/ZenModel/skins/zenmodel/mibOrganizerOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/mibOrganizerOverview.pt 2007-03-26 21:26:14 UTC (rev 4386) +++ trunk/Products/ZenModel/skins/zenmodel/mibOrganizerOverview.pt 2007-03-26 21:29:49 UTC (rev 4387) @@ -3,7 +3,7 @@ <form method="post" tal:attributes="action here/absolute_url_path"> <tal:block tal:define="objects here/children; - menu_id string:MibOrganizer_list; + menu_id string:Organizer_list; tableName string:children; showfilterbox python:True; tabletitle string:Sub-Folders; @@ -60,22 +60,6 @@ <tr tal:condition="here/isManager"> <td class="tableheader" colspan="6"> <span metal:define-macro="editor" tal:omit-tag=""> - <input class="tableheader" type="text" name="newPath"/> - <input class="tableheader" type="submit" - name="manage_addOrganizer:method" value=" Add " /> - | - <input class="tableheader" type="submit" name="moveOrganizer:method" - value="Move To" /> - <select class="tableheader" name="moveTarget" - tal:define="targets here/childMoveTargets"> - <option value=""></option> - <option tal:repeat="target targets" - tal:content="target">/Server/Linux</option> - </select> - | - <input class="tableheader" type="submit" - name="manage_deleteOrganizers:method" value=" Delete " /> - | <input class="tableheader" type="submit" name="SelectButton" value="Select All" onClick="toggleSelect(this.form);return false"/> |
From: <sv...@ze...> - 2007-03-26 21:26:13
|
Author: ian Date: 2007-03-26 17:26:14 -0400 (Mon, 26 Mar 2007) New Revision: 4386 Modified: trunk/Products/ZenModel/migrate/menus.py trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt trunk/Products/ZenModel/skins/zenmodel/osProcessOrganizerOverview.pt trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt Log: * Moved organizer controls into a menu Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-03-26 21:23:33 UTC (rev 4385) +++ trunk/Products/ZenModel/migrate/menus.py 2007-03-26 21:26:14 UTC (rev 4386) @@ -241,7 +241,7 @@ 'id': 'serviceClassEdit', 'permissions': ('Manage DMD',)}, ], - 'DeviceOrganizer_list': [ + 'Organizer_list': [ ZenPackItem, dict( id= 'addOrganizer', Modified: trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt 2007-03-26 21:23:33 UTC (rev 4385) +++ trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt 2007-03-26 21:26:14 UTC (rev 4386) @@ -78,7 +78,7 @@ <tal:block tal:define="objects here/children; tableName string:children; tblcolspan string:5; - menu_id string:DeviceOrganizer_list; + menu_id string:Organizer_list; batch python:here.ZenTableManager.getBatch(tableName,objects); showfilterbox python:True; tblcolspan string:5; Modified: trunk/Products/ZenModel/skins/zenmodel/osProcessOrganizerOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/osProcessOrganizerOverview.pt 2007-03-26 21:23:33 UTC (rev 4385) +++ trunk/Products/ZenModel/skins/zenmodel/osProcessOrganizerOverview.pt 2007-03-26 21:26:14 UTC (rev 4386) @@ -5,7 +5,7 @@ <tal:block tal:define="objects here/children; - menu_id string:OSProcessOrganizer_list; + menu_id string:Organizer_list; tableName string:children; showfilterbox python:True; tabletitle string:Sub-Folders; @@ -47,22 +47,6 @@ <tr tal:condition="here/isManager"> <td class="tableheader" colspan="6"> <span metal:define-macro="editor" tal:omit-tag=""> - <input class="tableheader" type="text" name="newPath"/> - <input class="tableheader" type="submit" - name="manage_addOrganizer:method" value=" Add " /> - | - <input class="tableheader" type="submit" name="moveOrganizer:method" - value="Move To" /> - <select class="tableheader" name="moveTarget" - tal:define="targets here/childMoveTargets"> - <option value=""></option> - <option tal:repeat="target targets" - tal:content="target">/Server/Linux</option> - </select> - | - <input class="tableheader" type="submit" - name="manage_deleteOrganizers:method" value=" Delete " /> - | <input class="tableheader" type="submit" name="SelectButton" value="Select All" onClick="toggleSelect(this.form);return false"/> Modified: trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt 2007-03-26 21:23:33 UTC (rev 4385) +++ trunk/Products/ZenModel/skins/zenmodel/serviceOrganizerOverview.pt 2007-03-26 21:26:14 UTC (rev 4386) @@ -4,7 +4,7 @@ <form method="post" tal:attributes="action here/absolute_url_path"> <tal:block tal:define="objects here/children; - menu_id string:ServiceOrganizer_list; + menu_id string:Organizer_list; tableName string:children; showfilterbox python:True; tabletitle string:Sub-Folders; @@ -49,22 +49,6 @@ <tr tal:condition="here/isManager"> <td class="tableheader" colspan="6"> <span metal:define-macro="editor" tal:omit-tag=""> - <input class="tableheader" type="text" name="newPath"/> - <input class="tableheader" type="submit" - name="manage_addOrganizer:method" value=" Add " /> - | - <input class="tableheader" type="submit" name="moveOrganizer:method" - value="Move To" /> - <select class="tableheader" name="moveTarget" - tal:define="targets here/childMoveTargets"> - <option value=""></option> - <option tal:repeat="target targets" - tal:content="target">/Server/Linux</option> - </select> - | - <input class="tableheader" type="submit" - name="manage_deleteOrganizers:method" value=" Delete " /> - | <input class="tableheader" type="submit" name="SelectButton" value="Select All" onClick="toggleSelect(this.form);return false"/> |
From: <sv...@ze...> - 2007-03-26 21:23:34
|
Author: ian Date: 2007-03-26 17:23:33 -0400 (Mon, 26 Mar 2007) New Revision: 4385 Modified: trunk/Products/ZenEvents/EventManagerBase.py Log: * Fixed an import bug Modified: trunk/Products/ZenEvents/EventManagerBase.py =================================================================== --- trunk/Products/ZenEvents/EventManagerBase.py 2007-03-26 20:59:45 UTC (rev 4384) +++ trunk/Products/ZenEvents/EventManagerBase.py 2007-03-26 21:23:33 UTC (rev 4385) @@ -26,6 +26,7 @@ from AccessControl import Permissions as permissions from Products.ZenUtils.ObjectCache import ObjectCache +from Products.ZenModel.Organizer import Organizer from interfaces import IEventList, IEventStatus, ISendEvents |
From: <sv...@ze...> - 2007-03-26 20:59:44
|
Author: ian Date: 2007-03-26 16:59:45 -0400 (Mon, 26 Mar 2007) New Revision: 4384 Modified: trunk/Products/ZenEvents/skins/zenevents/viewHistoryEvents.pt trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt Log: * Finished moving history controls into menus Modified: trunk/Products/ZenEvents/skins/zenevents/viewHistoryEvents.pt =================================================================== --- trunk/Products/ZenEvents/skins/zenevents/viewHistoryEvents.pt 2007-03-26 20:37:03 UTC (rev 4383) +++ trunk/Products/ZenEvents/skins/zenevents/viewHistoryEvents.pt 2007-03-26 20:59:45 UTC (rev 4384) @@ -25,17 +25,6 @@ return true; }; </script> -<script> -function goExport(url) { - var sev = document.getElementById("severity").value; - var state = document.getElementById("state").value; - var filter = document.getElementById("filter").value; - var startdate = document.getElementById("startdate").value; - var enddate = document.getElementById("enddate").value; - url = url + "/exportEvents?state=" + state + "&severity=" + sev + "&filter=" + filter + "&startdate=" + startdate + "&enddate=" + enddate; - parent.location = url; -} -</script> <form method="post" tal:attributes="action here/absolute_url_path" name="history_events" @@ -90,27 +79,10 @@ <tal:block metal:define-macro="histeditor"> <tr tal:condition="here/isManager"> <td class="tableheader" tal:attributes="colspan evcolspan"> - <input class="tableheader" type="submit" value="Map:" - name="manage_createEventMap:method"/> - <select class="tableheader" name="eventClass" - tal:define="orgs here/Events/getOrganizerNames"> - <option value=""></option> - <option tal:repeat="org orgs" tal:content="org" - tal:attributes="value org">/App/Start</option> - </select> - | <input class="tableheader" type="submit" name="SelectButton" value="Select All" onClick="toggleSelect(this.form); return false"/> - | - <input class="tableheader" type="button" - name="export" value="Export All" - tal:define="severity request/severity | string:2; - state request/state | string:1; - filter request/filter | string:;" - tal:attributes="onClick string:goExport('${request/URL1}');" - /> - </td> + </td> </tr> </tal:block> <!-- END TABLE CONTENTS --> Modified: trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-03-26 20:37:03 UTC (rev 4383) +++ trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-03-26 20:59:45 UTC (rev 4384) @@ -296,11 +296,14 @@ } var goExport = function() { - var sev = $('severity').value; - var state = $('state').value; - var filter = $('filter').value; + var sev = $('severity')?$('severity').value : '2'; + var state = $('state')?$('state').value : '1'; + var filter = $('filter')?$('filter').value : ''; + var startdate = $('startdate')?$('startdate').value:null; + var enddate = $('enddate')?$('enddate').value:null; url = '${here/getPrimaryUrlPath}/'+ 'exportEvents?state=' + state + '&severity=' + sev + '&filter=' + filter; + if (startdate!=null) url += '&startdate=' + startdate + '&enddate=' + enddate; parent.location = url; } |
From: <sv...@ze...> - 2007-03-26 20:37:05
|
Author: ian Date: 2007-03-26 16:37:03 -0400 (Mon, 26 Mar 2007) New Revision: 4383 Modified: trunk/Products/ZenModel/skins/zenmodel/deviceListMacro.pt trunk/Products/ZenModel/skins/zenmodel/zenoss.css trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css trunk/Products/ZenWidgets/skins/zenui/css/menus.css Log: * CSS z-index tweaks to the menus. Modified: trunk/Products/ZenModel/skins/zenmodel/deviceListMacro.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceListMacro.pt 2007-03-26 16:52:04 UTC (rev 4382) +++ trunk/Products/ZenModel/skins/zenmodel/deviceListMacro.pt 2007-03-26 20:37:03 UTC (rev 4383) @@ -40,7 +40,7 @@ <tal:block tal:define="objects python:list(here.devices.objectValuesAll()); tableName string:devicelistmacro; showfilterbox python:True; - menu_id string:device_list; + menu_id string:Device_list; batch python:here.ZenTableManager.getBatch(tableName,objects); tabletitle string:Devices"> <tal:block metal:use-macro="here/zenuimacros/macros/zentable"> Modified: trunk/Products/ZenModel/skins/zenmodel/zenoss.css =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-26 16:52:04 UTC (rev 4382) +++ trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-03-26 20:37:03 UTC (rev 4383) @@ -469,7 +469,6 @@ div.tabletitlecontainer { width: 100%; position: relative; - z-index: 2000; height:25px; padding: 0pt; margin: 0pt; Modified: trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css 2007-03-26 16:52:04 UTC (rev 4382) +++ trunk/Products/ZenWidgets/skins/zenui/css/filterbox.css 2007-03-26 20:37:03 UTC (rev 4383) @@ -3,6 +3,7 @@ height: 26px; line-height: 26px; position: absolute; + z-index: 2000; width: 126px; top: 2px; padding-top: 4px; Modified: trunk/Products/ZenWidgets/skins/zenui/css/menus.css =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/css/menus.css 2007-03-26 16:52:04 UTC (rev 4382) +++ trunk/Products/ZenWidgets/skins/zenui/css/menus.css 2007-03-26 20:37:03 UTC (rev 4383) @@ -1,10 +1,3 @@ -#menuBlock { - position:relative; - float:right; - width: 12em; - z-index: 2000; -} - .contextmenu * , .littlemenu * { padding: 0; @@ -17,13 +10,14 @@ .contextmenu { position: relative; cursor:pointer; + z-index: 4000; } .littlemenu { position:absolute; right:0px; bottom: 0px; - z-index: 2007; + z-index: 4000; } @@ -47,7 +41,6 @@ width: 172px; top: 24px; border-top: 0px; - z-index: 4005; padding-bottom: 10px; padding-top: 10px; } @@ -58,9 +51,12 @@ bottom: 0px; left: -2px; height: 20px; - z-index: 2000; width: 174px; + z-index: 1000; } +.submenu div.menu_bottom { + z-index: 0; +} div.menu_top { background: transparent url('img/menu_top.gif') top left no-repeat; @@ -68,7 +64,6 @@ top: 0px; left: -2px; height: 20px; - z-index: 2000; width: 174px; } div.menu_top_rounded { @@ -77,7 +72,6 @@ top: 0px; left: -2px; height: 20px; - z-index: 2000; width: 174px; } @@ -92,8 +86,8 @@ width: 172px; position: relative; left: -2px; - z-index: 2001; background-color: #666; + z-index: 4001; } ul.zenMenu li a { @@ -122,11 +116,11 @@ div.devmovemenu { width: 52px; - z-index: 2007; border-left: 1px inset #666; height: 25px; background: #E0E0E0 url('img/actions_button.gif') bottom left no-repeat; position:absolute; + z-index: 4000; right:0px; bottom: 0px; } @@ -156,7 +150,6 @@ padding-top: 10px; padding-bottom: 10px; border-top: 0px; - z-index:4005; } .menu ul { padding:0; @@ -166,7 +159,6 @@ border-left: 1px solid #5A6F8F; border-right: 1px solid #5A6F8F; background-color: #666; - z-index: 4006; } ul.zenMenu > li > a { @@ -192,6 +184,7 @@ .menu ul div.submenu { visibility:hidden; position:absolute; +z-index: 4002; top:-1px; left:100px; padding: 0px; |
From: <sv...@ze...> - 2007-03-26 16:52:05
|
Author: ian Date: 2007-03-26 12:52:04 -0400 (Mon, 26 Mar 2007) New Revision: 4382 Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_removeZenPacks.pt Log: * Removed an unnecessary form name in the dialog template. Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_removeZenPacks.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_removeZenPacks.pt 2007-03-26 16:30:51 UTC (rev 4381) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_removeZenPacks.pt 2007-03-26 16:52:04 UTC (rev 4382) @@ -8,7 +8,7 @@ <input type="submit" name="removeZenPacks:method" value="Yes" tal:attributes="onclick string:return $$('dialog').submit_form( - 'zenPackList', '${here/absolute_url_path}')" /> + '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> |
From: <sv...@ze...> - 2007-03-26 16:30:52
|
Author: ian Date: 2007-03-26 12:30:51 -0400 (Mon, 26 Mar 2007) New Revision: 4381 Added: trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt trunk/Products/ZenWidgets/skins/zenui/dialog_moveOrganizer.pt trunk/Products/ZenWidgets/skins/zenui/dialog_removeOrganizer.pt Modified: trunk/Products/ZenModel/migrate/menus.py trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt trunk/Products/ZenWidgets/skins/zenui/dialog_createEventMap.pt Log: * Moved device organizer controls into the table menu Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-03-26 16:20:07 UTC (rev 4380) +++ trunk/Products/ZenModel/migrate/menus.py 2007-03-26 16:30:51 UTC (rev 4381) @@ -241,7 +241,30 @@ 'id': 'serviceClassEdit', 'permissions': ('Manage DMD',)}, ], - 'DeviceOrganizer_list': [ZenPackItem], + 'DeviceOrganizer_list': [ + ZenPackItem, + dict( + id= 'addOrganizer', + description='Add New Organizer...', + action= 'dialog_addOrganizer', + permissions=('Manage DMD',), + isdialog= True, + ), + dict( + id= 'moveOrganizer', + description='Move Organizers...', + action= 'dialog_moveOrganizer', + permissions=('Manage DMD',), + isdialog= True, + ), + dict( + id= 'removeOrganizers', + description='Delete Organizers...', + action= 'dialog_removeOrganizer', + permissions=('Manage DMD',), + isdialog = True + ), + ], 'Service_list': [ZenPackItem], 'ServiceOrganizer_list': [ZenPackItem], 'OSProcess_list': [ZenPackItem], Modified: trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt 2007-03-26 16:20:07 UTC (rev 4380) +++ trunk/Products/ZenModel/skins/zenmodel/deviceOrganizerStatus.pt 2007-03-26 16:30:51 UTC (rev 4381) @@ -146,22 +146,6 @@ <tr tal:condition="here/isManager"> <td class="tableheader" colspan="6"> <span metal:define-macro="editor" tal:omit-tag=""> - <input class="tableheader" type="text" name="newPath"/> - <input class="tableheader" type="submit" - name="manage_addOrganizer:method" value=" Add " /> - | - <input class="tableheader" type="submit" name="moveOrganizer:method" - value="Move To" /> - <select class="tableheader" name="moveTarget" - tal:define="targets here/childMoveTargets"> - <option value=""></option> - <option tal:repeat="target targets" - tal:content="target">/Server/Linux</option> - </select> - | - <input class="tableheader" type="submit" - name="manage_deleteOrganizers:method" value=" Delete " /> - | <input class="tableheader" type="submit" name="SelectButton" value="Select All" onClick="toggleSelect(this.form);return false"/> Added: trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_createEventMap.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_createEventMap.pt 2007-03-26 16:20:07 UTC (rev 4380) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_createEventMap.pt 2007-03-26 16:30:51 UTC (rev 4381) @@ -12,7 +12,7 @@ </p> <div id="dialog_buttons"> <input type="submit" name="manage_createEventMap:method" - value="Set Systems" + value="Map Events" tal:attributes="onclick string:return $$('dialog').submit_form( '${here/getPrimaryUrlPath}');"/> <input id="dialog_cancel" type="button" value="Cancel" Added: trunk/Products/ZenWidgets/skins/zenui/dialog_moveOrganizer.pt Added: trunk/Products/ZenWidgets/skins/zenui/dialog_removeOrganizer.pt |
From: <sv...@ze...> - 2007-03-26 16:20:07
|
Author: ian Date: 2007-03-26 12:20:07 -0400 (Mon, 26 Mar 2007) New Revision: 4380 Modified: trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js Log: * Fixed a z-index bug. Dialogs are on top now. * Fixed a bug that disconnected the event handler from the close box Modified: trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js 2007-03-26 15:55:23 UTC (rev 4379) +++ trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js 2007-03-26 16:20:07 UTC (rev 4380) @@ -20,7 +20,7 @@ this.defaultContent = this.box.innerHTML setStyle(this.box, { 'position':'absolute', - 'z-index':'3001', + 'z-index':'5001', 'display':'none'}); }, makeDimBg: function() { @@ -32,7 +32,7 @@ 'position':'absolute', 'top':'0', 'left':'0', - 'z-index':'3000', + 'z-index':'5000', 'width':'100%', 'background-color':'white', 'display':'none' @@ -54,7 +54,7 @@ var dims = getViewportDimensions(); setStyle(this.box, {'z-index':'1','display':'block'}); var bdims = getElementDimensions(this.box); - setStyle(this.box, {'z-index':'3001','display':'none'}); + setStyle(this.box, {'z-index':'5001','display':'none'}); setElementDimensions(this.dimbg, getViewportDimensions()); setElementPosition(this.box, { x:(dims.w/2)-(bdims.w/2), @@ -62,6 +62,7 @@ }); this.moveBox('front'); //connect(this.dimbg, 'onclick', bind(this.hide, this)); + connect('dialog_close','onclick',function(){$('dialog').hide()}); appear(this.dimbg, {duration:0.1, from:0.0, to:0.5}); showElement(this.box); }, |
From: <sv...@ze...> - 2007-03-26 15:55:23
|
Author: ecn Date: 2007-03-26 11:55:23 -0400 (Mon, 26 Mar 2007) New Revision: 4379 Modified: trunk/Products/ZenModel/Device.py trunk/Products/ZenModel/ZDeviceLoader.py Log: #1123 fixed * get default zSnmpVer from Device class Modified: trunk/Products/ZenModel/Device.py =================================================================== --- trunk/Products/ZenModel/Device.py 2007-03-26 15:16:40 UTC (rev 4378) +++ trunk/Products/ZenModel/Device.py 2007-03-26 15:55:23 UTC (rev 4379) @@ -93,7 +93,8 @@ raise NoIPAddress("No IP found for name %s" % deviceName) if discoverProto == "snmp": zSnmpCommunity, zSnmpPort, zSnmpVer, snmpname = \ - findCommunity(context, ip, devicePath, zSnmpCommunity, zSnmpPort) + findCommunity(context, ip, devicePath, + zSnmpCommunity, zSnmpPort, zSnmpVer) log.debug("device community = %s", zSnmpCommunity) log.debug("device name = %s", snmpname) if not deviceName: @@ -137,7 +138,7 @@ return device -def findCommunity(context, ip, devicePath, community="", port=161): +def findCommunity(context, ip, devicePath, community="", port=161, version='v1'): """Find the snmp community for an ip address using zSnmpCommunities. """ try: @@ -156,7 +157,6 @@ oid = '.1.3.6.1.2.1.1.5.0' goodcommunity = "" devname = "" - snmpver = "v1" for community in communities: session.community = community try: @@ -167,7 +167,7 @@ except: pass #keep trying until we run out else: raise NoSnmp("no snmp found for ip = %s" % ip) - return (goodcommunity, port, snmpver, devname) + return (goodcommunity, port, version, devname) @@ -742,7 +742,7 @@ try: zSnmpCommunity, zSnmpPort, zSnmpVer, snmpname = \ findCommunity(self, self.manageIp, self.getDeviceClassPath(), - port=self.zSnmpPort) + port=self.zSnmpPort, version=zSnmpVer) except NoSnmp: pass else: Modified: trunk/Products/ZenModel/ZDeviceLoader.py =================================================================== --- trunk/Products/ZenModel/ZDeviceLoader.py 2007-03-26 15:16:40 UTC (rev 4378) +++ trunk/Products/ZenModel/ZDeviceLoader.py 2007-03-26 15:55:23 UTC (rev 4379) @@ -72,7 +72,7 @@ def loadDevice(self, deviceName, devicePath="/Discovered", tag="", serialNumber="", - zSnmpCommunity="", zSnmpPort=161, zSnmpVer="v1", + zSnmpCommunity="", zSnmpPort=161, zSnmpVer=None, rackSlot=0, productionState=1000, comments="", hwManufacturer="", hwProductName="", osManufacturer="", osProductName="", @@ -83,6 +83,11 @@ Load a device into the database connecting its major relations and collecting its configuration. """ + if zSnmpVer is None: + try: + zSnmpVer = str(self.Devices.getOrganizer(devicePath).zSnmpVer) + except AttributeError: + zSnmpVer = 'v1' if not deviceName: return self.callZenScreen(REQUEST) device = None if REQUEST: |
From: <sv...@ze...> - 2007-03-26 15:17:07
|
Author: ian Date: 2007-03-26 11:16:40 -0400 (Mon, 26 Mar 2007) New Revision: 4378 Modified: trunk/Products/ZenModel/skins/zenmodel/Dashboard.pt Log: * Made the refresh button do a JS refresh instead of reloading the page. Modified: trunk/Products/ZenModel/skins/zenmodel/Dashboard.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/Dashboard.pt 2007-03-26 15:13:53 UTC (rev 4377) +++ trunk/Products/ZenModel/skins/zenmodel/Dashboard.pt 2007-03-26 15:16:40 UTC (rev 4378) @@ -7,7 +7,7 @@ Last Updated: 00:00:00 </span> - <a tal:attributes=" href string:${here/absolute_url_path}/${template/id}"> + <a tal:attributes=" href string:javascript:refreshData()"> <img src="/zport/dmd/img/view-refresh.png" title="Refresh the Dashboard" alt="Refresh" style="border:medium none;"/> |
From: <sv...@ze...> - 2007-03-26 15:13:55
|
Author: ian Date: 2007-03-26 11:13:53 -0400 (Mon, 26 Mar 2007) New Revision: 4377 Added: trunk/Products/ZenWidgets/skins/zenui/img/view-refresh.png Modified: trunk/Products/ZenModel/skins/zenmodel/Dashboard.pt trunk/Products/ZenModel/skins/zenmodel/templates.pt Log: * Moved dashboard refresh options back into the info bar Modified: trunk/Products/ZenModel/skins/zenmodel/Dashboard.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/Dashboard.pt 2007-03-26 13:56:27 UTC (rev 4376) +++ trunk/Products/ZenModel/skins/zenmodel/Dashboard.pt 2007-03-26 15:13:53 UTC (rev 4377) @@ -1,17 +1,18 @@ <tal:block metal:use-macro="here/templates/macros/page1"> +<tal:block metal:fill-slot="infoBar"> + <div style="float:right; padding:0px; + font-weight:normal; font-style:normal; + font-size:8pt;line-height:24px;"> + <span id="dashTime" style="padding:10px;display:inline;"> + Last Updated: 00:00:00 + </span> -<tal:block metal:fill-slot="breadCrumbPane"> - /<a tal:attributes=" - href string:${here/absolute_url_path}/${template/id}">Dashboard - </a> - <a tal:attributes=" - href string:${here/absolute_url_path}/${template/id}" - style="font-weight: normal; font-size: 7pt; text-decoration: none">(refresh) + <a tal:attributes=" href string:${here/absolute_url_path}/${template/id}"> + <img src="/zport/dmd/img/view-refresh.png" title="Refresh the Dashboard" + alt="Refresh" style="border:medium none;"/> </a> - - - <div style="float: right; padding:0; margin-top: -17px; margin-right:15px; font-weight: normal; font-style: normal; font-size: 8pt; " id="dashTime">Last Updated: 00:00:00</div> + </div> </tal:block> <tal:block metal:fill-slot="contentPane"> @@ -25,8 +26,10 @@ tal:content="string:var refresh=${userSettings/dashboardRefresh}; var timeout=${userSettings/dashboardTimeout}"/> <script type="text/javascript" src="dashboard.js"></script> <table width=100%> - <tr> + <tr> + + <!-- Top Left --> <td rowspan="2" width="50%" valign="top"> Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-26 13:56:27 UTC (rev 4376) +++ trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-03-26 15:13:53 UTC (rev 4377) @@ -21,7 +21,13 @@ <tal:block metal:use-macro="here/dialogmacros/macros/dialog_with_buttons"/> <div id="frame"> <div metal:use-macro="here/templates/macros/topPane"/> - <div metal:use-macro="here/templates/macros/infoBar"/> + <div metal:use-macro="here/templates/macros/infoBar"> + <tal:block metal:fill-slot="infoBar"> + <tal:block metal:define-slot="infoBar"> + <div metal:use-macro="here/templates/macros/breadCrumbPane"/> + </tal:block> + </tal:block> + </div> <div id="paneToggle"> </div> <style tal:condition="python:'Zenoss_Collapsed_Menu' in @@ -168,7 +174,9 @@ ====================================================== --> <div id="infoBar" metal:define-macro="infoBar"> <div id="leftPaneToggle"></div> +<div metal:define-slot="infoBar"> <div metal:use-macro="here/templates/macros/breadCrumbPane"></div> +</div> <div id="messageSlot" tal:condition="python:hasattr(here.REQUEST,'message')"> <div style="position:absolute;top:3px;right:3px;color:#666;padding:0px; font-size:9px;line-height:9px;height:9px;border:1px solid red; Added: trunk/Products/ZenWidgets/skins/zenui/img/view-refresh.png Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/view-refresh.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream |
From: <sv...@ze...> - 2007-03-26 13:56:55
|
Author: ian Date: 2007-03-26 09:56:27 -0400 (Mon, 26 Mar 2007) New Revision: 4376 Modified: trunk/Products/ZenUtils/Utils.py Log: * Fixed a bug that cause menu items to fail to display if its immediate class was allowed Modified: trunk/Products/ZenUtils/Utils.py =================================================================== --- trunk/Products/ZenUtils/Utils.py 2007-03-24 21:02:38 UTC (rev 4375) +++ trunk/Products/ZenUtils/Utils.py 2007-03-26 13:56:27 UTC (rev 4376) @@ -488,7 +488,7 @@ but without requiring a class to compare against. """ finalnames = Set() - x = list(obj.__class__.__bases__) + x = [obj.__class__] while x: thisclass = x.pop() x.extend(thisclass.__bases__) |
From: <sv...@ze...> - 2007-03-24 21:03:04
|
Author: edahl Date: 2007-03-24 17:02:38 -0400 (Sat, 24 Mar 2007) New Revision: 4375 Modified: trunk/Products/ZenEvents/EventManagerBase.py Log: * cleanup of code for dashboard queries thinking about dashboard widgets Modified: trunk/Products/ZenEvents/EventManagerBase.py =================================================================== --- trunk/Products/ZenEvents/EventManagerBase.py 2007-03-24 17:21:56 UTC (rev 4374) +++ trunk/Products/ZenEvents/EventManagerBase.py 2007-03-24 21:02:38 UTC (rev 4375) @@ -22,14 +22,10 @@ from Globals import InitializeClass from Globals import DTMLFile from Acquisition import aq_base -from OFS.SimpleItem import Item -from OFS.PropertyManager import PropertyManager -from OFS.ObjectManager import ObjectManager import DateTime from AccessControl import Permissions as permissions from Products.ZenUtils.ObjectCache import ObjectCache -from Products.ZenModel.Organizer import Organizer from interfaces import IEventList, IEventStatus, ISendEvents @@ -41,7 +37,6 @@ from Products.ZenModel.ZenModelRM import ZenModelRM from Products.ZenRelations.RelSchema import * -from Products.ZenRelations.RelationshipManager import RelationshipManager from Products.ZenUtils import Time from Products.ZenEvents.ZenEventClasses import Status_Ping, Status_Wmi_Conn import StringIO @@ -53,6 +48,16 @@ from DbAccessBase import DbAccessBase + +def evtprep(evts): + evtsdata = "%d/%d" % (evts[1],evts[2]) + if evts[1]==evts[2] or evts[2]==0: + return {'cssclass':evts[0] + " empty thin", + 'data':evtsdata} + else: + return {'cssclass':evts[0], 'data':evtsdata} + + class EventManagerBase(ZenModelRM, ObjectCache, DbAccessBase): """ Data connector to backend of the event management system. @@ -135,13 +140,6 @@ refreshConversionsForm = DTMLFile('dtml/refreshNcoProduct', globals()) - manage_options = (ObjectManager.manage_options + - PropertyManager.manage_options + - ({'label':'View', 'action':'viewEvents'}, - {'label':'Refresh', 'action':'refreshConversionsForm'},) + - ObjectCache.manage_options + - Item.manage_options) - defaultAvailabilityDays = 7 defaultPriority = 3 eventAgingHours = 4 @@ -776,19 +774,24 @@ data = self.checkCache("dashboardinfo%s" % simple) if data: return data data = {} + data['systemevents'] = self.getSystemsDashboard(simple) + data['heartbeat'] = self.getHeartbeat() + data['deviceevents'] = self.getDeviceDashboard(simple) + self.addToCache("dashboardinfo", data) + self.cleanCache() + if REQUEST: + REQUEST.RESPONSE.setHeader('Cache-Control', 'no-cache') + REQUEST.RESPONSE.setHeader('Expires', '-1') + REQUEST.RESPONSE.setHeader("Pragma", "no-cache") + return data + + + def getDeviceDashboard(self, simple=False): + """return device info for bad device to dashboard""" devices = [d[0] for d in self.getDeviceIssues( severity=4, state=1, limit=100)] devdata = [] devclass = self.getDmdRoot("Devices") - - def evtprep(evts): - evtsdata = "%d/%d" % (evts[1],evts[2]) - if evts[1]==evts[2] or evts[2]==0: - return {'cssclass':evts[0] + " empty thin", - 'data':evtsdata} - else: - return {'cssclass':evts[0], 'data':evtsdata} - for devname in devices: dev = devclass.findDevice(devname) if dev: @@ -812,8 +815,11 @@ evts.extend(map(evtprep, evtsum)) devdata.append(evts) devdata.sort() - data['deviceevents'] = devdata + return devdata + + def getSystemsDashboard(self, simple=False): + """Return systems info for dashboard.""" sysroot = self.getDmdRoot("Systems") sysdata = [] for sys in sysroot.children(): @@ -826,18 +832,54 @@ evts = [ alink ] evts.extend(map(evtprep, sys.getEventSummary(prodState=1000))) sysdata.append(evts) + sysdata.sort() + return sysdata - sysdata.sort() - data['systemevents'] = sysdata - data['heartbeat'] = self.getHeartbeat() - self.addToCache("dashboardinfo", data) - self.cleanCache() + + + def getSummaryDashboard(self, REQUEST=None): + '''Build summary of serveral zope servers''' + import urllib, re + user = 'admin'; pw = 'zenoss' + servernames = ['zenoss', 'tilde'] + dashurl = "<a href='http://%s:8080/zport/dmd/'>%s</a>" + sumurl = 'http://%s:%s@%s:8080/zport/dmd/Systems/getEventSummary' + infourl = 'http://%s:%s@%s:8080/zport/dmd/ZenEventManager/getDashboardInfo' + info = {'deviceevents': [], 'systemevents': [], 'heartbeat': []} + + def getData(user, pw, urlfmt): + data = '' + try: + url = urlfmt % (user, pw, s) + data = urllib.urlopen(url).read() + if re.search('zenevents_5_noack', data): + return data + except IOError: pass + + zenossdata = [] + for s in servernames: + data = getData(user, pw, sumurl) + if not data: continue + evts = [ dashurl % (s, s) ] + evts.extend(map(evtprep, eval(data))) + zenossdata.append(evts) + zenossdata.sort() + info['systemevents'] = zenossdata + for s in servernames: + data = getData(user, pw, infourl) + if not data: continue + data = eval(data) + info['deviceevents'].extend(data['deviceevents']) + info['heartbeat'].extend(data['heartbeat']) + if REQUEST: REQUEST.RESPONSE.setHeader('Cache-Control', 'no-cache') REQUEST.RESPONSE.setHeader('Expires', '-1') REQUEST.RESPONSE.setHeader("Pragma", "no-cache") - return data + return info + + security.declareProtected('View','getJSONEventsInfo') def getJSONEventsInfo(self, simple=False, REQUEST=None): """ |
From: <sv...@ze...> - 2007-03-24 17:22:25
|
Author: edahl Date: 2007-03-24 13:21:56 -0400 (Sat, 24 Mar 2007) New Revision: 4374 Modified: trunk/Products/ZenRRD/RRDDaemon.py Log: * add patch from Hrvoje to handle ints that should be floats Modified: trunk/Products/ZenRRD/RRDDaemon.py =================================================================== --- trunk/Products/ZenRRD/RRDDaemon.py 2007-03-23 21:40:12 UTC (rev 4373) +++ trunk/Products/ZenRRD/RRDDaemon.py 2007-03-24 17:21:56 UTC (rev 4374) @@ -80,7 +80,7 @@ if self.escalateCount and self.count >= self.escalateCount: severity += 1 summary = '%s %s threshold of %s %s: current value %.2f' % ( - device, self.label, thresh, how, value) + device, self.label, thresh, how, float(value)) eventCb(device=device, summary=summary, eventClass=self.eventClass, |
From: <sv...@ze...> - 2007-03-23 21:40:14
|
Author: ian Date: 2007-03-23 17:40:12 -0400 (Fri, 23 Mar 2007) New Revision: 4373 Modified: trunk/Products/ZenModel/migrate/menus.py trunk/Products/ZenUtils/Utils.py trunk/Products/ZenWidgets/skins/zenui/dialog_addToZenPack.pt trunk/Products/ZenWidgets/skins/zenui/dialog_createEventMap.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lock.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lockDevices.pt trunk/Products/ZenWidgets/skins/zenui/dialog_moveDevices.pt trunk/Products/ZenWidgets/skins/zenui/dialog_moveEventsToHistory.pt trunk/Products/ZenWidgets/skins/zenui/dialog_removeDevices.pt trunk/Products/ZenWidgets/skins/zenui/dialog_setGroups.pt trunk/Products/ZenWidgets/skins/zenui/dialog_setLocation.pt trunk/Products/ZenWidgets/skins/zenui/dialog_setSystems.pt trunk/Products/ZenWidgets/skins/zenui/dialog_undeleteHistoryEvents.pt trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt Log: * Made menus smarter. Now you don't have to pass the formname to a dialog; it figures it out on its own. * Moved History events actions into a menu * Modified all dialogs to use the new js syntax Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenModel/migrate/menus.py 2007-03-23 21:40:12 UTC (rev 4373) @@ -400,6 +400,19 @@ ], 'HistoryEvent_list':[ dict( + id= 'createEventMap', + description='Map Events to Class...', + action= 'dialog_createEventMap', + permissions=('Manage DMD',), + isdialog= True + ), + dict( + id= 'exportAllEvents', + description='Download as CSV', + action= 'javascript:goExport()', + permissions=('View',) + ), + dict( id= 'undeleteHistoryEvents', description='Undelete Events...', action= 'dialog_undeleteHistoryEvents', Modified: trunk/Products/ZenUtils/Utils.py =================================================================== --- trunk/Products/ZenUtils/Utils.py 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenUtils/Utils.py 2007-03-23 21:40:12 UTC (rev 4373) @@ -483,9 +483,9 @@ def cmpClassNames(obj, classnames): - """ Check to see if an object's base classes + """ Check to see if any of an object's base classes are in a list of class names. Like isinstance(), - but without requiring an instance to compare against. + but without requiring a class to compare against. """ finalnames = Set() x = list(obj.__class__.__bases__) @@ -493,4 +493,4 @@ thisclass = x.pop() x.extend(thisclass.__bases__) finalnames.add(thisclass.__name__) - return not not Set(classnames).intersection(finalnames) + return bool( Set(classnames).intersection(finalnames) ) Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_addToZenPack.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_addToZenPack.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_addToZenPack.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -15,7 +15,7 @@ <input type="submit" name="addToZenPack:method" value="Add" tal:attributes="onclick string:return $$('dialog').submit_form( - 'subdeviceForm', '${here/absolute_url_path}')" /> + '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_createEventMap.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_createEventMap.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_createEventMap.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -14,7 +14,7 @@ <input type="submit" name="manage_createEventMap:method" value="Set Systems" tal:attributes="onclick string:return $$('dialog').submit_form( - 'control', '${here/getPrimaryUrlPath}')" /> + '${here/getPrimaryUrlPath}');"/> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lock.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lock.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lock.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -13,15 +13,15 @@ <input type="submit" name="lockFromUpdates:method" value="Lock from deletion and updates" tal:attributes="onclick string:return $$('dialog').submit_form( - 'lockableForm', '${here/absolute_url_path}')" /><br/> + '${here/absolute_url_path}','lockableForm')" /><br/> <input type="submit" name="lockFromDeletion:method" value="Lock from deletion" tal:attributes="onclick string:return $$('dialog').submit_form( - 'lockableForm', '${here/absolute_url_path}')" /><br/> + '${here/absolute_url_path}','lockableForm')" /><br/> <input type="submit" name="unlock:method" value="Unlock" tal:attributes="onclick string:return $$('dialog').submit_form( - 'lockableForm', '${here/absolute_url_path}')" /><br/> + '${here/absolute_url_path}','lockableForm')" /><br/> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lockDevices.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lockDevices.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lockDevices.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -11,15 +11,15 @@ <input type="submit" name="lockDevicesFromUpdates:method" value="Lock from deletion and updates" tal:attributes="onclick string:return $$('dialog').submit_form( - 'deviceList', '${here/absolute_url_path}')" /> + '${here/absolute_url_path}')" /> <input type="submit" name="lockDevicesFromDeletion:method" value="Lock from deletion" tal:attributes="onclick string:return $$('dialog').submit_form( - 'deviceList', '${here/absolute_url_path}')" /> + '${here/absolute_url_path}')" /> <input type="submit" name="unlockDevices:method" value="Unlock" tal:attributes="onclick string:return $$('dialog').submit_form( - 'deviceList', '${here/absolute_url_path}')" /> + '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_moveDevices.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_moveDevices.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_moveDevices.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -15,7 +15,7 @@ <input type="submit" name="moveDevices:method" value="Move" tal:attributes="onclick string:return $$('dialog').submit_form( - 'deviceList', '${here/absolute_url_path}')" /> + '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_moveEventsToHistory.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_moveEventsToHistory.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_moveEventsToHistory.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -8,7 +8,7 @@ <input type="submit" name="manage_deleteEvents:method" value="Yes" tal:attributes="onclick string:return $$('dialog').submit_form( - 'control', '${here/absolute_url_path}')" /> + '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_removeDevices.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_removeDevices.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_removeDevices.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -9,7 +9,7 @@ <input type="submit" name="removeDevices:method" value="Yes" tal:attributes="onclick string:return $$('dialog').submit_form( - 'deviceList', '${here/absolute_url_path}')" /> + '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_setGroups.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_setGroups.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_setGroups.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -15,7 +15,7 @@ <input type="submit" name="setGroups:method" value="Set Groups" tal:attributes="onclick string:return $$('dialog').submit_form( - 'deviceList', '${here/getPrimaryUrlPath}')" /> + '${here/getPrimaryUrlPath}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_setLocation.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_setLocation.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_setLocation.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -15,7 +15,7 @@ <input type="submit" name="setLocation:method" value="Set Location" tal:attributes="onclick string:return $$('dialog').submit_form( - 'deviceList', '${here/getPrimaryUrlPath}')" /> + '${here/getPrimaryUrlPath}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_setSystems.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_setSystems.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_setSystems.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -14,7 +14,7 @@ <input type="submit" name="setSystems:method" value="Set Systems" tal:attributes="onclick string:return $$('dialog').submit_form( - 'deviceList', '${here/getPrimaryUrlPath}')" /> + '${here/getPrimaryUrlPath}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_undeleteHistoryEvents.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_undeleteHistoryEvents.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_undeleteHistoryEvents.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -8,7 +8,7 @@ <input type="submit" name="manage_undeleteEvents:method" value="Yes" tal:attributes="onclick string:return $$('dialog').submit_form( - 'history_events', '${here/absolute_url_path}')" /> + '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js 2007-03-23 21:40:12 UTC (rev 4373) @@ -48,8 +48,9 @@ this.box = this.dimbg.parentNode.insertBefore(this.box, this.dimbg); } }, - show: function(url) { + show: function(form, url) { if (url) this.fetch(url); + this.form = form; var dims = getViewportDimensions(); setStyle(this.box, {'z-index':'1','display':'block'}); var bdims = getElementDimensions(this.box); @@ -77,8 +78,8 @@ fill: function(request) { $('dialog_content').innerHTML = request.responseText; }, - submit_form: function(formname, action) { - var f = document.forms[formname]; + submit_form: function(action, formname) { + var f = formname?document.forms[formname]:this.form setStyle(this.box, {'z-index':'-1'}); this.box = removeElement(this.box); f.action = action; Modified: trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-03-23 21:27:21 UTC (rev 4372) +++ trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-03-23 21:40:12 UTC (rev 4373) @@ -29,7 +29,7 @@ item.action, '%s/%s' % (basepath, item.action)); actionpath python:test(item.isdialog, - 'javascript:$(\'dialog\').show(\'%s\')' % mypath, + 'javascript:$(\'dialog\').show(this.event, \'%s\')' % mypath, mypath)" tal:attributes="href actionpath" tal:content="item/description">description</a> @@ -198,14 +198,20 @@ <div class="menu_bottom"> </div> <ul class="zenMenu" tal:attributes="id string:${menu_id}_list"> <li tal:repeat="item menuitems"> -<a tal:define="mypath python:test(item.action.startswith('javascript'), +<tal:block tal:define=" +mypath python:test(item.action.startswith('javascript'), item.action, '%s/%s' % (basepath, item.action)); + thisid python:filter(lambda x:x.isalnum(), item.action); actionpath python:test(item.isdialog, - 'javascript:$(\'dialog\').show(\'%s\')' % mypath, - mypath)" - tal:attributes="href actionpath" - tal:content="item/description">description</a> + 'javascript:$(\'dialog\').show($(\'%sinput\').form, + \'%s\')' % (thisid,mypath), + mypath)"> + <input tal:attributes="id string:${thisid}input" type="hidden"/> + <a tal:attributes="id thisid; href actionpath" + tal:content="item/description">description</a> +</tal:block> + </li> </ul> </div> |
From: <sv...@ze...> - 2007-03-23 21:27:22
|
Author: abray Date: 2007-03-23 17:27:21 -0400 (Fri, 23 Mar 2007) New Revision: 4372 Modified: trunk/inst/docs/ZenossAdminGuide1.1.x.doc Log: unify-update2 Modified: trunk/inst/docs/ZenossAdminGuide1.1.x.doc =================================================================== (Binary files differ) |
From: <sv...@ze...> - 2007-03-23 20:54:20
|
Author: marc Date: 2007-03-23 16:54:21 -0400 (Fri, 23 Mar 2007) New Revision: 4371 Modified: trunk/Products/ZenModel/IpRouteEntry.py trunk/Products/ZenModel/OperatingSystem.py trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt trunk/Products/ZenModel/skins/zenmodel/dialog_addIpRouteEntry.pt Log: #748 * Fixing and testing addIpRouteEntry Modified: trunk/Products/ZenModel/IpRouteEntry.py =================================================================== --- trunk/Products/ZenModel/IpRouteEntry.py 2007-03-23 20:49:13 UTC (rev 4370) +++ trunk/Products/ZenModel/IpRouteEntry.py 2007-03-23 20:54:21 UTC (rev 4371) @@ -28,9 +28,10 @@ import logging log = logging.getLogger("zen.IpRouteEntry") -def manage_addIpRouteEntry(context, id, title = None, REQUEST = None): +def manage_addIpRouteEntry(context, routemask, nexthopid, routeproto, routetype, REQUEST = None): """make a IpRouteEntry""" - d = IpRouteEntry(id, title) + d = IpRouteEntry(routemask) + d.setNextHopIp(nexthopid) context._setObject(id, d) if REQUEST is not None: Modified: trunk/Products/ZenModel/OperatingSystem.py =================================================================== --- trunk/Products/ZenModel/OperatingSystem.py 2007-03-23 20:49:13 UTC (rev 4370) +++ trunk/Products/ZenModel/OperatingSystem.py 2007-03-23 20:54:21 UTC (rev 4371) @@ -145,12 +145,12 @@ manage_addFileSystem(self, id) if REQUEST is not None: REQUEST['RESPONSE'].redirect(self._getOb(id).absolute_url()) - - def addIpRouteEntry(self, id, REQUEST=None): + + def addIpRouteEntry(self, routemask, nexthopid, routeproto, routetype, REQUEST=None): """Add an IpRouteEntry. """ - manage_addIpRouteEntry(self, id) + manage_addIpRouteEntry(self, routemask, nexthopid, routeproto, routetype) if REQUEST is not None: - REQUEST['RESPONSE'].redirect(self._getOb(id).absolute_url()) + REQUEST['RESPONSE'].redirect(self.absolute_url()) InitializeClass(OperatingSystem) Modified: trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt 2007-03-23 20:49:13 UTC (rev 4370) +++ trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt 2007-03-23 20:54:21 UTC (rev 4371) @@ -380,7 +380,7 @@ objects here/os/routes/objectValuesAll; tabletitle string:Routes; batch python:here.ZenTableManager.getBatch(tableName,objects); - menu_id string:Route"> + menu_id string:IpRouteEntry"> <tal:block metal:use-macro="here/zenuimacros/macros/zentable"> <tal:block metal:fill-slot="zentablecontents"> Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addIpRouteEntry.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addIpRouteEntry.pt 2007-03-23 20:49:13 UTC (rev 4370) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addIpRouteEntry.pt 2007-03-23 20:54:21 UTC (rev 4371) @@ -1,10 +1,10 @@ <h2>Add IpRouteEntry</h2> -<p> -What would you like to name your IpRouteEntry?<br/> -</p> <br/> -<p style="text-align:center;"> -<input type="text" name="id"> +<p style="text-align:left;"> +Route Mask:<input type="text" name="routemask"><br/><br/> +Next Hop IP:<input type="text" name="nexthopip"><br/><br/> +Protocol:<input type="text" name="routeproto"><br/><br/> +Type:<input type="text" name="routetype"> </p> <div id="dialog_buttons"> <input type="submit" name="addIpRouteEntry:method" |