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-05-01 21:44:09
|
Author: ahajda Date: 2007-05-01 17:44:07 -0400 (Tue, 01 May 2007) New Revision: 5020 Added: trunk/wmi/Samba/source/winexe/ trunk/wmi/Samba/source/winexe/TODO trunk/wmi/Samba/source/winexe/async.c trunk/wmi/Samba/source/winexe/changes trunk/wmi/Samba/source/winexe/config.mk trunk/wmi/Samba/source/winexe/service.c trunk/wmi/Samba/source/winexe/winexe.c trunk/wmi/Samba/source/winexe/winexe.h trunk/wmi/Samba/source/winexe/winexesvc/ trunk/wmi/Samba/source/winexe/winexesvc/Makefile trunk/wmi/Samba/source/winexe/winexesvc/bin2c.c trunk/wmi/Samba/source/winexe/winexesvc/service.c trunk/wmi/Samba/source/winexe/winexesvc/shared.h trunk/wmi/Samba/source/winexe/winexesvc/winexesvc.c trunk/wmi/Samba/source/winexe/winexesvc/winexesvc_exe.c Modified: trunk/wmi/README trunk/wmi/Samba/source/lib/com/dcom/main.c trunk/wmi/Samba/source/main.mk Log: Added winexe tool. Corrected bug in dcom_get_pipe. Modified: trunk/wmi/README =================================================================== --- trunk/wmi/README 2007-05-01 21:32:31 UTC (rev 5019) +++ trunk/wmi/README 2007-05-01 21:44:07 UTC (rev 5020) @@ -3,22 +3,37 @@ ABOUT -This implementation is based on Samba4 sources. It uses RPC/DCOM mechanism -to interact with WMI services on Windows 2000/XP/2003 machines. +This implementation of DCOM/WMI client is based on Samba4 sources. +It uses RPC/DCOM mechanism to interact with WMI services on +Windows 2000/XP/2003 machines. +It contains also winexe - program to remote execution Windows commands remotely from Linux box. +Additional info about winexe at http://eol.ovh.org/winexe/. REQUIREMENTS The same as for Samba (gcc ???, autoconf ???). +<<<<<<< .mine +For python bindings: + - SWIG >= 1.3 (I am using version 1.3.25). + - Python >= 2.4. +For winexe: + - crossmingw32-binutils + - crossmingw32-gcc + - crossmingw32-gcc-c++ + - crossmingw32-w32api +======= SWIG >= 1.3 (I am using version 1.3.25). Python >= 2.3. +>>>>>>> .r5019 + COMPILATION Simple steps(change python path if necessary): $ cd Samba/source $ ./autogen.sh $ CPPFLAGS="-I/usr/include/python2.4" ./configure -$ make proto bin/wmic bin/wmis wmi/_pywmi.so +$ make proto bin/wmic bin/wmis wmi/_pywmi.so bin/winexe For details check Samba documentation in Samba/howto.txt. @@ -38,6 +53,9 @@ - Waits for 4 notifications and display their types. wmi/_pywmi.so - Samba wrapper for python, together with wmi/pywmi.py and ../pycom/* modules can be used to run zenwin on Linux. + bin/winexe - Remote windows commands execution. + Sample usage: + winexe -U domain/user%password //192.168.0.3 "ipconfig /all" PYTHON MODULES (early stage, experimental, for zenwin) Modified: trunk/wmi/Samba/source/lib/com/dcom/main.c =================================================================== --- trunk/wmi/Samba/source/lib/com/dcom/main.c 2007-05-01 21:32:31 UTC (rev 5019) +++ trunk/wmi/Samba/source/lib/com/dcom/main.c 2007-05-01 21:44:07 UTC (rev 5020) @@ -30,6 +30,7 @@ #include "lib/util/dlinklist.h" #include "auth/credentials/credentials.h" #include "libcli/composite/composite.h" +//#include "libcli/util/proto.h" #define DCOM_NEGOTIATED_PROTOCOLS { EPM_PROTOCOL_TCP, EPM_PROTOCOL_SMB, EPM_PROTOCOL_NCALRPC } @@ -242,7 +243,7 @@ status = dcom_connect_host(ctx, &p, server); if (NT_STATUS_IS_ERR(status)) { - DEBUG(1, ("Unable to connect to %s - %s\n", server, nt_errstr(status))); + DEBUG(1, ("Unable to connect to %s - %s\n", server, get_friendly_nt_error_msg(status))); return ntstatus_to_werror(status); } loc_ctx = talloc_new(ctx); @@ -395,8 +396,8 @@ iid = iface->vtable->iid; if (p && p->last_fault_code) { -DEBUG(0,(__location__":dcom_get_pipe: freeing because of 0x%08X\n", p->last_fault_code)); - free(p); +DEBUG(0,(__location__":dcom_get_pipe: freeing pipe because of %s\n", get_friendly_nt_error_msg(NT_STATUS(p->last_fault_code)))); + talloc_free(p); ox->pipe = p = NULL; } Modified: trunk/wmi/Samba/source/main.mk =================================================================== --- trunk/wmi/Samba/source/main.mk 2007-05-01 21:32:31 UTC (rev 5019) +++ trunk/wmi/Samba/source/main.mk 2007-05-01 21:44:07 UTC (rev 5020) @@ -34,6 +34,7 @@ include kdc/config.mk include lib/com/config.mk include wmi/config.mk +include winexe/config.mk DEFAULT_HEADERS = $(srcdir)/include/core.h \ $(srcdir)/lib/util/dlinklist.h \ Added: trunk/wmi/Samba/source/winexe/TODO Added: trunk/wmi/Samba/source/winexe/async.c Added: trunk/wmi/Samba/source/winexe/changes Added: trunk/wmi/Samba/source/winexe/config.mk Added: trunk/wmi/Samba/source/winexe/service.c Added: trunk/wmi/Samba/source/winexe/winexe.c Added: trunk/wmi/Samba/source/winexe/winexe.h Added: trunk/wmi/Samba/source/winexe/winexesvc/Makefile Added: trunk/wmi/Samba/source/winexe/winexesvc/bin2c.c Added: trunk/wmi/Samba/source/winexe/winexesvc/service.c Added: trunk/wmi/Samba/source/winexe/winexesvc/shared.h Added: trunk/wmi/Samba/source/winexe/winexesvc/winexesvc.c Added: trunk/wmi/Samba/source/winexe/winexesvc/winexesvc_exe.c |
From: <sv...@ze...> - 2007-05-01 21:32:33
|
Author: marc Date: 2007-05-01 17:32:31 -0400 (Tue, 01 May 2007) New Revision: 5019 Modified: trunk/Products/ZenModel/migrate/menus.py Log: * cleaned up menus.py Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-05-01 21:21:03 UTC (rev 5018) +++ trunk/Products/ZenModel/migrate/menus.py 2007-05-01 21:32:31 UTC (rev 5019) @@ -73,1081 +73,867 @@ if hasmenus(dmd.Devices): dmd.Devices.zenMenus.removeRelation() if hasmenus(dmd.Networks): dmd.Networks.zenMenus.removeRelation() - dmd.buildMenus( - { - 'TopLevel':[], - 'Menus':[ - ZenPackItems, - dict(action='dialog_addMenuItem', - allowed_classes=['DataRoot',], - description='Add Menu Item...', - ordering=90.0, - isdialog=True, - permissions=('Manage DMD',), - id='addMenuItem' - ), - dict(action='dialog_deleteMenuItems', - allowed_classes=['DataRoot',], - description='Delete Menu Items...', - ordering=80.0, - isdialog=True, - permissions=('Manage DMD',), - id='deleteMenuItems' - ), - dict(action='dialog_saveOrdering', - allowed_classes=['DataRoot',], - description='Save Ordering...', - ordering=70.0, - isdialog=True, - permissions=('Manage DMD',), - id='saveOrdering' - ), - ], - 'More':[ - dict(action='viewHistory', - allowed_classes=['Device', - 'DeviceClass',], - description='Modifications', - ordering=2.0, - id='viewHistory', - permissions=('Change Device',) - ), - dict(action='../viewHistory', - allowed_classes=['OperatingSystem',], - description='Modifications', - ordering=2.0, - id='viewHistory_os', - permissions=('Change Device',) - ), - dict(action='objRRDTemplate', - allowed_classes=['Device', - 'FileSystem', - 'HardDisk', - 'IpInterface', - 'OSProcess'], - description='PerfConf', - ordering=90.0, - id='objRRDTemplate', - permissions=('Change Device',) - ), - dict(action='../objRRDTemplate', - allowed_classes=['OperatingSystem'], - description='PerfConf', - ordering=90.0, - id='objRRDTemplate_os', - permissions=('Change Device',) - ), - dict( - ordering=1.0, - id= 'addToZenPack', - description='Add to ZenPack...', - action= 'dialog_addOneToZenPack', - permissions=('View',), - isdialog=True, - allowed_classes = ['ZenPackable'], - ), - dict(action='dialog_deleteComponent', - allowed_classes=['WinService', - 'FileSystem', - 'HardDisk', - 'IpInterface', - 'IpService', - 'OSProcess', - 'IpRouteEntry'], - description='Delete', - ordering=80.0, - id='deleteObject', - isdialog=True, - permissions=('Change Device',) - ), - dict(action='editCustSchema', - allowed_classes=['DeviceClass',], - description='Custom Schema', - ordering=60.0, - id='editCustSchema', - permissions=('Change Device',) - ), - dict(action='deviceCustomEdit', - allowed_classes=['Device'], - description='Custom', - ordering=60.0, - id='deviceCustomEdit', - permissions=('View',) - ), - dict(action='../deviceCustomEdit', - allowed_classes=['OperatingSystem'], - description='Custom', - ordering=60.0, - id='deviceCustomEdit_os', - permissions=('View',) - ), - dict(action='deviceManagement', - allowed_classes=['Device'], - description='Administration', - ordering=50.0, - id='deviceManagement', - permissions=('Change Device',) - ), - dict(action='../deviceManagement', - allowed_classes=['OperatingSystem'], - description='Administration', - ordering=50.0, - id='deviceManagement_os', - permissions=('Change Device',) - ), - #dict(action='eventClassInstSequence', - # allowed_classes=['EventClassInst'], - # description='Sequence', - # ordering=20.0, - # id='eventClassInstSequence', - # permissions=('View',) - # ), - dict(action='performanceTemplates', - allowed_classes=['DeviceClass'], - description='All Templates', - ordering=30.0, - id='performanceTemplates', - permissions=('View Device',) - ), - dict(action='perfConfig', - allowed_classes=['DeviceClass'], - description='Available Templates', - ordering=30.1, - id='perfConfig', - permissions=('Change Device',) - ), - dict(action='zPropertyEdit', - allowed_classes=['Device', - 'Manufacturer', - 'ProductClass', - ], - description='zProperties', - ordering=70.0, - id='zPropertyEdit', - permissions=('View',) - ), - dict(action='../zPropertyEdit', - allowed_classes=['OperatingSystem'], - description='zProperties', - ordering=70.0, - id='zPropertyEdit_os', - permissions=('View',) - ), - ], - 'User_list': [ - ZenPackItems, - dict( - ordering=90.0, - id= 'addUser', - description='Add New User...', - action= 'dialog_addUser', - permissions=('Manage DMD',), - isdialog= True, - ), - dict( - ordering=70.0, - id= 'deleteUser', - description='Delete Users...', - action= 'dialog_deleteUsers', - permissions=('Manage DMD',), - isdialog=True - ), - ], - 'Organizer_list': [ - ZenPackItems, - dict( - ordering=90.0, - id= 'addOrganizer', - description='Add New Organizer...', - action= 'dialog_addOrganizer', - permissions=('Manage DMD',), - isdialog= True, - ), - dict( - ordering=80.0, - id= 'moveOrganizer', - description='Move Organizers...', - action= 'dialog_moveOrganizer', - permissions=('Manage DMD',), - isdialog= True, - ), - dict( - ordering=70.0, - id= 'removeOrganizers', - description='Delete Organizers...', - action= 'dialog_removeOrganizer', - permissions=('Manage DMD',), - isdialog=True - ), - ], - 'Service_list': [ - ZenPackItems, - dict( - ordering=90.0, - id= 'addServiceClass', - description='Add Service...', - action= 'dialog_addServiceClass', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=80.0, - id= 'removeServiceClasses', - description='Delete Services...', - action= 'dialog_removeServiceClasses', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=70.0, - id= 'moveServiceClasses', - description='Move Services...', - action= 'dialog_moveServiceClasses', - permissions=('Manage DMD',), - isdialog= True), - ], - 'OSProcess_list': [ - ZenPackItems, - dict( - ordering=90.0, - id= 'addOSProcess', - description='Add Process...', - action= 'dialog_addOSProcessClass', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=80.0, - id= 'removeOSProcesses', - description='Delete Processes...', - action= 'dialog_removeOSProcesses', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=70.0, - id= 'moveOSProcesses', - description='Move Processes...', - action= 'dialog_moveOSProcesses', - permissions=('Manage DMD',), - isdialog= True), - ], - 'OSProcessResequence_list': [ - dict( - ordering=3.0, - id = 'resequenceOsProcesses', - description = 'Re-sequence Processes', - action = 'javascript:submitFormToMethod("processList", "manage_resequenceProcesses")', - permissions= ('Manage DMD',) - ), - ], - 'Manufacturer_list': [ - ZenPackItems, - dict( - ordering=90.0, - id= 'addManufacturer', - description='Add Manufacturer...', - action= 'dialog_addManufacturer', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=80.0, - id= 'removeManufacturers', - description='Delete Manufacturers...', - action= 'dialog_removeManufacturers', - permissions=('Manage DMD',), - isdialog= True), - ], - 'Mib_list': [ - ZenPackItems, - dict( - ordering=90.0, - id= 'addMibModule', - description='Add Mib...', - action= 'dialog_addMibModule', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=80.0, - id= 'removeMibModules', - description='Delete Mibs...', - action= 'dialog_removeMibModules', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=70.0, - id= 'moveMibModules', - description='Move Mibs...', - action= 'dialog_moveMibModules', - permissions=('Manage DMD',), - isdialog= True), - ], - 'EventMapping_list': [ - ZenPackItems, - dict( - ordering=80.0, - id= 'addInstance', - description='Add Mapping...', - action= 'dialog_createInstance', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=80.0, - id= 'removeInstances', - description='Delete Mappings...', - action= 'dialog_removeInstances', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=70.0, - id= 'moveInstances', - description='Move Mappings...', - action= 'dialog_moveInstances', - permissions=('Manage DMD',), - isdialog= True), - ], - 'PerformanceMonitor_list': [ - dict( - ordering=90.0, - id= 'addPMonitor', - description='Add Monitor...', - action= 'dialog_addMonitor', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=80.0, - id= 'removePMonitors', - description='Delete Monitors...', - action= 'dialog_removeMonitors', - permissions=('Manage DMD',), - isdialog= True), - ], - 'StatusMonitor_list': [ - dict( - ordering=90.0, - id= 'addSMonitor', - description='Add Monitor...', - action= 'dialog_addMonitor', - permissions=('Manage DMD',), - isdialog= True), - dict( - ordering=80.0, - id= 'removeSMonitors', - description='Delete Monitors...', - action= 'dialog_removeMonitors', - permissions=('Manage DMD',), - isdialog= True), - ], - 'ReportClass_list': [ - ZenPackItems, - dict( - ordering=90.0, - id= 'addReportClass', - description='Add Report Organizer...', - action= 'dialog_addReportClass', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('ReportClass',), - ), - dict( - ordering=80.0, - id= 'deleteReportClasses', - description='Delete Report Organizers...', - action= 'dialog_deleteReportClasses', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('ReportClass',), - ), - ], - 'Report_list': [ - ZenPackItems, - dict( - ordering=90.0, - id= 'addDeviceReport', - description='Add Device Report...', - action= 'dialog_addReport', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('ReportClass',), - ), - dict( - ordering=80.0, - id= 'deleteDeviceReports', - description='Delete Device Reports...', - action= 'dialog_deleteReports', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('ReportClass',), - ), - dict( - ordering=70.0, - id= 'moveDeviceReports', - description='Move Device Reports...', - action= 'dialog_moveReports', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('ReportClass',), - ), - ], - 'ZenPack_list':[ - dict( - ordering=1.02, - id= 'addZenPack', - description='Create a new ZenPack...', - action= 'dialog_addZenPack', - permissions=('Manage DMD',), - isdialog=True, - ), - dict( - ordering=1.01, - id= 'removeZenPack', - description='Delete ZenPack...', - permissions=('Manage DMD',), - action= 'dialog_removeZenPacks', - isdialog=True, - ), - ], - 'Device_list':[ - dict( - ordering=50.0, - id= 'moveclass', - description='Move to Class...', - action= 'dialog_moveDevices', - permissions=('Change Device',), - isdialog=True - ), - dict( - ordering=40.0, - id= 'setGroups', - description='Set Groups...', - action= 'dialog_setGroups', - permissions=('Change Device',), - isdialog=True - ), - dict( - ordering=30.0, - id= 'setSystems', - description='Set Systems...', - action= 'dialog_setSystems', - permissions=('Change Device',), - isdialog=True - ), - dict( - ordering=20.0, - id= 'setLocation', - description='Set Location...', - action= 'dialog_setLocation', - permissions=('Change Device',), - isdialog=True - ), - dict( - ordering=10.0, - id= 'removeDevices', - description='Delete devices...', - action= 'dialog_removeDevices', - permissions=('Change Device',), - isdialog=True - ), - dict( - ordering=2.0, - id= 'lockDevices', - description='Lock devices...', - action= 'dialog_lockDevices', - permissions=('Change Device',), - isdialog=True - ) - ], - 'IpInterface':[ - dict( - ordering=90.0, - id= 'addIpInterface', - description='Add IpInterface...', - action= 'dialog_addIpInterface', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=80.0, - id= 'deleteIpInterfaces', - description='Delete IpInterfaces...', - action= 'dialog_deleteIpInterfaces', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=2.0, - id= 'lockIpInterfaces', - description='Lock IpInterfaces...', - action= 'dialog_lockIpInterfaces', - isdialog=True, - permissions=('Change Device',), - ) - ], - 'OSProcess':[ - dict( - ordering=90.0, - id= 'addOSProcess', - description='Add OSProcess...', - action= 'dialog_addOSProcess', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=80.0, - id= 'deleteOSProcesses', - description='Delete OSProcesses...', - action= 'dialog_deleteOSProcesses', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=2.0, - id= 'lockOSProcesses', - description='Lock OSProcesses...', - action= 'dialog_lockOSProcesses', - isdialog=True, - permissions=('Change Device',), - ) - ], - 'FileSystem':[ - dict( - ordering=90.0, - id= 'addFileSystem', - description='Add File System...', - action= 'dialog_addFileSystem', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=80.0, - id= 'deleteFileSystems', - description='Delete FileSystems...', - action= 'dialog_deleteFileSystems', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=2.0, - id= 'lockFileSystems', - description='Lock FileSystems...', - action= 'dialog_lockFileSystems', - isdialog=True, - permissions=('Change Device',), - ) - ], - 'IpRouteEntry':[ - dict( - ordering=90.0, - id= 'addIpRouteEntry', - description='Add IpRouteEntry...', - action= 'dialog_addIpRouteEntry', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=80.0, - id= 'deleteIpRouteEntries', - description='Delete IpRouteEntries...', - action= 'dialog_deleteIpRouteEntries', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=2.0, - id= 'lockIpRouteEntries', - description='Lock IpRouteEntries...', - action= 'dialog_lockIpRouteEntries', - isdialog=True, - permissions=('Change Device',), - ) - ], - 'IpService':[ - dict( - ordering=90.0, - id= 'addIpService', - description='Add IpService...', - action= 'dialog_addIpService', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=80.0, - id= 'deleteIpServices', - description='Delete IpServices...', - action= 'dialog_deleteIpServices', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=2.0, - id= 'lockIpServices', - description='Lock IpServices...', - action= 'dialog_lockIpServices', - isdialog=True, - permissions=('Change Device',), - ) - ], - 'WinService':[ - dict( - ordering=90.0, - id= 'addWinService', - description='Add WinService...', - action= 'dialog_addWinService', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=80.0, - id= 'deleteWinServices', - description='Delete WinServices...', - action= 'dialog_deleteWinServices', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=2.0, - id= 'lockWinServices', - description='Lock WinServices...', - action= 'dialog_lockWinServices', - isdialog=True, - permissions=('Change Device',), - ) - ], - 'Event_list':[ - dict( - ordering=80.0, - id= 'acknowledgeEvents', - description='Acknowledge Events', - action= ('javascript:eventZenGrid.acknowledgeBatch()'), - permissions=('Manage DMD',) - ), - dict( - ordering=70.0, - id= 'historifyEvents', - description='Move Events to History...', - action= 'dialog_moveEventsToHistory', - permissions=('Manage DMD',), - isdialog= True - ), - dict( - ordering=10.0, - id= 'exportAllEvents', - description='Download as CSV', - action= 'javascript:goExport()', - permissions=('View',) - ), - dict( - ordering=90.0, - id= 'createEventMap', - description='Map Events to Class...', - action= 'dialog_createEventMap', - permissions=('Manage DMD',), - isdialog= True - ), - ], - 'HistoryEvent_list':[ - dict( - ordering=90.0, - id= 'createEventMap', - description='Map Events to Class...', - action= 'dialog_createEventMap', - permissions=('Manage DMD',), - isdialog= True - ), - dict( - ordering=80.0, - id= 'exportAllEvents', - description='Download as CSV', - action= 'javascript:goExport()', - permissions=('View',) - ), - dict( - ordering=70.0, - id= 'undeleteHistoryEvents', - description='Undelete Events...', - action= 'dialog_undeleteHistoryEvents', - permissions=('Manage DMD',), - isdialog=True - ) - ], - 'DataSource_list':[ - dict( - ordering=90.1, - id = 'addDataSource', - description = 'Add DataSource...', - action = 'dialog_addDataSource', - permissions= ('Change Device',), - isdialog=True, - ), - dict( - ordering=90.0, - id = 'deleteDataSource', - description = 'Delete DataSource...', - action = 'dialog_deleteDataSource', - permissions= ('Change Device',), - isdialog=True, - ), - ], - 'DataPoint_list':[ - dict( - ordering=90.1, - id = 'addDataPoint', - description = 'Add DataPoint...', - action = 'dialog_addDataPoint', - permissions= ('Change Device',), - isdialog=True, - ), - dict( - ordering=90.0, - id = 'deleteDataPoint', - description = 'Delete DataPoint...', - action = 'dialog_deleteDataPoint', - permissions= ('Change Device',), - isdialog=True, - ), - ], - 'Threshold_list':[ - dict( - ordering=90.1, - id = 'addThreshold', - description = 'Add Threshold...', - action = 'dialog_addThreshold', - permissions= ('Change Device',), - isdialog=True, - ), - dict( - ordering=90.0, - id = 'deleteThreshold', - description = 'Delete Threshold...', - action = 'dialog_deleteThreshold', - permissions= ('Change Device',), - isdialog=True, - ), - ], - 'Graph_list':[ - dict( - ordering=90.1, - id = 'addGraph', - description = 'Add Graph...', - action = 'dialog_addGraph', - permissions= ('Change Device',), - isdialog=True, - ), - dict( - ordering=90.0, - id = 'deleteGraph', - description = 'Delete Graph...', - action = 'dialog_deleteGraph', - permissions= ('Change Device',), - isdialog=True, - ), - dict( - ordering=80.0, - id = 'resequenceGraphs', - description = 'Re-sequence Graphs', - action = 'javascript:submitFormToMethod("graphList", "manage_resequenceRRDGraphs")', - permissions= ('Change Device',), - ), - ], - 'Subnetworks':[ - dict( - ordering=80.0, - id= 'discoverDevices', - description= 'Discover Devices', - action= ('javascript:submitFormToMethod(' - '"subnetworkForm", "discoverDevices")'), - allowed_classes= ('IpNetwork',), - permissions=('Change Device',), - ), - dict( - ordering=90.0, - id= 'deleteNetwork', - description='Delete Networks...', - action= 'dialog_deleteNetwork', - isdialog=True, - allowed_classes= ('IpNetwork',), - permissions=('Change Device',), - ), - dict( - ordering=90.1, - id= 'addNetwork', - description='Add Network...', - action= 'dialog_addNetwork', - isdialog=True, - allowed_classes= ('IpNetwork',), - permissions=('Change Device',), - ), - ], - 'IpAddresses':[ - dict( - ordering=90.0, - id= 'deleteIpAddress', - description='Delete IpAddresses...', - action= 'dialog_deleteIpAddress', - isdialog=True, - permissions=('Change Device',), - ), - ], - 'Manage': [ - dict( - ordering=90.0, - id= 'changeClass', - description='Change Class...', - action= 'dialog_changeClass', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('Device','OperatingSystem'), - ), - dict( - ordering=80.0, - id= 'setProductionState', - description='Set Production State...', - action= 'dialog_setProductionState', - permissions=('Change Device',), - isdialog=True, - allowed_classes = ('Device','OperatingSystem','DeviceClass','DeviceGroup','Location','System'), - ), - dict( - ordering=70.0, - id= 'setPriority', - description='Set Priority...', - action= 'dialog_setPriority', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('Device','OperatingSystem','DeviceClass','DeviceGroup','Location','System'), - ), - dict( - ordering=60.0, - id= 'modelDevice', - description='Model Device', - action= 'collectDevice', - permissions=('Change Device',), - allowed_classes = ('Device','OperatingSystem','DeviceClass','DeviceGroup','Location','System'), - ), - dict( - ordering=50.0, - id= 'resetIp', - description='Reset IP...', - action= 'dialog_resetIp', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('Device','OperatingSystem','DeviceClass','DeviceGroup','Location','System'), - ), - dict( - ordering=40.0, - id= 'resetCommunity', - description='Reset Community', - action= 'manage_snmpCommunity', - permissions=('Change Device',), - allowed_classes = ('Device','OperatingSystem','DeviceClass','DeviceGroup','Location','System'), - ), - dict( - ordering=30.0, - id= 'renameDevice', - description='Rename Device...', - action= 'dialog_renameDevice', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('Device','OperatingSystem'), - ), - dict( - ordering=20.0, - id= 'deleteDevice', - description='Delete Device...', - action= 'dialog_deleteDevice', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('Device','OperatingSystem'), - ), - dict(action='dialog_lock', - allowed_classes=['Device', - 'OperatingSystem', - 'WinService', - 'FileSystem', - 'HardDisk', - 'IpInterface', - 'IpService', - 'OSProcess', - 'IpRouteEntry'], - description='Lock...', - ordering=10.0, - id='lockObject', - isdialog=True, - permissions=('Change Device',) - ), - dict(action='pushConfig', - allowed_classes=['DeviceClass', - 'Device'], - description='Push Changes', - ordering=15.0, - id='pushConfig', - permissions=('Change Device',) - ), - dict(action='../pushConfig', - allowed_classes=['OperatingSystem'], - description='Push Changes', - ordering=15.0, - id='pushConfig_os', - permissions=('Change Device',) - ), - dict( - ordering=5.0, - id= 'clearHeartbeats', - description='Clear Heartbeats', - action= 'manage_deleteHeartbeat', - permissions=('Change Device',), - allowed_classes = ('Device','OperatingSystem'), - ), - ], - 'Add': [ - dict( - ordering=90.0, - id= 'addReportClass', - description='Add Report Organizer...', - action= 'dialog_addReportClass', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('ReportClass',), - ), - dict( - ordering=80.0, - id= 'addDeviceReport', - description='Add Device Report...', - action= 'dialog_addReport', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('ReportClass',), - ), - dict( - ordering=70.0, - id= 'addIpInterface', - description='Add IpInterface...', - action= 'dialog_addIpInterface', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('OperatingSystem',), - ), - dict( - ordering=60.0, - id= 'addOSProcess', - description='Add OSProcess...', - action= 'dialog_addOSProcess', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('OperatingSystem',), - ), - dict( - ordering=50.0, - id= 'addFileSystem', - description='Add File System...', - action= 'dialog_addFileSystem', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('OperatingSystem',), - ), - dict( - ordering=40.0, - id= 'addIpRouteEntry', - description='Add Route...', - action= 'dialog_addIpRouteEntry', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('OperatingSystem',), - ), - dict( - ordering=30.0, - id= 'addIpService', - description='Add IpService...', - action= 'dialog_addIpService', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('OperatingSystem',), - ), - dict( - ordering=20.0, - id= 'addWinService', - description='Add WinService...', - action= 'dialog_addWinService', - isdialog=True, - permissions=('Change Device',), - allowed_classes = ('OperatingSystem',), - ), - ], - 'OIDMappings':[ - dict( - ordering=90.1, - id= 'addOIDMapping', - description='Add OID Mapping...', - action= 'dialog_addOIDMapping', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=90.0, - id= 'deleteOIDMapping', - description='Delete OID Mapping...', - action= 'dialog_deleteOIDMapping', - isdialog=True, - permissions=('Change Device',), - ), - ], - 'Traps':[ - dict( - ordering=90.1, - id= 'addTrap', - description='Add Trap...', - action= 'dialog_addTrap', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=90.0, - id= 'deleteTrap', - description='Delete Trap...', - action= 'dialog_deleteTrap', - isdialog=True, - permissions=('Change Device',), - ), - ], - 'Templates':[ - dict( - ordering=90.1, - id= 'addTemplate', - description='Add Template...', - action= 'dialog_addTemplate', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=90.0, - id= 'deleteTemplates', - description='Delete Templates...', - action= 'dialog_deleteTemplates', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=18.0, - id= 'copyTemplates', - description='Copy Templates...', - action= 'dialog_copyTemplates', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=17.0, - id= 'pasteTemplates', - description='Paste Templates Into...', - action= 'dialog_pasteTemplates', - isdialog=True, - permissions=('Change Device',), - ), - dict( - ordering=10.0, - id= 'exportTemplates', - description='Export Templates...', - action= 'dialog_exportTemplates', - isdialog=True, - permissions=('Change Device',), - ), - ], - }) + dmd.buildMenus({ +'Add': [ { 'action': 'dialog_addReportClass', + 'allowed_classes': ('ReportClass',), + 'description': 'Add Report Organizer...', + 'id': 'addReportClass', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_addReport', + 'allowed_classes': ('ReportClass',), + 'description': 'Add Device Report...', + 'id': 'addDeviceReport', + 'isdialog': True, + 'ordering': 80.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_addIpInterface', + 'allowed_classes': ('OperatingSystem',), + 'description': 'Add IpInterface...', + 'id': 'addIpInterface', + 'isdialog': True, + 'ordering': 70.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_addOSProcess', + 'allowed_classes': ('OperatingSystem',), + 'description': 'Add OSProcess...', + 'id': 'addOSProcess', + 'isdialog': True, + 'ordering': 60.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_addFileSystem', + 'allowed_classes': ('OperatingSystem',), + 'description': 'Add File System...', + 'id': 'addFileSystem', + 'isdialog': True, + 'ordering': 50.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_addIpRouteEntry', + 'allowed_classes': ('OperatingSystem',), + 'description': 'Add Route...', + 'id': 'addIpRouteEntry', + 'isdialog': True, + 'ordering': 40.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_addIpService', + 'allowed_classes': ('OperatingSystem',), + 'description': 'Add IpService...', + 'id': 'addIpService', + 'isdialog': True, + 'ordering': 30.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_addWinService', + 'allowed_classes': ('OperatingSystem',), + 'description': 'Add WinService...', + 'id': 'addWinService', + 'isdialog': True, + 'ordering': 20.0, + 'permissions': ('Change Device',)}], +'DataPoint_list': [ { 'action': 'dialog_addDataPoint', + 'description': 'Add DataPoint...', + 'id': 'addDataPoint', + 'isdialog': True, + 'ordering': 90.1, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_deleteDataPoint', + 'description': 'Delete DataPoint...', + 'id': 'deleteDataPoint', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}], +'DataSource_list': [ { 'action': 'dialog_addDataSource', + 'description': 'Add DataSource...', + 'id': 'addDataSource', + 'isdialog': True, + 'ordering': 90.1, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_deleteDataSource', + 'description': 'Delete DataSource...', + 'id': 'deleteDataSource', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}], +'Device_list': [ { 'action': 'dialog_moveDevices', + 'description': 'Move to Class...', + 'id': 'moveclass', + 'isdialog': True, + 'ordering': 50.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_setGroups', + 'description': 'Set Groups...', + 'id': 'setGroups', + 'isdialog': True, + 'ordering': 40.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_setSystems', + 'description': 'Set Systems...', + 'id': 'setSystems', + 'isdialog': True, + 'ordering': 30.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_setLocation', + 'description': 'Set Location...', + 'id': 'setLocation', + 'isdialog': True, + 'ordering': 20.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_removeDevices', + 'description': 'Delete devices...', + 'id': 'removeDevices', + 'isdialog': True, + 'ordering': 10.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_lockDevices', + 'description': 'Lock devices...', + 'id': 'lockDevices', + 'isdialog': True, + 'ordering': 2.0, + 'permissions': ('Change Device',)}], +'EventMapping_list': [ { 'action': 'dialog_addToZenPack', + 'description': 'Add to ZenPack...', + 'id': 'addToZenPack', + 'isdialog': True, + 'ordering': 0.0, + 'permissions': ('View',)}, + { 'action': 'dialog_createInstance', + 'description': 'Add Mapping...', + 'id': 'addInstance', + 'isdialog': True, + 'ordering': 80.0, + 'permissions': ('Manage DMD',)}, + { 'action': 'dialog_removeInstances', + 'description': 'Delete Mappings...', + 'id': 'removeInstances', + 'isdialog': True, + 'ordering': 80.0, + 'permissions': ('Manage DMD',)}, + { 'action': 'dialog_moveInstances', + 'description': 'Move Mappings...', + 'id': 'moveInstances', + 'isdialog': True, + 'ordering': 70.0, + 'permissions': ('Manage DMD',)}], +'Event_list': [ { 'action': 'javascript:eventZenGrid.acknowledgeBatch()', + 'description': 'Acknowledge Events', + 'id': 'acknowledgeEvents', + 'ordering': 80.0, + 'permissions': ('Manage DMD',)}, + { 'action': 'dialog_moveEventsToHistory', + 'description': 'Move Events to History...', + 'id': 'historifyEvents', + 'isdialog': True, + 'ordering': 70.0, + 'permissions': ('Manage DMD',)}, + { 'action': 'javascript:goExport()', + 'description': 'Download as CSV', + 'id': 'exportAllEvents', + 'ordering': 10.0, + 'permissions': ('View',)}, + { 'action': 'dialog_createEventMap', + 'description': 'Map Events to Class...', + 'id': 'createEventMap', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Manage DMD',)}], +'FileSystem': [ { 'action': 'dialog_addFileSystem', + 'description': 'Add File System...', + 'id': 'addFileSystem', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_deleteFileSystems', + 'description': 'Delete FileSystems...', + 'id': 'deleteFileSystems', + 'isdialog': True, + 'ordering': 80.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_lockFileSystems', + 'description': 'Lock FileSystems...', + 'id': 'lockFileSystems', + 'isdialog': True, + 'ordering': 2.0, + 'permissions': ('Change Device',)}], +'Graph_list': [ { 'action': 'dialog_addGraph', + 'description': 'Add Graph...', + 'id': 'addGraph', + 'isdialog': True, + 'ordering': 90.1, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_deleteGraph', + 'description': 'Delete Graph...', + 'id': 'deleteGraph', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}, + { 'action': 'javascript:submitFormToMethod("graphList", "manage_resequenceRRDGraphs")', + 'description': 'Re-sequence Graphs', + 'id': 'resequenceGraphs', + 'ordering': 80.0, + 'permissions': ('Change Device',)}], +'HistoryEvent_list': [ { 'action': 'dialog_createEventMap', + 'description': 'Map Events to Class...', + 'id': 'createEventMap', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Manage DMD',)}, + { 'action': 'javascript:goExport()', + 'description': 'Download as CSV', + 'id': 'exportAllEvents', + 'ordering': 80.0, + 'permissions': ('View',)}, + { 'action': 'dialog_undeleteHistoryEvents', + 'description': 'Undelete Events...', + 'id': 'undeleteHistoryEvents', + 'isdialog': True, + 'ordering': 70.0, + 'permissions': ('Manage DMD',)}], +'IpAddresses': [ { 'action': 'dialog_deleteIpAddress', + 'description': 'Delete IpAddresses...', + 'id': 'deleteIpAddress', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}], +'IpInterface': [ { 'action': 'dialog_addIpInterface', + 'description': 'Add IpInterface...', + 'id': 'addIpInterface', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_deleteIpInterfaces', + 'description': 'Delete IpInterfaces...', + 'id': 'deleteIpInterfaces', + 'isdialog': True, + 'ordering': 80.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_lockIpInterfaces', + 'description': 'Lock IpInterfaces...', + 'id': 'lockIpInterfaces', + 'isdialog': True, + 'ordering': 2.0, + 'permissions': ('Change Device',)}], +'IpRouteEntry': [ { 'action': 'dialog_addIpRouteEntry', + 'description': 'Add IpRouteEntry...', + 'id': 'addIpRouteEntry', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_deleteIpRouteEntries', + 'description': 'Delete IpRouteEntries...', + 'id': 'deleteIpRouteEntries', + 'isdialog': True, + 'ordering': 80.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_lockIpRouteEntries', + 'description': 'Lock IpRouteEntries...', + 'id': 'lockIpRouteEntries', + 'isdialog': True, + 'ordering': 2.0, + 'permissions': ('Change Device',)}], +'IpService': [ { 'action': 'dialog_addIpService', + 'description': 'Add IpService...', + 'id': 'addIpService', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_deleteIpServices', + 'description': 'Delete IpServices...', + 'id': 'deleteIpServices', + 'isdialog': True, + 'ordering': 80.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_lockIpServices', + 'description': 'Lock IpServices...', + 'id': 'lockIpServices', + 'isdialog': True, + 'ordering': 2.0, + 'permissions': ('Change Device',)}], +'Manage': [ { 'action': 'dialog_changeClass', + 'allowed_classes': ('Device', 'OperatingSystem'), + 'description': 'Change Class...', + 'id': 'changeClass', + 'isdialog': True, + 'ordering': 90.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_setProductionState', + 'allowed_classes': ( 'Device', + 'OperatingSystem', + 'DeviceClass', + 'DeviceGroup', + 'Location', + 'System'), + 'description': 'Set Production State...', + 'id': 'setProductionState', + 'isdialog': True, + 'ordering': 80.0, + 'permissions': ('Change Device',)}, + { 'action': 'dialog_setPriority', + 'allowed_classes': ( 'Device', + 'OperatingSystem', + 'DeviceClass', + 'DeviceGroup', + 'Location', + 'System'), + 'description': 'Set Priority...', + 'id': 'setPriority', +... [truncated message content] |
From: <sv...@ze...> - 2007-05-01 21:21:06
|
Author: ian Date: 2007-05-01 17:21:03 -0400 (Tue, 01 May 2007) New Revision: 5018 Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt Log: * Fixed a bug breaking all templates not below dmd Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-05-01 21:07:21 UTC (rev 5017) +++ trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-05-01 21:21:03 UTC (rev 5018) @@ -274,14 +274,19 @@ tal:condition="python:(ztabs and not getattr(request, 'notabs', False))"> <tr tal:define="menu_ids menu_ids | python:['Actions','Add','Manage','More']"> - <td class="contextmenutab" - tal:condition="python:here.getMenus(menu_ids, here)"> + <tal:block tal:condition="python:hasattr(here, 'getMenus')"> + <td class="contextmenutab" + tal:condition="python:here.getMenus(menu_ids, here)" > <span metal:use-macro="here/zenuimacros/macros/basemenu"/> </td> <td class="tabtableleftcap" - tal:condition="python:not here.getMenus(menu_ids, here)"> + tal:condition="python:not here.getMenus(menu_ids, here)" > </td> + </tal:block> + <tal:block tal:condition="python:not hasattr(here, 'getMenus')"> + <td class="tabtableleftcap"> </td> + </tal:block> <td tal:repeat="tab ztabs" tal:attributes="class python:tab.get('selected', None) and 'tabletitleselected'"> Modified: trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-05-01 21:07:21 UTC (rev 5017) +++ trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-05-01 21:21:03 UTC (rev 5018) @@ -157,7 +157,7 @@ <tal:block metal:define-macro="devmovemenu"> - +<tal:block tal:condition="python:hasattr(here, 'getMenus')"> <div class="littlemenu" tal:attributes="id menu_id" tal:define="menuitems python:here.getMenus(menu_id, here); pathtrans here/REQUEST/PATH_TRANSLATED; @@ -207,6 +207,7 @@ </script> </div> </tal:block> +</tal:block> <!--=================================== Zentable macro |
From: <sv...@ze...> - 2007-05-01 21:07:27
|
Author: marc Date: 2007-05-01 17:07:21 -0400 (Tue, 01 May 2007) New Revision: 5017 Modified: trunk/Products/ZenModel/Device.py trunk/Products/ZenModel/DeviceClass.py trunk/Products/ZenModel/Lockable.py Log: * Added messages to Device, DeviceCLass, and Loackables dialogs Modified: trunk/Products/ZenModel/Device.py =================================================================== --- trunk/Products/ZenModel/Device.py 2007-05-01 20:43:22 UTC (rev 5016) +++ trunk/Products/ZenModel/Device.py 2007-05-01 21:07:21 UTC (rev 5017) @@ -184,6 +184,7 @@ serv = Device(id) context._setObject(serv.id, serv) if REQUEST is not None: + REQUEST['message'] = "Device created" REQUEST['RESPONSE'].redirect(context.absolute_url()+'/manage_main') @@ -661,6 +662,8 @@ except socket.error: ip = "" self.manageIp = ip if REQUEST: + if ip: REQUEST['message'] = "Manage IP set" + else: REQUEST['message'] = "Not a valid IP" return self.callZenScreen(REQUEST) else: return self.manageIp @@ -879,7 +882,12 @@ finally: zem.close(conn) except OperationalError: log.exception("failed to update events with new prodState") + if REQUEST: + REQUEST['message'] = "Failed to update events with new production state" + return self.callZenScreen(REQUEST) + if REQUEST: + REQUEST['message'] = "Production state set" return self.callZenScreen(REQUEST) security.declareProtected('Change Device', 'setPriority') @@ -897,7 +905,12 @@ finally: zem.close(conn) except OperationalError: log.exception("failed to update events with new priority") + if REQUEST: + REQUEST['message'] = "Failed to update events with new priority" + return self.callZenScreen(REQUEST) + if REQUEST: + REQUEST['message'] = "Priority set" return self.callZenScreen(REQUEST) security.declareProtected('Change Device', 'setLastChange') @@ -933,8 +946,6 @@ return self.callZenScreen(REQUEST) - - security.declareProtected('Change Device', 'setHWProduct') def setHWProduct(self, newHWProductName=None, hwManufacturer=None, REQUEST=None): @@ -946,7 +957,10 @@ added = True if REQUEST: if added: + REQUEST['message'] = "Hardware product set" REQUEST['hwProductName'] = newHWProductName + else: + REQUEST['message'] = "Hardware product was not set" return self.callZenScreen(REQUEST) @@ -958,7 +972,10 @@ newOSProductName, osManufacturer) if REQUEST: if newOSProductName: + REQUEST['message'] = "OS Product set" REQUEST['osProductName'] = newOSProductName + else: + REQUEST['message'] = "OS Product was not set" return self.callZenScreen(REQUEST) @@ -1048,7 +1065,7 @@ sys = self.getDmdRoot("Systems").createOrganizer(newSystemPath) self.addRelation("systems", sys) if REQUEST: - + REQUEST['message'] = "System added" return self.callZenScreen(REQUEST) @@ -1192,6 +1209,7 @@ if REQUEST and setlog: response.write(self.loggingFooter()) clearWebLoggingStream(handler) + REQUEST['message'] = "Configuration collected" @@ -1203,6 +1221,7 @@ self.getEventManager().manage_deleteAllEvents(self.getId()) parent._delObject(self.getId()) if REQUEST: + REQUEST['message'] = "Device deleted" REQUEST['RESPONSE'].redirect(parent.absolute_url() + "/deviceOrganizerStatus") @@ -1216,7 +1235,9 @@ parent = self.getPrimaryParent() parent.manage_renameObject(self.getId(), newId) self.setLastChange() - if REQUEST: return self() + if REQUEST: + REQUEST['message'] = "Device renamed" + return self() def manage_afterAdd(self, item, container): Modified: trunk/Products/ZenModel/DeviceClass.py =================================================================== --- trunk/Products/ZenModel/DeviceClass.py 2007-05-01 20:43:22 UTC (rev 5016) +++ trunk/Products/ZenModel/DeviceClass.py 2007-05-01 21:07:21 UTC (rev 5017) @@ -198,6 +198,7 @@ target.devices._setObject(devname, dev) dev.setLastChange() if REQUEST: + REQUEST['message'] = "Devices moved to %s" % moveTarget REQUEST['RESPONSE'].redirect(target.getPrimaryUrlPath()) @@ -209,6 +210,7 @@ dev = self.findDevice(devname) dev.deleteDevice() if REQUEST: + REQUEST['message'] = "Devices deleted" return self.callZenScreen(REQUEST) def setGroups(self, groupPaths=None, deviceNames=None, REQUEST=None): @@ -218,7 +220,9 @@ for devname in deviceNames: dev = self.findDevice(devname) dev.setGroups(groupPaths) - if REQUEST: REQUEST['RESPONSE'].redirect(self.getPrimaryUrlPath()) + if REQUEST: + REQUEST['message'] = "Groups set" + REQUEST['RESPONSE'].redirect(self.getPrimaryUrlPath()) def setSystems(self, systemPaths=None, deviceNames=None, REQUEST=None): """ Provide a method to set device systems from any organizer """ @@ -227,7 +231,9 @@ for devname in deviceNames: dev = self.findDevice(devname) dev.setSystems(systemPaths) - if REQUEST: return self() + if REQUEST: + REQUEST['message'] = "Systems set" + return self() def setLocation(self, locationPath=None, deviceNames=None, REQUEST=None): """ Provide a method to set device location from any organizer """ @@ -236,7 +242,9 @@ for devname in deviceNames: dev = self.findDevice(devname) dev.setLocation(locationPath) - if REQUEST: return self() + if REQUEST: + REQUEST['message'] = "Location set" + return self() def unlockDevices(self, deviceNames=None, sendEventWhenBlocked=None, REQUEST=None): @@ -247,6 +255,7 @@ dev = self.findDevice(devname) dev.unlock(sendEventWhenBlocked) if REQUEST: + REQUEST['message'] = "Devices unlocked" return self.callZenScreen(REQUEST) def lockDevicesFromDeletion(self, deviceNames=None, sendEventWhenBlocked=None, REQUEST=None): @@ -257,6 +266,7 @@ dev = self.findDevice(devname) dev.lockFromDeletion(sendEventWhenBlocked) if REQUEST: + REQUEST['message'] = "Devices locked from deletion" return self.callZenScreen(REQUEST) def lockDevicesFromUpdates(self, deviceNames=None, sendEventWhenBlocked=None, REQUEST=None): @@ -267,6 +277,7 @@ dev = self.findDevice(devname) dev.lockFromUpdates(sendEventWhenBlocked) if REQUEST: + REQUEST['message'] = "Devices locked from updates and deletion" return self.callZenScreen(REQUEST) security.declareProtected('View', 'getEventDeviceInfo') @@ -485,7 +496,9 @@ id = self.prepId(id) org = RRDTemplate(id) self.rrdTemplates._setObject(org.id, org) - if REQUEST: return self.callZenScreen(REQUEST) + if REQUEST: + REQUEST['message'] = "Template added" + return self.callZenScreen(REQUEST) def manage_copyRRDTemplates(self, ids=(), REQUEST=None): @@ -498,6 +511,7 @@ resp=REQUEST['RESPONSE'] resp.setCookie('__cp', cp, path='/zport/dmd') REQUEST['__cp'] = cp + REQUEST['message'] = "Templates copied" return self.callZenScreen(REQUEST) return cp @@ -521,6 +535,7 @@ REQUEST['RESPONSE'].setCookie('__cp', 'deleted', path='/zport/dmd', expires='Wed, 31-Dec-97 23:59:59 GMT') REQUEST['__cp'] = None + REQUEST['message'] = "Templates pasted" return self.callZenScreen(REQUEST) @@ -534,7 +549,9 @@ if (getattr(aq_base(self), 'rrdTemplates', False) and getattr(aq_base(self.rrdTemplates),id,False)): self.rrdTemplates._delObject(id) - if REQUEST: return self.callZenScreen(REQUEST) + if REQUEST: + REQUEST['message'] = "Templates deleted" + return self.callZenScreen(REQUEST) def manage_exportRRDTemplates(self, ids=(), REQUEST=None): """Export RRDTemplates from this DeviceClass @@ -548,6 +565,7 @@ if templates and obj: self.zmanage_exportObject(obj, REQUEST) if REQUEST: + REQUEST['message'] = "Templates exported" return self.callZenScreen(REQUEST) security.declareProtected('Add DMD Objects', 'manage_importRRDTemplates') Modified: trunk/Products/ZenModel/Lockable.py =================================================================== --- trunk/Products/ZenModel/Lockable.py 2007-05-01 20:43:22 UTC (rev 5016) +++ trunk/Products/ZenModel/Lockable.py 2007-05-01 21:07:21 UTC (rev 5017) @@ -91,6 +91,7 @@ dc.unlock(sendEventWhenBlocked) if REQUEST: + REQUEST['message'] = "Unlocked" return self.callZenScreen(REQUEST) def lockFromDeletion(self, sendEventWhenBlocked=None, REQUEST=None): @@ -106,6 +107,7 @@ dc.lockFromDeletion(sendEventWhenBlocked) if REQUEST: + REQUEST['message'] = "Locked from deletion" return self.callZenScreen(REQUEST) def lockFromUpdates(self, sendEventWhenBlocked=None, REQUEST=None): @@ -121,6 +123,7 @@ dc.lockFromUpdates(sendEventWhenBlocked) if REQUEST: + REQUEST['message'] = "Locked from updates and deletion" return self.callZenScreen(REQUEST) def lockStatus(self): |
From: <sv...@ze...> - 2007-05-01 20:43:23
|
Author: marc Date: 2007-05-01 16:43:22 -0400 (Tue, 01 May 2007) New Revision: 5016 Modified: trunk/Products/ZenModel/MibOrganizer.py trunk/Products/ZenModel/Organizer.py trunk/Products/ZenModel/UserSettings.py trunk/Products/ZenModel/skins/zenmodel/dialog_addUser.pt trunk/Products/ZenModel/skins/zenmodel/dialog_deleteUsers.pt trunk/Products/ZenWidgets/skins/zenui/dialog_addMibModule.pt trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt trunk/Products/ZenWidgets/skins/zenui/dialog_removeMibModules.pt trunk/Products/ZenWidgets/skins/zenui/dialog_removeOrganizer.pt Log: * Added messages to User, Organizer, and Mib dialogs Modified: trunk/Products/ZenModel/MibOrganizer.py =================================================================== --- trunk/Products/ZenModel/MibOrganizer.py 2007-05-01 20:24:01 UTC (rev 5015) +++ trunk/Products/ZenModel/MibOrganizer.py 2007-05-01 20:43:22 UTC (rev 5016) @@ -125,6 +125,7 @@ mm = MibModule(id) self.mibs._setObject(id, mm) if REQUEST: + REQUEST['message'] = "Mib Module created" return self.callZenScreen(REQUEST) else: return self.mibs._getOb(id) @@ -137,7 +138,9 @@ if type(ids) == types.StringType: ids = (ids,) for id in ids: self.mibs._delObject(id) - if REQUEST: return self() + if REQUEST: + REQUEST['message'] = "Mib Module deleted" + return self() def moveMibModules(self, moveTarget, ids=None, REQUEST=None): @@ -152,6 +155,7 @@ self.mibs._delObject(id) target.mibs._setObject(id, rec) if REQUEST: + REQUEST['message'] = "Mib Module moved" REQUEST['RESPONSE'].redirect(target.getPrimaryUrlPath()) Modified: trunk/Products/ZenModel/Organizer.py =================================================================== --- trunk/Products/ZenModel/Organizer.py 2007-05-01 20:24:01 UTC (rev 5015) +++ trunk/Products/ZenModel/Organizer.py 2007-05-01 20:43:22 UTC (rev 5016) @@ -97,9 +97,10 @@ org = self.__class__(newPath) self._setObject(org.id, org) except ZentinelException, e: - if REQUEST: - REQUEST['message'] = 'Error: %s' % e - if REQUEST: return self.callZenScreen(REQUEST) + if REQUEST: REQUEST['message'] = 'Error: %s' % e + if REQUEST: + REQUEST['message'] = "Organizer added" + return self.callZenScreen(REQUEST) security.declareProtected('Delete objects', 'manage_deleteOrganizer') @@ -122,10 +123,14 @@ def manage_deleteOrganizers(self, organizerPaths=None, REQUEST=None): """Delete a list of Organizers from the database using their ids. """ - if not organizerPaths: return self.callZenScreen(REQUEST) + if not organizerPaths: + REQUEST['message'] = "Organizer not specified, not deleted" + return self.callZenScreen(REQUEST) for organizerName in organizerPaths: self.manage_deleteOrganizer(organizerName) - if REQUEST: return self.callZenScreen(REQUEST) + if REQUEST: + REQUEST['message'] = "Organizer deleted" + return self.callZenScreen(REQUEST) def deviceMoveTargets(self): @@ -146,9 +151,12 @@ self._delObject(organizerName) target._setObject(organizerName, obj) movedStuff = True - if REQUEST and movedStuff: return target.callZenScreen(REQUEST) - - + if REQUEST: + if movedStuff: REQUEST['message'] = "Organizer moved" + else: REQUEST['message'] = "No organizers were moved" + return target.callZenScreen(REQUEST) + + def createOrganizer(self, path): """Create and return and an Organizer from its path.""" return self.createHierarchyObj(self.getDmdRoot(self.dmdRootName), Modified: trunk/Products/ZenModel/UserSettings.py =================================================================== --- trunk/Products/ZenModel/UserSettings.py 2007-05-01 20:24:01 UTC (rev 5015) +++ trunk/Products/ZenModel/UserSettings.py 2007-05-01 20:43:22 UTC (rev 5016) @@ -165,7 +165,7 @@ if REQUEST: kw = REQUEST.form ufolder.updatePropsFromDict(kw) if REQUEST: - REQUEST['message'] = Time.SaveMessage() + REQUEST['message'] = "User added" return self.callZenScreen(REQUEST) else: return user @@ -237,7 +237,7 @@ mobj.adminRoles._delObject(ar.id) self._delObject(userid) if REQUEST: - REQUEST['message'] = Time.SaveMessage() + REQUEST['message'] = "Users deleted" return self.callZenScreen(REQUEST) Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addUser.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addUser.pt 2007-05-01 20:24:01 UTC (rev 5015) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addUser.pt 2007-05-01 20:43:22 UTC (rev 5016) @@ -1,18 +1,18 @@ <h2>Add User</h2> -<form method="post" tal:attributes="action here/absolute_url" name="addComponent"> +<form method="post" tal:attributes="action here/absolute_url" name="_"> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> <span id="new_id_label">Username: </span> -<input id="new_id" - name="userid" - tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"><br/><br/> -Email: <input name="email"><br/><br/> +<input id="new_id" name="userid" + tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"> +<br/><br/> +Email: <input name="email"> +<br/><br/> </p> <div id="dialog_buttons"> -<input type="submit" name="manage_addUser:method" - value="OK" /> +<input type="submit" name="manage_addUser:method" value="OK" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> </form> \ No newline at end of file Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_deleteUsers.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_deleteUsers.pt 2007-05-01 20:24:01 UTC (rev 5015) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_deleteUsers.pt 2007-05-01 20:43:22 UTC (rev 5016) @@ -1,4 +1,3 @@ - <h2>Delete Users</h2> <br/><br/> <p> @@ -6,10 +5,9 @@ </p> <br/> <div id="dialog_buttons"> -<input type="submit" name="manage_deleteUsers:method" - value="OK" - tal:attributes="onclick string:return $$('dialog').submit_form( +<input type="submit" name="manage_deleteUsers:method" value="OK" + tal:attributes="onclick string:return $$('dialog').submit_form( '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_addMibModule.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_addMibModule.pt 2007-05-01 20:24:01 UTC (rev 5015) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_addMibModule.pt 2007-05-01 20:43:22 UTC (rev 5016) @@ -1,14 +1,13 @@ <h2>Add Mib Module</h2> -<p> -What would you like to name this module? -</p> +<span id="errmsg" style="color:red;"></span> <br/> -<p style="text-align:center;"> -<input type="text" name="id"/> -</p> <div id="dialog_buttons"> -<input type="submit" name="manage_addMibModule:method" - value="Add" +<span id="new_id_label">ID: </span> +<input id="new_id" name="id" + tal:attributes="onblur string:checkValidId('${here/getPrimaryUrlPath}', +this.id)"> +<br/><br/> +<input type="submit" name="manage_addMibModule:method" value="Add" tal:attributes="onclick string:return $$('dialog').submit_form( '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt 2007-05-01 20:24:01 UTC (rev 5015) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_addOrganizer.pt 2007-05-01 20:43:22 UTC (rev 5016) @@ -1,16 +1,12 @@ <h2>Add Organizer</h2> -<p> -What would you like to name this organizer? -</p> <span id="errmsg" style="color:red;"></span> <br/> -<p style="text-align:right;"> -<span id="new_id_label">ID: </span> -<input id="new_id" - name="newPath" - tal:attributes="onblur string:checkValidId('${here/getPrimaryUrlPath}', this.id)"><br/> -</p> <div id="dialog_buttons"> +<span id="new_id_label">ID: </span> +<input id="new_id" name="newPath" + tal:attributes="onblur string:checkValidId('${here/getPrimaryUrlPath}', +this.id)"> +<br/><br/> <input type="submit" name="manage_addOrganizer:method" value="Add Organizer" tal:attributes="onclick string:return $$('dialog').submit_form( Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_removeMibModules.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_removeMibModules.pt 2007-05-01 20:24:01 UTC (rev 5015) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_removeMibModules.pt 2007-05-01 20:43:22 UTC (rev 5016) @@ -1,4 +1,3 @@ - <h2>Remove Mib Modules</h2> <br/><br/> <p> @@ -6,10 +5,9 @@ </p> <br/> <div id="dialog_buttons"> -<input type="submit" name="removeMibModules:method" - value="Yes" +<input type="submit" name="removeMibModules:method" value="Yes" tal:attributes="onclick string:return $$('dialog').submit_form( '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_removeOrganizer.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_removeOrganizer.pt 2007-05-01 20:24:01 UTC (rev 5015) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_removeOrganizer.pt 2007-05-01 20:43:22 UTC (rev 5016) @@ -1,4 +1,3 @@ - <h2>Remove Device Organizers</h2> <br/><br/> <p> |
From: <sv...@ze...> - 2007-05-01 20:24:26
|
Author: chris Date: 2007-05-01 16:24:01 -0400 (Tue, 01 May 2007) New Revision: 5015 Modified: trunk/inst/externallibs/wmi-20070425.tar.bz2 Log: removed DESTDIR from the PYINCLUDE in the GNUmakefile ecn wrote Modified: trunk/inst/externallibs/wmi-20070425.tar.bz2 =================================================================== (Binary files differ) |
From: <sv...@ze...> - 2007-05-01 20:10:45
|
Author: ecn Date: 2007-05-01 16:10:44 -0400 (Tue, 01 May 2007) New Revision: 5014 Modified: trunk/Products/ZenRRD/RRDDaemon.py Log: set name for start/stop events Modified: trunk/Products/ZenRRD/RRDDaemon.py =================================================================== --- trunk/Products/ZenRRD/RRDDaemon.py 2007-05-01 19:38:16 UTC (rev 5013) +++ trunk/Products/ZenRRD/RRDDaemon.py 2007-05-01 20:10:44 UTC (rev 5014) @@ -58,8 +58,8 @@ def __init__(self, name): self.events = [] + self.name = name Base.__init__(self) - self.name = name evt = self.heartbeatevt.copy() self.heartbeatevt.update(dict(component=name, device=socket.getfqdn())) |
From: <sv...@ze...> - 2007-05-01 19:38:16
|
Author: marc Date: 2007-05-01 15:38:16 -0400 (Tue, 01 May 2007) New Revision: 5013 Modified: trunk/Products/ZenModel/ZenModelBase.py Log: * "/" is a valid character in checkValidId Modified: trunk/Products/ZenModel/ZenModelBase.py =================================================================== --- trunk/Products/ZenModel/ZenModelBase.py 2007-05-01 19:28:45 UTC (rev 5012) +++ trunk/Products/ZenModel/ZenModelBase.py 2007-05-01 19:38:16 UTC (rev 5013) @@ -83,6 +83,7 @@ """Checks a valid id """ new_id = unquote(id) + new_id = new_id.replace('/', '_') try: globalCheckValidId(self, new_id) try: |
From: <sv...@ze...> - 2007-05-01 19:28:47
|
Author: jstevens Date: 2007-05-01 15:28:45 -0400 (Tue, 01 May 2007) New Revision: 5012 Modified: trunk/Products/ZenEvents/EventManagerBase.py Log: fixes #1352 * gets rid of extra column in dashboard heartbeats table Modified: trunk/Products/ZenEvents/EventManagerBase.py =================================================================== --- trunk/Products/ZenEvents/EventManagerBase.py 2007-05-01 19:19:43 UTC (rev 5011) +++ trunk/Products/ZenEvents/EventManagerBase.py 2007-05-01 19:28:45 UTC (rev 5012) @@ -876,7 +876,8 @@ data = {} data['systemevents'] = self.getOrganizerSummary( 'Systems','viewEvents', simple) - data['heartbeat'] = self.getHeartbeat() + # Dashboard just wants the first 3 elements of each heartbeat + data['heartbeat'] = [h[:3] for h in self.getHeartbeat()] data['deviceevents'] = self.getDeviceDashboard(simple) self.addToCache("dashboardinfo", data) self.cleanCache() |
From: <sv...@ze...> - 2007-05-01 19:19:41
|
Author: ecn Date: 2007-05-01 15:19:43 -0400 (Tue, 01 May 2007) New Revision: 5011 Added: trunk/inst/externallibs/wmi-20070425.tar.bz2 Removed: trunk/inst/externallibs/wmi-20070501.tar.bz2 Log: revert back one version of the wmi library Added: trunk/inst/externallibs/wmi-20070425.tar.bz2 Property changes on: trunk/inst/externallibs/wmi-20070425.tar.bz2 ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: trunk/inst/externallibs/wmi-20070501.tar.bz2 |
From: <sv...@ze...> - 2007-05-01 19:13:33
|
Author: ecn Date: 2007-05-01 15:13:33 -0400 (Tue, 01 May 2007) New Revision: 5010 Modified: trunk/Products/ZenStatus/zenstatus.py Log: leave ping down devices alone Modified: trunk/Products/ZenStatus/zenstatus.py =================================================================== --- trunk/Products/ZenStatus/zenstatus.py 2007-05-01 18:41:56 UTC (rev 5009) +++ trunk/Products/ZenStatus/zenstatus.py 2007-05-01 19:13:33 UTC (rev 5010) @@ -23,6 +23,8 @@ from Products.ZenStatus.ZenTcpClient import ZenTcpClient from Products.ZenEvents.ZenEventClasses import Heartbeat +from sets import Set + class Status: _running = 0 _fail = 0 @@ -179,10 +181,11 @@ self.log.debug("Getting down devices") yield self.eventService().callRemote('getDevicePingIssues') - self.pingStatus = driver.next() + ignored = Set([s[0] for s in driver.next()]) self.log.debug("Starting scan") - d = self.status.start(self.ipservices) + d = self.status.start([i for i in self.ipservices + if i.cfg.device not in ignored]) self.log.debug("Running jobs") self.runSomeJobs() yield d |
From: <sv...@ze...> - 2007-05-01 18:41:55
|
Author: marc Date: 2007-05-01 14:41:56 -0400 (Tue, 01 May 2007) New Revision: 5009 Modified: trunk/Products/ZenModel/OperatingSystem.py trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt Log: * Added message to device component dialogs Modified: trunk/Products/ZenModel/OperatingSystem.py =================================================================== --- trunk/Products/ZenModel/OperatingSystem.py 2007-05-01 18:29:20 UTC (rev 5008) +++ trunk/Products/ZenModel/OperatingSystem.py 2007-05-01 18:41:56 UTC (rev 5009) @@ -189,7 +189,6 @@ dc = context._getOb(componentName) dc.manage_deleteComponent() if REQUEST: - REQUEST['message'] = 'Device components deleted' return self.callZenScreen(REQUEST) def unlockDeviceComponents(self, context, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): @@ -227,26 +226,39 @@ """Add IpInterfaces. """ manage_addIpInterface(self.interfaces, id, userCreated) - if REQUEST is not None: + if REQUEST: + REQUEST['message'] = 'IpInterface created' REQUEST['RESPONSE'].redirect(self.interfaces._getOb(id).absolute_url()) - + return self.callZenScreen(REQUEST) + def deleteIpInterfaces(self, componentNames=[], REQUEST=None): """Delete IpInterfaces""" - return self.deleteDeviceComponents(self.interfaces, componentNames, REQUEST) + self.deleteDeviceComponents(self.interfaces, componentNames, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpInterfaces deleted' + return self.callZenScreen(REQUEST) def unlockIpInterfaces(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Unlock IpInterfaces""" - return self.unlockDeviceComponents(self.interfaces, componentNames, sendEventWhenBlocked, REQUEST) - + self.unlockDeviceComponents(self.interfaces, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpInterfaces unlocked' + return self.callZenScreen(REQUEST) + def lockIpInterfacesFromDeletion(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock IpInterfaces from deletion""" - return self.lockDeviceComponentsFromDeletion(self.interfaces, componentNames, sendEventWhenBlocked, REQUEST) - + self.lockDeviceComponentsFromDeletion(self.interfaces, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpInterfaces locked from deletion' + return self.callZenScreen(REQUEST) + def lockIpInterfacesFromUpdates(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock IpInterfaces from updates""" - return self.lockDeviceComponentsFromUpdates(self.interfaces, componentNames, sendEventWhenBlocked, REQUEST) + self.lockDeviceComponentsFromUpdates(self.interfaces, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpInterfaces locked from updates and deletion' + return self.callZenScreen(REQUEST) - def addWinService(self, id, description, @@ -258,26 +270,39 @@ id, description, userCreated=userCreated) - if REQUEST is not None: + if REQUEST: + REQUEST['message'] = 'WinService created' REQUEST['RESPONSE'].redirect(self.winservices._getOb(id).absolute_url()) + return self.callZenScreen(REQUEST) def deleteWinServices(self, componentNames=[], REQUEST=None): """Delete WinServices""" - return self.deleteDeviceComponents(self.winservices, componentNames, REQUEST) - + self.deleteDeviceComponents(self.winservices, componentNames, REQUEST) + if REQUEST: + REQUEST['message'] = 'WinServices deleted' + return self.callZenScreen(REQUEST) + def unlockWinServices(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Unlock WinServices""" - return self.unlockDeviceComponents(self.winservices, componentNames, sendEventWhenBlocked, REQUEST) - + self.unlockDeviceComponents(self.winservices, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'WinServices unlocked' + return self.callZenScreen(REQUEST) + def lockWinServicesFromDeletion(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock WinServices from deletion""" - return self.lockDeviceComponentsFromDeletion(self.winservices, componentNames, sendEventWhenBlocked, REQUEST) - + self.lockDeviceComponentsFromDeletion(self.winservices, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'WinServices locked from deletion' + return self.callZenScreen(REQUEST) + def lockWinServicesFromUpdates(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock WinServices from updates""" - return self.lockDeviceComponentsFromUpdates(self.winservices, componentNames, sendEventWhenBlocked, REQUEST) + self.lockDeviceComponentsFromUpdates(self.winservices, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'WinServices locked from updates and deletion' + return self.callZenScreen(REQUEST) - def addOSProcess(self, id, className, @@ -289,26 +314,38 @@ id, className, userCreated) - if REQUEST is not None: + if REQUEST: + REQUEST['message'] = 'OSProcess created' REQUEST['RESPONSE'].redirect(self.processes._getOb(id).absolute_url()) def deleteOSProcesses(self, componentNames=[], REQUEST=None): """Delete OSProcesses""" - return self.deleteDeviceComponents(self.processes, componentNames, REQUEST) - + self.deleteDeviceComponents(self.processes, componentNames, REQUEST) + if REQUEST: + REQUEST['message'] = 'OSProcesses deleted' + return self.callZenScreen(REQUEST) + def unlockOSProcesses(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Unlock OSProcesses""" - return self.unlockDeviceComponents(self.processes, componentNames, sendEventWhenBlocked, REQUEST) - + self.unlockDeviceComponents(self.processes, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'OSProcesses unlocked' + return self.callZenScreen(REQUEST) + def lockOSProcessesFromDeletion(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock OSProcesses from deletion""" - return self.lockDeviceComponentsFromDeletion(self.processes, componentNames, sendEventWhenBlocked, REQUEST) - + self.lockDeviceComponentsFromDeletion(self.processes, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'OSProcesses locked from deletion' + return self.callZenScreen(REQUEST) + def lockOSProcessesFromUpdates(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock OSProcesses from updates""" - return self.lockDeviceComponentsFromUpdates(self.processes, componentNames, sendEventWhenBlocked, REQUEST) + self.lockDeviceComponentsFromUpdates(self.processes, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'OSProcesses locked from updates and deletion' + return self.callZenScreen(REQUEST) - def addIpService(self, id, protocol, @@ -322,51 +359,77 @@ protocol, port, userCreated=userCreated) - if REQUEST is not None: + if REQUEST: + REQUEST['message'] = 'IpService created' REQUEST['RESPONSE'].redirect(self.ipservices._getOb(id).absolute_url()) + return self.callZenScreen(REQUEST) def deleteIpServices(self, componentNames=[], REQUEST=None): """Delete IpServices""" - return self.deleteDeviceComponents(self.ipservices, componentNames, REQUEST) - + self.deleteDeviceComponents(self.ipservices, componentNames, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpServices deleted' + return self.callZenScreen(REQUEST) + def unlockIpServices(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Unlock IpServices""" - return self.unlockDeviceComponents(self.ipservices, componentNames, sendEventWhenBlocked, REQUEST) - + self.unlockDeviceComponents(self.ipservices, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpServices unlocked' + return self.callZenScreen(REQUEST) + def lockIpServicesFromDeletion(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock IpServices from deletion""" - return self.lockDeviceComponentsFromDeletion(self.ipservices, componentNames, sendEventWhenBlocked, REQUEST) - + self.lockDeviceComponentsFromDeletion(self.ipservices, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpServices locked from deletion' + return self.callZenScreen(REQUEST) + def lockIpServicesFromUpdates(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock IpServices from updates""" - return self.lockDeviceComponentsFromUpdates(self.ipservices, componentNames, sendEventWhenBlocked, REQUEST) + self.lockDeviceComponentsFromUpdates(self.ipservices, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpServices locked from updates and deletion' + return self.callZenScreen(REQUEST) - def addFileSystem(self, id, userCreated, REQUEST=None): """Add a FileSystem. """ fsid = prepId(id) manage_addFileSystem(self.filesystems, id, userCreated) - if REQUEST is not None: + if REQUEST: + REQUEST['message'] = 'FileSystem created' REQUEST['RESPONSE'].redirect(self.filesystems._getOb(fsid).absolute_url()) - + return self.callZenScreen(REQUEST) + def deleteFileSystems(self, componentNames=[], REQUEST=None): """Delete FileSystems""" - return self.deleteDeviceComponents(self.filesystems, componentNames, REQUEST) - + self.deleteDeviceComponents(self.filesystems, componentNames, REQUEST) + if REQUEST: + REQUEST['message'] = 'FileSystems deleted' + return self.callZenScreen(REQUEST) + def unlockFileSystems(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Unlock FileSystems""" - return self.unlockDeviceComponents(self.filesystems, componentNames, sendEventWhenBlocked, REQUEST) - + self.unlockDeviceComponents(self.filesystems, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'FileSystems unlocked' + return self.callZenScreen(REQUEST) + def lockFileSystemsFromDeletion(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock FileSystems from deletion""" - return self.lockDeviceComponentsFromDeletion(self.filesystems, componentNames, sendEventWhenBlocked, REQUEST) - + self.lockDeviceComponentsFromDeletion(self.filesystems, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'FileSystems locked from deletion' + return self.callZenScreen(REQUEST) + def lockFileSystemsFromUpdates(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock FileSystems from updates""" - return self.lockDeviceComponentsFromUpdates(self.filesystems, componentNames, sendEventWhenBlocked, REQUEST) + self.lockDeviceComponentsFromUpdates(self.filesystems, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'FileSystems locked from updates and deletion' + return self.callZenScreen(REQUEST) - def addIpRouteEntry(self, dest, nexthopid, @@ -384,23 +447,37 @@ routeproto, routetype, userCreated=userCreated) - if REQUEST is not None: + if REQUEST: + REQUEST['message'] = 'IpRouteEntry created' REQUEST['RESPONSE'].redirect(self.absolute_url()) - + return self.callZenScreen(REQUEST) + def deleteIpRouteEntries(self, componentNames=[], REQUEST=None): """Delete IpRouteEntries""" - return self.deleteDeviceComponents(self.routes, componentNames, REQUEST) - + self.deleteDeviceComponents(self.routes, componentNames, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpRouteEntries deleted' + return self.callZenScreen(REQUEST) + def unlockIpRouteEntries(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Unlock IpRouteEntries""" - return self.unlockDeviceComponents(self.routes, componentNames, sendEventWhenBlocked, REQUEST) - + self.unlockDeviceComponents(self.routes, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpRouteEntries unlocked' + return self.callZenScreen(REQUEST) + def lockIpRouteEntriesFromDeletion(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock IpRouteEntries from deletion""" - return self.lockDeviceComponentsFromDeletion(self.routes, componentNames, sendEventWhenBlocked, REQUEST) - + self.lockDeviceComponentsFromDeletion(self.routes, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpRouteEntries locked from deletion' + return self.callZenScreen(REQUEST) + def lockIpRouteEntriesFromUpdates(self, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): """Lock IpRouteEntries from updates""" - return self.lockDeviceComponentsFromUpdates(self.routes, componentNames, sendEventWhenBlocked, REQUEST) - -InitializeClass(OperatingSystem) + self.lockDeviceComponentsFromUpdates(self.routes, componentNames, sendEventWhenBlocked, REQUEST) + if REQUEST: + REQUEST['message'] = 'IpRouteEntries locked from updates and deletion' + return self.callZenScreen(REQUEST) + +InitializeClass(OperatingSystem) \ No newline at end of file Modified: trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt 2007-05-01 18:29:20 UTC (rev 5008) +++ trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt 2007-05-01 18:41:56 UTC (rev 5009) @@ -78,14 +78,14 @@ <td class="tablevalues" align="center"> <img border="0" tal:attributes="src python:test(intf.operStatus==1, - here.getStatusImgSrc(0), - here.getStatusImgSrc(3))" /> + here.getStatusImgSrc(0), + here.getStatusImgSrc(3))" /> </td> <td class="tablevalues" align="center"> <img border="0" tal:attributes="src python:test(intf.adminStatus==1, - here.getStatusImgSrc(0), - here.getStatusImgSrc(3))" /> + here.getStatusImgSrc(0), + here.getStatusImgSrc(3))" /> </td> <td class="tablevalues" align="center"> <img tal:condition="intf/isLockedFromDeletion" border="0" src="locked-delete-icon.png"> @@ -149,11 +149,11 @@ <td class="tablevalues" tal:content="srv/startMode"/> <td class="tablevalues" tal:content="srv/startName"/> <td class="tablevalues" tal:content="srv/name"/> - <td class="tablevalues" align="center" width="40"> - <img border="0" tal:attributes="src - python:here.getStatusImgSrc(srv.getStatus())" /> - </td> <td class="tablevalues" align="center" width="40"> + <img border="0" tal:attributes="src + python:here.getStatusImgSrc(srv.getStatus())" /> + </td> + <td class="tablevalues" align="center" width="40"> <img tal:condition="srv/isLockedFromDeletion" border="0" src="locked-delete-icon.png"> <img tal:condition="srv/isLockedFromUpdates" border="0" src="locked-update-icon.png"> </td> @@ -161,7 +161,7 @@ </tal:block> <tr> <td colspan="0" class="tableheader" align='center' - tal:define="useOnlyMonitored python:1"> + tal:define="useOnlyMonitored python:1"> <form metal:use-macro="here/zenTableNavigation/macros/navtool"/> </td> </tr> @@ -223,18 +223,18 @@ tal:attributes="value proc/getRelationshipManagerId"/> </td> <td class="tablevalues" - tal:content="structure proc/getOSProcessClassLink"/> + tal:content="structure proc/getOSProcessClassLink"/> <td class="tablevalues"> - <a class="tablevalues" tal:content="python:proc.name()[:50]" + <a class="tablevalues" tal:content="python:proc.name()[:50]" tal:attributes="href proc/getPrimaryUrlPath">evtsys</a> </td> <td class="tablevalues" tal:content="proc/alertOnRestart"/> <td class="tablevalues" tal:content="proc/getFailSeverityString"/> - <td class="tablevalues" align="center" width="40"> - <img border="0" tal:attributes="src - python:here.getStatusImgSrc(proc.getStatus())" /> - </td> <td class="tablevalues" align="center" width="40"> + <img border="0" tal:attributes="src + python:here.getStatusImgSrc(proc.getStatus())" /> + </td> + <td class="tablevalues" align="center" width="40"> <img tal:condition="proc/isLockedFromDeletion" border="0" src="locked-delete-icon.png"> <img tal:condition="proc/isLockedFromUpdates" border="0" src="locked-update-icon.png"> </td> |
From: <sv...@ze...> - 2007-05-01 18:29:19
|
Author: ecn Date: 2007-05-01 14:29:20 -0400 (Tue, 01 May 2007) New Revision: 5008 Modified: trunk/Products/ZenEvents/EventFilter.py Log: fix deviceClass: it's also a plain comparison Modified: trunk/Products/ZenEvents/EventFilter.py =================================================================== --- trunk/Products/ZenEvents/EventFilter.py 2007-05-01 18:16:36 UTC (rev 5007) +++ trunk/Products/ZenEvents/EventFilter.py 2007-05-01 18:29:20 UTC (rev 5008) @@ -48,7 +48,6 @@ kw[column] = DeviceGroup(label, devices) addDevices('Systems', 'Systems', 'systems') addDevices('Groups', 'Device Groups', 'deviceGroups') - addDevices('Devices', 'Device Class', 'deviceClass') esconv = [(b, a) for a, b in EventManagerBase.eventStateConversions] sconv = [(b, a) for a, b in EventManagerBase.severityConversions] pconv = [d.split(':') for d in DataRoot.prodStateConversions] @@ -56,9 +55,11 @@ dpconv = [x.split(':') for x in DataRoot.priorityConversions] dpconv = [(int(b), a) for a, b in dpconv] owners = [(n, n) for n in self.dmd.ZenUsers.getAllUserSettingsNames()] - organizers = [(n, n) for n in self.dmd.Events.getOrganizerNames()] + eventClasses = [(n, n) for n in self.dmd.Events.getOrganizerNames()] + deviceClasses = [(n, n) for n in self.dmd.Devices.getOrganizerNames()] return dict( - eventClass=Select('Event Class', organizers), + eventClass=Select('Event Class', eventClasses), + deviceClass=Select('Device Class', deviceClasses), summary=Text("Summary"), location=Text("Location"), prodState=Enumerated("Production State",pconv), |
From: <sv...@ze...> - 2007-05-01 18:16:37
|
Author: ian Date: 2007-05-01 14:16:36 -0400 (Tue, 01 May 2007) New Revision: 5007 Modified: trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg_collapsed.gif Log: * Totally uselessly added a shadow to the pin down in the left pane toggle Modified: trunk/Products/ZenWidgets/skins/zenui/img/paneToggle_bg_collapsed.gif =================================================================== (Binary files differ) |
From: <sv...@ze...> - 2007-05-01 18:06:45
|
Author: edahl Date: 2007-05-01 14:06:45 -0400 (Tue, 01 May 2007) New Revision: 5006 Modified: trunk/Products/ZenModel/ZVersion.py Log: * version 2.0 Modified: trunk/Products/ZenModel/ZVersion.py =================================================================== --- trunk/Products/ZenModel/ZVersion.py 2007-05-01 17:47:17 UTC (rev 5005) +++ trunk/Products/ZenModel/ZVersion.py 2007-05-01 18:06:45 UTC (rev 5006) @@ -10,7 +10,7 @@ # For complete information please visit: http://www.zenoss.com/oss/ # ########################################################################### -VERSION="1.2.0" +VERSION="2.0" |
From: <sv...@ze...> - 2007-05-01 17:50:23
|
Author: ecn Date: 2007-05-01 13:47:17 -0400 (Tue, 01 May 2007) New Revision: 5005 Modified: trunk/Products/ZenModel/skins/zenmodel/objRRDTemplate.pt trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt Log: group templates together with a border remove export to file system Modified: trunk/Products/ZenModel/skins/zenmodel/objRRDTemplate.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/objRRDTemplate.pt 2007-05-01 17:31:29 UTC (rev 5004) +++ trunk/Products/ZenModel/skins/zenmodel/objRRDTemplate.pt 2007-05-01 17:47:17 UTC (rev 5005) @@ -2,25 +2,15 @@ <tal:block metal:fill-slot="contentPane"> <tal:block tal:repeat="templ here/getRRDTemplates"> <tal:block tal:define="editable python:templ.isEditable(here)"> -<form method="post" tal:attributes="action here/absolute_url_path"> -<input type="hidden" name="zenScreenName" tal:attributes="value template/id"/> <tal:block tal:define=" tabletitle string:"> <tal:block metal:use-macro="here/zenuimacros/macros/zentable"> - <!--====Optional titlebar slots============= - - <tal:block metal:fill-slot="filterslot"> - </tal:block> - - <tal:block metal:fill-slot="menuslot"> - </tal:block> - - ==========================================--> - <tal:block metal:fill-slot="zentablecontents"> <!-- BEGIN TABLE CONTENTS --> +<form method="post" tal:attributes="action here/absolute_url_path"> +<input type="hidden" name="zenScreenName" tal:attributes="value template/id"/> <tr class="tableheader"> <td> @@ -39,14 +29,11 @@ <tr> <td class="tableheader" colspan="2" tal:content="templ/description"/> </tr> +</form> <!-- END TABLE CONTENTS --> - </tal:block> - </tal:block> - </tal:block> - -</form> +<tr><td colspan='2'> <br/> @@ -106,8 +93,13 @@ </tal:block> </form> +</td></tr> + + </tal:block> + </tal:block> + </tal:block> + </tal:block> </tal:block> - </tal:block> </tal:block> Modified: trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt 2007-05-01 17:31:29 UTC (rev 5004) +++ trunk/Products/ZenModel/skins/zenmodel/viewRRDTemplate.pt 2007-05-01 17:47:17 UTC (rev 5005) @@ -2,6 +2,7 @@ <tal:block metal:fill-slot="contentPane" 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"/> @@ -44,19 +45,10 @@ </td> </tr> <tr> - <td class="tableheader" colspan="1"> + <td class="tableheader" colspan="2"> <input class="tableheader" type="submit" value="Save" name="zmanage_editProperties:method" /> </td> - <td class="tableheader" colspan="1"> - <input class="tableheader" type="submit" value="Export" - name="zmanage_exportObject:method" /> - to - <select class="tableheader" name="dest"> - <option value="filesystem" selected="True">File System</option> - <!-- option value="zenossdotnet">Your Zenoss.net Account</option /--> - </select> - </td> </tr> <!-- END TABLE CONTENTS --> |
From: <sv...@ze...> - 2007-05-01 17:31:32
|
Author: ian Date: 2007-05-01 13:31:29 -0400 (Tue, 01 May 2007) New Revision: 5004 Added: trunk/Products/ZenWidgets/skins/zenui/img/tabtable_rounded_cap_left.gif Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt trunk/Products/ZenModel/skins/zenmodel/zenoss.css Log: * Added a left rounded tabtable cap when no global menu exists Modified: trunk/Products/ZenModel/skins/zenmodel/templates.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-05-01 16:16:20 UTC (rev 5003) +++ trunk/Products/ZenModel/skins/zenmodel/templates.pt 2007-05-01 17:31:29 UTC (rev 5004) @@ -278,6 +278,10 @@ tal:condition="python:here.getMenus(menu_ids, here)"> <span metal:use-macro="here/zenuimacros/macros/basemenu"/> </td> + <td class="tabtableleftcap" + tal:condition="python:not here.getMenus(menu_ids, here)"> + + </td> <td tal:repeat="tab ztabs" tal:attributes="class python:tab.get('selected', None) and 'tabletitleselected'"> Modified: trunk/Products/ZenModel/skins/zenmodel/zenoss.css =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-05-01 16:16:20 UTC (rev 5003) +++ trunk/Products/ZenModel/skins/zenmodel/zenoss.css 2007-05-01 17:31:29 UTC (rev 5004) @@ -355,9 +355,14 @@ table.tabtable td.tabtablecap { background: transparent url('img/tabtable_rounded_cap.gif') 0px 8px no-repeat; - width: 30px; + width: 21px; } +table.tabtable td.tabtableleftcap { + background: transparent url('img/tabtable_rounded_cap_left.gif') 0px 8px no-repeat; + width: 21px; +} + table.tabtable td.tabletitleselected { color: #333333; height: 29px; Added: trunk/Products/ZenWidgets/skins/zenui/img/tabtable_rounded_cap_left.gif Property changes on: trunk/Products/ZenWidgets/skins/zenui/img/tabtable_rounded_cap_left.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream |
From: <sv...@ze...> - 2007-05-01 16:16:18
|
Author: jstevens Date: 2007-05-01 12:16:20 -0400 (Tue, 01 May 2007) New Revision: 5003 Modified: trunk/Products/ZenEvents/EventManagerBase.py Log: Purple status dots always showing as red due to if/elif typo. Modified: trunk/Products/ZenEvents/EventManagerBase.py =================================================================== --- trunk/Products/ZenEvents/EventManagerBase.py 2007-05-01 16:13:32 UTC (rev 5002) +++ trunk/Products/ZenEvents/EventManagerBase.py 2007-05-01 16:16:20 UTC (rev 5003) @@ -1126,7 +1126,7 @@ ''' if status < 0: src = 'purple' - if status == 0: + elif status == 0: src = 'green' elif status == 1: src = 'yellow' |
From: <sv...@ze...> - 2007-05-01 16:13:30
|
Author: marc Date: 2007-05-01 12:13:32 -0400 (Tue, 01 May 2007) New Revision: 5002 Modified: trunk/Products/ZenModel/Device.py trunk/Products/ZenModel/MibModule.py trunk/Products/ZenModel/OperatingSystem.py trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt trunk/Products/ZenModel/skins/zenmodel/dialog_deleteDevice.pt trunk/Products/ZenWidgets/skins/zenui/dialog_deleteWinServices.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lock.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lockDevices.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lockFileSystems.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpInterfaces.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpRouteEntries.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpServices.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lockOSProcesses.pt trunk/Products/ZenWidgets/skins/zenui/dialog_lockWinServices.pt Log: * Fixing dialogs Modified: trunk/Products/ZenModel/Device.py =================================================================== --- trunk/Products/ZenModel/Device.py 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenModel/Device.py 2007-05-01 16:13:32 UTC (rev 5002) @@ -436,6 +436,7 @@ cmps.extend(self.os.interfaces()) cmps.extend(self.os.filesystems()) cmps.extend(self.os.processes()) + cmps.extend(self.os.routes()) cmps.extend(self.hw.harddisks()) return cmps Modified: trunk/Products/ZenModel/MibModule.py =================================================================== --- trunk/Products/ZenModel/MibModule.py 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenModel/MibModule.py 2007-05-01 16:13:32 UTC (rev 5002) @@ -87,17 +87,17 @@ if id in ids: self.nodes._delObject(id) if REQUEST: + REQUEST['message'] = 'OID Mappings deleted' return self.callZenScreen(REQUEST) def addMibNode(self, id, oid, nodetype, REQUEST=None): """Add a MibNode """ - if self.createMibNode(id, oid=oid, nodetype=nodetype): - REQUEST['message'] = 'OID Mapping created' - else: - REQUEST['message'] = 'Invalid OID' + node = self.createMibNode(id, oid=oid, nodetype=nodetype) if REQUEST: + if node: REQUEST['message'] = 'OID Mapping created' + else: REQUEST['message'] = 'Invalid OID' return self.callZenScreen(REQUEST) @@ -121,17 +121,17 @@ if id in ids: self.notifications._delObject(id) if REQUEST: + REQUEST['message'] = 'Traps deleted' return self.callZenScreen(REQUEST) def addMibNotification(self, id, oid, nodetype, REQUEST=None): """Add a MibNotification """ - if self.createMibNotification(id, oid=oid, nodetype=nodetype): - REQUEST['message'] = 'Trap created' - else: - REQUEST['message'] = 'Invalid OID' + notification = self.createMibNotification(id, oid=oid, nodetype=nodetype) if REQUEST: + if notification: REQUEST['message'] = 'Trap created' + else: REQUEST['message'] = 'Invalid OID' return self.callZenScreen(REQUEST) Modified: trunk/Products/ZenModel/OperatingSystem.py =================================================================== --- trunk/Products/ZenModel/OperatingSystem.py 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenModel/OperatingSystem.py 2007-05-01 16:13:32 UTC (rev 5002) @@ -189,6 +189,7 @@ dc = context._getOb(componentName) dc.manage_deleteComponent() if REQUEST: + REQUEST['message'] = 'Device components deleted' return self.callZenScreen(REQUEST) def unlockDeviceComponents(self, context, componentNames=[], sendEventWhenBlocked=None, REQUEST=None): Modified: trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenModel/skins/zenmodel/deviceOsDetail.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -34,7 +34,7 @@ tableName,'description','Descr')"/> <th class="tableheader" align="center" width="30">O</th> <th class="tableheader" align="center" width="30">A</th> - <th class="tableheader" align="center" width="30">Lock</th> + <th class="tableheader" align="center" width="40">Lock</th> </tr> <tr tal:condition="not:batch"> <th class="tableheader" align="left"> @@ -134,7 +134,7 @@ <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'getStatus','Status','cmp')" width="60" /> - <th class="tableheader" align="center" width="30">Lock</th> + <th class="tableheader" align="center" width="40">Lock</th> </tr> <tal:block tal:repeat="srv batch"> <tr tal:define="odd repeat/srv/odd" @@ -213,7 +213,7 @@ <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'getStatus','Status','cmp')" width="60" /> - <th class="tableheader" align="center" width="30">Lock</th> + <th class="tableheader" align="center" width="40">Lock</th> </tr> <tal:block tal:repeat="proc batch"> <tr tal:define="odd repeat/proc/odd" @@ -291,7 +291,7 @@ <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'getStatus','Status','cmp')" width="60" /> - <th class="tableheader" align="center" width="30">Lock</th> + <th class="tableheader" align="center" width="40">Lock</th> </tr> <tal:block tal:repeat="srv batch"> <tr tal:define="odd repeat/srv/odd" @@ -371,7 +371,7 @@ tableName,'storageDevice','Storage Device')">Device </th> --> - <th class="tableheader" align="center" width="30">Lock</th> + <th class="tableheader" align="center" width="40">Lock</th> </tr> <tr tal:condition="not:objects"> <th class="tableheader" align="left"> @@ -454,7 +454,7 @@ tableName,'routeproto','Protocol')"/> <th tal:replace="structure python:here.ZenTableManager.getTableHeader( tableName,'routetype','Type')"/> - <th class="tableheader" align="center" width="30">Lock</th> + <th class="tableheader" align="center" width="40">Lock</th> </tr> <tr tal:condition="not:batch"> <th class="tableheader" align="left"> Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_deleteDevice.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_deleteDevice.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_deleteDevice.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,8 +1,6 @@ <h2>Delete device</h2> -<form action="_" method="post" - tal:define="device python:here.device()" - tal:attributes="action here/REQUEST/URL1"> +<form action="_" method="post" tal:attributes="action here/REQUEST/URL1"> <p> Are you sure you want to delete this device?<br/> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_deleteWinServices.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_deleteWinServices.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_deleteWinServices.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,4 +1,3 @@ - <h2>Delete WinServices</h2> <br/><br/> <p> @@ -6,10 +5,9 @@ </p> <br/> <div id="dialog_buttons"> -<input type="submit" name="deleteWinServices:method" - value="Yes" +<input type="submit" name="deleteWinServices:method" value="Yes" tal:attributes="onclick string:return $$('dialog').submit_form( '${here/os/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lock.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lock.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lock.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,20 +1,20 @@ <h2>Edit Lock</h2> <form method="post" name="_" tal:attributes="action here/absolute_url"> -<p> -Which lock status would you like to set on this object?<br/><br/> +<p style="text-align:right;"> <input tal:attributes="name string:sendEventWhenBlocked; - type string:checkbox; - checked here/sendEventWhenBlocked" - />Send event when actions are blocked by a lock<br/> -</p> -<p style="text-align:right;"> + type string:checkbox; + checked here/sendEventWhenBlocked" + />Send event when actions are blocked by a lock +<br/><br/> <input type="submit" name="lockFromUpdates:method" - value="Lock from deletion and updates" /><br/> + value="Lock from deletion and updates" /> +<br/><br/> <input type="submit" name="lockFromDeletion:method" - value="Lock from deletion" /><br/> -<input type="submit" name="unlock:method" - value="Unlock"/><br/> + value="Lock from deletion" /> +<br/><br/> +<input type="submit" name="unlock:method" value="Unlock"/> +<br/><br/> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </p> </form> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lockDevices.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lockDevices.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lockDevices.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,23 +1,24 @@ <h2>Change lock status</h2> -<p> -Which lock status would you like to set on these devices?<br/><br/> +<p style="text-align:right;"> <input tal:attributes="name string:sendEventWhenBlocked; type string:checkbox" />Send warnings when actions are blocked -</p> -<p align="right"> +<br/><br/> <input type="submit" name="lockDevicesFromUpdates:method" value="Lock from deletion and updates" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/absolute_url_path}')" /><br/><br/> + '${here/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="lockDevicesFromDeletion:method" value="Lock from deletion" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/absolute_url_path}')" /><br/><br/> + '${here/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="unlockDevices:method" value="Unlock" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/absolute_url_path}')" /><br/><br/> + '${here/absolute_url_path}')" /> +<br/><br/> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </p> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lockFileSystems.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lockFileSystems.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lockFileSystems.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,25 +1,25 @@ - <h2>Edit Lock</h2> -<p> -Which lock status would you like to set on these FileSystems?<br/><br/> +<p style="text-align:right;"> <input tal:attributes="name string:sendEventWhenBlocked; - type string:checkbox; - checked here/sendEventWhenBlocked" - />Send event when actions are blocked by a lock<br/> -</p> -<p alight="right"> + type string:checkbox; + checked here/sendEventWhenBlocked" + />Send event when actions are blocked by a lock +<br/><br/> <input type="submit" name="lockFileSystemsFromUpdates:method" value="Lock from deletion and updates" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="lockFileSystemsFromDeletion:method" value="Lock from deletion" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="unlockFileSystems:method" value="Unlock" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </p> \ No newline at end of file Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpInterfaces.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpInterfaces.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpInterfaces.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,25 +1,25 @@ - <h2>Edit Lock</h2> -<p> -Which lock status would you like to set on these IpInterfaces?<br/><br/> +<p style="text-align:right;"> <input tal:attributes="name string:sendEventWhenBlocked; - type string:checkbox; - checked here/sendEventWhenBlocked" - />Send event when actions are blocked by a lock<br/> -</p> -<p alight="right"> + type string:checkbox; + checked here/sendEventWhenBlocked" + />Send event when actions are blocked by a lock +<br/><br/> <input type="submit" name="lockIpInterfacesFromUpdates:method" value="Lock from deletion and updates" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="lockIpInterfacesFromDeletion:method" value="Lock from deletion" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="unlockIpInterfaces:method" value="Unlock" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </p> \ No newline at end of file Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpRouteEntries.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpRouteEntries.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpRouteEntries.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,25 +1,25 @@ - <h2>Edit Lock</h2> -<p> -Which lock status would you like to set on these IpRouteEntries?<br/><br/> +<p style="text-align:right;"> <input tal:attributes="name string:sendEventWhenBlocked; - type string:checkbox; - checked here/sendEventWhenBlocked" - />Send event when actions are blocked by a lock<br/> -</p> -<p alight="right"> + type string:checkbox; + checked here/sendEventWhenBlocked" + />Send event when actions are blocked by a lock +<br/><br/> <input type="submit" name="lockIpRouteEntriesFromUpdates:method" value="Lock from deletion and updates" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="lockIpRouteEntriesFromDeletion:method" value="Lock from deletion" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="unlockIpRouteEntries:method" value="Unlock" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </p> \ No newline at end of file Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpServices.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpServices.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lockIpServices.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,25 +1,26 @@ <h2>Edit Lock</h2> -<p> -Which lock status would you like to set on these IpServices?<br/><br/> +<p style="text-align:right;"> <input tal:attributes="name string:sendEventWhenBlocked; type string:checkbox; checked here/sendEventWhenBlocked" - />Send event when actions are blocked by a lock<br/> -</p> -<p alight="right"> + />Send event when actions are blocked by a lock +<br/><br/> <input type="submit" name="lockIpServicesFromUpdates:method" value="Lock from deletion and updates" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="lockIpServicesFromDeletion:method" value="Lock from deletion" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="unlockIpServices:method" value="Unlock" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </p> \ No newline at end of file Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lockOSProcesses.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lockOSProcesses.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lockOSProcesses.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,25 +1,25 @@ - <h2>Edit Lock</h2> -<p> -Which lock status would you like to set on these OSProcesses?<br/><br/> +<p style="text-align:right;"> <input tal:attributes="name string:sendEventWhenBlocked; - type string:checkbox; - checked here/sendEventWhenBlocked" - />Send event when actions are blocked by a lock<br/> -</p> -<p alight="right"> + type string:checkbox; + checked here/sendEventWhenBlocked" + />Send event when actions are blocked by a lock +<br/><br/> <input type="submit" name="lockOSProcessesFromUpdates:method" value="Lock from deletion and updates" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="lockOSProcessesFromDeletion:method" value="Lock from deletion" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="unlockOSProcesses:method" value="Unlock" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </p> \ No newline at end of file Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_lockWinServices.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_lockWinServices.pt 2007-05-01 16:12:37 UTC (rev 5001) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_lockWinServices.pt 2007-05-01 16:13:32 UTC (rev 5002) @@ -1,25 +1,25 @@ - <h2>Edit Lock</h2> -<p> -Which lock status would you like to set on these WinServices?<br/><br/> +<p style="text-align:right;"> <input tal:attributes="name string:sendEventWhenBlocked; - type string:checkbox; - checked here/sendEventWhenBlocked" - />Send event when actions are blocked by a lock<br/> -</p> -<p alight="right"> + type string:checkbox; + checked here/sendEventWhenBlocked" + />Send event when actions are blocked by a lock +<br/><br/> <input type="submit" name="lockWinServicesFromUpdates:method" value="Lock from deletion and updates" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="lockWinServicesFromDeletion:method" value="Lock from deletion" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input type="submit" name="unlockWinServices:method" value="Unlock" tal:attributes="onclick string:return $$('dialog').submit_form( - '${here/os/absolute_url_path}')" /><br/> + '${here/os/absolute_url_path}')" /> +<br/><br/> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </p> \ No newline at end of file |
From: <sv...@ze...> - 2007-05-01 16:12:37
|
Author: jstevens Date: 2007-05-01 12:12:37 -0400 (Tue, 01 May 2007) New Revision: 5001 Modified: trunk/Products/ZenEvents/EventManagerBase.py Log: * manage_addEvent better handles lack of device and component * manage_addEvent alse properly handles when no class specified * Adding REQUEST['message'] stuff in a few places. Modified: trunk/Products/ZenEvents/EventManagerBase.py =================================================================== --- trunk/Products/ZenEvents/EventManagerBase.py 2007-05-01 15:52:02 UTC (rev 5000) +++ trunk/Products/ZenEvents/EventManagerBase.py 2007-05-01 16:12:37 UTC (rev 5001) @@ -1228,18 +1228,29 @@ ''' Create an event from user supplied data ''' eventDict = dict( - summary = REQUEST['summary'], - message = REQUEST['message'], - device = REQUEST['device'], - component = REQUEST['component'], - severity = REQUEST['severity'], - eventClassKey = REQUEST['eventClassKey'], - eventClass = REQUEST['eclass'], + summary = REQUEST.get('summary', ''), + message = REQUEST.get('message', ''), + device = REQUEST.get('device', ''), + component = REQUEST.get('component', ''), + severity = REQUEST.get('severity', ''), + eventClassKey = REQUEST.get('eventClassKey', ''), ) - evid = self.sendEvent(eventDict) + # We don't want to put empty eventClass into the dict because that + # can keep the event from being mapped to /Unknown correctly. + if REQUEST.get('eclass', None): + eventDict['eventClass'] = REQUEST['eclass'] + # sendEvent insists on a device or a component. Can be bogus. + if not eventDict['device'] and not eventDict['component']: + if REQUEST: + REQUEST['message'] = 'You must specify a device and/or a component.' + return self.callZenScreen(REQUEST) + else: + return + evid = self.sendEvent(eventDict) if REQUEST: REQUEST['RESPONSE'].redirect('/zport/dmd/Events/viewEvents') + def deleteEvents(self, whereClause, reason): self.updateEvents('DELETE FROM status', whereClause, reason) @@ -1252,7 +1263,11 @@ evids = ",".join([ "'%s'" % evid for evid in evids]) whereClause = ' where evid in (%s)' % evids self.deleteEvents(whereClause, 'Deleted by user') - if REQUEST: return self.callZenScreen(REQUEST) + if REQUEST: + num = len(evids) + REQUEST['message'] = 'Moved %s event%s to History.' % ( + num, (num != 1 and 's') or '') + return self.callZenScreen(REQUEST) def undeleteEvents(self, whereClause, reason): fields = ','.join( self.getFieldList() ) @@ -1322,7 +1337,9 @@ except KeyError: reason += 'unknown (%d)' % eventState self.updateEvents(update, whereClause, reason) - if REQUEST: return self.callZenScreen(REQUEST) + if REQUEST: + REQUEST['message'] = reason + return self.callZenScreen(REQUEST) security.declareProtected('Manage Events','manage_setEventStates') @@ -1332,6 +1349,9 @@ """ evclass = None evmap = None + numCreated = 0 + numNotUnknown = 0 + numNoKey = 0 if eventClass and evids: evclass = self.getDmdRoot("Events").getOrganizer(eventClass) sel = """select eventClassKey, eventClass, message @@ -1343,12 +1363,41 @@ curs.execute(sel); for row in curs.fetchall(): evclasskey, curevclass, msg = row - if curevclass != Unknown or not evclasskey: continue + if curevclass != Unknown: + numNotUnknown += 1 + continue + if not evclasskey: + numNoKey += 1 + continue evmap = evclass.createInstance(evclasskey) evmap.eventClassKey = evclasskey evmap.example = msg + numCreated += 1 finally: self.close(conn) + elif REQUEST: + if not evids: + REQUEST['message'] = 'No events selected.' + elif not eventClass: + REQUEST['message'] = 'No event class selected.' + if REQUEST: + msg = REQUEST.get('message', '') + if numNotUnknown: + msg += ((msg and ' ') + + '%s event%s %s not class /Unknown.' % ( + numNotUnknown, + (numNotUnknown != 1 and 's') or '', + (numNotUnknown != 1 and 'are') or 'is')) + if numNoKey: + msg += ((msg and ' ') + + '%s event%s %s not have an event class key.' % ( + numNoKey, + (numNoKey != 1 and 's') or '', + (numNoKey != 1 and 'do') or 'does')) + msg += (msg and ' ') + 'Created %s event mapping%s.' % ( + numCreated, + (numCreated != 1 and 's') or '') + REQUEST['message'] = msg if len(evids) == 1 and evmap: return evmap() elif evclass and evmap: return evclass() |
From: <sv...@ze...> - 2007-05-01 15:52:02
|
Author: ian Date: 2007-05-01 11:52:02 -0400 (Tue, 01 May 2007) New Revision: 5000 Modified: trunk/Products/ZenWidgets/skins/zenui/css/menus.css trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt Log: * Took arrows away from menu items without submenus Modified: trunk/Products/ZenWidgets/skins/zenui/css/menus.css =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/css/menus.css 2007-05-01 15:32:48 UTC (rev 4999) +++ trunk/Products/ZenWidgets/skins/zenui/css/menus.css 2007-05-01 15:52:02 UTC (rev 5000) @@ -166,6 +166,9 @@ ul.zenMenu > li > a { background: transparent url(img/expandable_menu_arrow.gif) 150px no-repeat; } +ul.zenMenu > li.toplevelmenu > a { + background-image: url() !important; +} div.devmovemenuitems ul.zenMenu li a { background: #666 url(); Modified: trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-05-01 15:32:48 UTC (rev 4999) +++ trunk/Products/ZenWidgets/skins/zenui/zenuimacros.pt 2007-05-01 15:52:02 UTC (rev 5000) @@ -22,6 +22,7 @@ </li> <div class="submenu" tal:define="items menus" + tal:condition="menus" tal:attributes="id string:${menu}_submenu"> <tal:block tal:condition="items"> <tal:block tal:define="dummy items/sort"/> @@ -54,7 +55,7 @@ <tal:block tal:repeat="menu menu_ids"> <tal:block tal:define="menus python:here.getMenus(menu, here)"> -<li tal:condition="python:menus and len(menus) == 1"> +<li tal:condition="python:menus and len(menus) == 1" class="toplevelmenu"> <tal:block tal:define="item python:menus[0]"> <a tal:define="mypath python:test(item.action.startswith('javascript'), item.action, |
From: <sv...@ze...> - 2007-05-01 15:32:48
|
Author: marc Date: 2007-05-01 11:32:48 -0400 (Tue, 01 May 2007) New Revision: 4999 Modified: trunk/Products/ZenModel/MibModule.py trunk/Products/ZenModel/migrate/menus.py trunk/Products/ZenModel/skins/zenmodel/dialog_addFileSystem.pt trunk/Products/ZenModel/skins/zenmodel/dialog_addIpInterface.pt trunk/Products/ZenModel/skins/zenmodel/dialog_addIpRouteEntry.pt trunk/Products/ZenModel/skins/zenmodel/dialog_addIpService.pt trunk/Products/ZenModel/skins/zenmodel/dialog_addMenuItem.pt trunk/Products/ZenModel/skins/zenmodel/dialog_addOIDMapping.pt trunk/Products/ZenModel/skins/zenmodel/dialog_addOSProcess.pt trunk/Products/ZenModel/skins/zenmodel/dialog_addTrap.pt trunk/Products/ZenModel/skins/zenmodel/dialog_addWinService.pt trunk/Products/ZenWidgets/skins/zenui/dialog_deleteFileSystems.pt trunk/Products/ZenWidgets/skins/zenui/dialog_deleteIpInterfaces.pt trunk/Products/ZenWidgets/skins/zenui/dialog_deleteIpServices.pt trunk/Products/ZenWidgets/skins/zenui/dialog_deleteOSProcesses.pt Log: * Added Clear Heartbeat menu item for Devices * Cleaned up some dialogs * Added messages to addOIDMapping and addTrap dialogs Modified: trunk/Products/ZenModel/MibModule.py =================================================================== --- trunk/Products/ZenModel/MibModule.py 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/MibModule.py 2007-05-01 15:32:48 UTC (rev 4999) @@ -93,7 +93,10 @@ def addMibNode(self, id, oid, nodetype, REQUEST=None): """Add a MibNode """ - self.createMibNode(id, oid=oid, nodetype=nodetype) + if self.createMibNode(id, oid=oid, nodetype=nodetype): + REQUEST['message'] = 'OID Mapping created' + else: + REQUEST['message'] = 'Invalid OID' if REQUEST: return self.callZenScreen(REQUEST) @@ -124,7 +127,10 @@ def addMibNotification(self, id, oid, nodetype, REQUEST=None): """Add a MibNotification """ - self.createMibNotification(id, oid=oid, nodetype=nodetype) + if self.createMibNotification(id, oid=oid, nodetype=nodetype): + REQUEST['message'] = 'Trap created' + else: + REQUEST['message'] = 'Invalid OID' if REQUEST: return self.callZenScreen(REQUEST) @@ -138,9 +144,9 @@ node = MibNotification(id, **kwargs) self.notifications._setObject(node.id, node) node = self.notifications._getOb(node.id) - return node - + return node + def manage_afterAdd(self, item, container): """ Device only propagates afterAdd if it is the added object. Modified: trunk/Products/ZenModel/migrate/menus.py =================================================================== --- trunk/Products/ZenModel/migrate/menus.py 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/migrate/menus.py 2007-05-01 15:32:48 UTC (rev 4999) @@ -986,6 +986,14 @@ id='pushConfig_os', permissions=('Change Device',) ), + dict( + ordering=5.0, + id= 'clearHeartbeats', + description='Clear Heartbeats', + action= 'manage_deleteHeartbeat', + permissions=('Change Device',), + allowed_classes = ('Device','OperatingSystem'), + ), ], 'Add': [ dict( Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addFileSystem.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addFileSystem.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addFileSystem.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,21 +1,16 @@ <h2>Add FileSystem</h2> -<form method="post" tal:attributes="action here/absolute_url" name="addComponent"> -<p> -What would you like to name your FileSystem?<br/> -</p> +<form method="post" tal:attributes="action here/absolute_url" name="_"> <input type="hidden" name="userCreated" value="True"> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> <span id="new_id_label">ID: </span> -<input id="new_id" - name="id" - tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"><br/><br/> +<input id="new_id" name="id" + tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"> </p> <div id="dialog_buttons"> -<input type="submit" name="addFileSystem:method" - value="OK" /> -<input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> +<input type="submit" name="addFileSystem:method" value="OK" /> +<input id="dialog_cancel" type="button" value="Cancel" + onclick="$('dialog').hide()"/> </div> </form> \ No newline at end of file Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addIpInterface.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addIpInterface.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addIpInterface.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,21 +1,16 @@ <h2>Add IpInterface</h2> -<form method="post" tal:attributes="action here/absolute_url" name="addComponent"> -<p> -What would you like to name your IpInterface?<br/> -</p> +<form method="post" tal:attributes="action here/absolute_url" name="_"> <input type="hidden" name="userCreated" value="True"> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> <span id="new_id_label">ID: </span> -<input id="new_id" - name="id" - tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"><br/><br/> +<input id="new_id" name="id" + tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"> </p> <div id="dialog_buttons"> -<input type="submit" name="addIpInterface:method" - value="OK" /> +<input type="submit" name="addIpInterface:method" value="OK" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> </form> \ No newline at end of file Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addIpRouteEntry.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addIpRouteEntry.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addIpRouteEntry.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,38 +1,41 @@ <h2>Add IpRouteEntry</h2> <br/> -<form method="post" tal:attributes="action here/absolute_url" name="addComponent"> +<form method="post" tal:attributes="action here/absolute_url" name="_"> <input type="hidden" name="userCreated" value="True"> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> <span id="new_id_label">Destination: </span> -<input id="new_id" - name="dest" - tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"><br/><br/> -Next Hop: <input name="nexthopid"><br/><br/> +<input id="new_id" name="dest" + tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"> + <br/><br/> +Next Hop: <input name="nexthopid"> +<br/><br/> Interface: <select name="interface" tal:define="interfaces here/os/interfaces/objectValuesAll"> <option tal:repeat="interface interfaces" tal:attributes="value interface/name" tal:content="interface/name">/</option> -</select><br/><br/> +</select> +<br/><br/> Protocol: <select name="routeproto" tal:define="protocols here/os/routeProtoMap"> <option tal:repeat="protocol protocols" tal:attributes="value protocol" tal:content="protocol">/</option> -</select><br/><br/> +</select> +<br/><br/> Type: <select name="routetype" tal:define="types here/os/routeTypeMap"> <option tal:repeat="type types" tal:attributes="value type" tal:content="type">/</option> -</select><br/><br/> +</select> +<br/><br/> </p> <div id="dialog_buttons"> -<input type="submit" name="addIpRouteEntry:method" - value="OK" /> +<input type="submit" name="addIpRouteEntry:method" value="OK" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> </form> \ No newline at end of file Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addIpService.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addIpService.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addIpService.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,25 +1,21 @@ <h2>Add IpService</h2> -<form method="post" tal:attributes="action here/absolute_url" name="addComponent"> -<p> -What would you like to name your IpService?<br/> -</p> +<form method="post" tal:attributes="action here/absolute_url" name="_"> <input type="hidden" name="userCreated" value="True"> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> <span id="new_id_label">ID: </span> -<input id="new_id" - name="id" - tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"><br/><br/> +<input id="new_id" name="id" + tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"> +<br/><br/> Protocol: <select name="protocol"> <option tal:repeat="e python:('udp','tcp')" tal:content="e" tal:attributes="value e"/> -</select> Port: <input name="port" size="10"><br/><br/> +</select> Port: <input name="port" size="10"> </p> <div id="dialog_buttons"> -<input type="submit" name="addIpService:method" - value="OK" /> +<input type="submit" name="addIpService:method" value="OK" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> </form> \ No newline at end of file Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addMenuItem.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addMenuItem.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addMenuItem.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,23 +1,19 @@ <h2>Add Menu Item</h2> -<p> -What would you like to name your Menu Item?<br/> -</p> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> <span id="new_id_label">ID: </span> -<input id="new_id" - name="id" - tal:attributes="onblur string:checkValidId('${here/absolute_url_path}', this.id)"><br/><br/> +<input id="new_id" name="id" + tal:attributes="onblur string:checkValidId('${here/absolute_url_path}', this.id)"> +<br/><br/> Description: <input name="description"><br/><br/> Action: <input name="action"><br/><br/> Ordering: <input name="ordering" size="5"><br/><br/> </p> <div id="dialog_buttons"> -<input type="submit" name="manage_addZenMenuItem:method" - value="OK" +<input type="submit" name="manage_addZenMenuItem:method" value="OK" tal:attributes="onclick string:return $$('dialog').submit_form( '${here/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> \ No newline at end of file Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addOIDMapping.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addOIDMapping.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addOIDMapping.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,8 +1,5 @@ <h2>Add OID Mapping</h2> -<form method="post" tal:attributes="action here/absolute_url" name="addOIDMapping"> -<p> -What would you like to name your OID Mapping?<br/> -</p> +<form method="post" tal:attributes="action here/absolute_url" name="_"> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> @@ -17,8 +14,7 @@ </select> </p> <div id="dialog_buttons"> -<input type="submit" name="addMibNode:method" - value="OK" /> +<input type="submit" name="addMibNode:method" value="OK" /> <input id="dialog_cancel" type="button" value="Cancel" onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addOSProcess.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addOSProcess.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addOSProcess.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,27 +1,23 @@ <h2>Add OSProcess</h2> -<form method="post" tal:attributes="action here/absolute_url" name="addComponent"> -<p> -What would you like to name your OSProcess?<br/> -</p> +<form method="post" tal:attributes="action here/absolute_url" name="_"> <input type="hidden" name="userCreated" value="True"> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> <span id="new_id_label">ID: </span> -<input id="new_id" - name="id" - tal:attributes="onblur string:checkValidId('${here/Processes/absolute_url}', this.id)"><br/><br/> +<input id="new_id" name="id" + tal:attributes="onblur string:checkValidId('${here/Processes/absolute_url}', this.id)"> +<br/><br/> Process Class: <select name="className" tal:define="targets python:here.getDmdRoot('Processes').getOrganizerNames()"> <option tal:repeat="target targets" tal:attributes="value target" tal:content="target">/</option> -</select><br/> +</select> </p> <div id="dialog_buttons"> -<input type="submit" name="addOSProcess:method" - value="OK" /> +<input type="submit" name="addOSProcess:method" value="OK" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> </form> \ No newline at end of file Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addTrap.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addTrap.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addTrap.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,8 +1,5 @@ <h2>Add Trap</h2> -<form method="post" tal:attributes="action here/absolute_url" name="addOIDMapping"> -<p> -What would you like to name your Trap?<br/> -</p> +<form method="post" tal:attributes="action here/absolute_url" name="_"> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> Modified: trunk/Products/ZenModel/skins/zenmodel/dialog_addWinService.pt =================================================================== --- trunk/Products/ZenModel/skins/zenmodel/dialog_addWinService.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenModel/skins/zenmodel/dialog_addWinService.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,22 +1,18 @@ <h2>Add WinService</h2> -<form method="post" tal:attributes="action here/absolute_url" name="addComponent"> -<p> -What would you like to name your WinService?<br/> -</p> +<form method="post" tal:attributes="action here/absolute_url" name="_"> <input type="hidden" name="userCreated" value="True"> <span id="errmsg" style="color:red;"></span> <br/> <p style="text-align:right;"> <span id="new_id_label">ID: </span> -<input id="new_id" - name="id" - tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"><br/><br/> -Description: <input name="description"><br/><br/> +<input id="new_id" name="id" + tal:attributes="onblur string:checkValidId('${here/absolute_url}', this.id)"> +<br/><br/> +Description: <input name="description"> </p> <div id="dialog_buttons"> -<input type="submit" name="addWinService:method" - value="OK" /> +<input type="submit" name="addWinService:method" value="OK" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> </form> \ No newline at end of file Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_deleteFileSystems.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_deleteFileSystems.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_deleteFileSystems.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,4 +1,3 @@ - <h2>Delete FileSystems</h2> <br/><br/> <p> @@ -11,5 +10,5 @@ tal:attributes="onclick string:return $$('dialog').submit_form( '${here/os/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_deleteIpInterfaces.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_deleteIpInterfaces.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_deleteIpInterfaces.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,4 +1,3 @@ - <h2>Delete IpInterfaces</h2> <br/><br/> <p> @@ -6,10 +5,9 @@ </p> <br/> <div id="dialog_buttons"> -<input type="submit" name="deleteIpInterfaces:method" - value="Yes" +<input type="submit" name="deleteIpInterfaces:method" value="Yes" tal:attributes="onclick string:return $$('dialog').submit_form( '${here/os/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_deleteIpServices.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_deleteIpServices.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_deleteIpServices.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,4 +1,3 @@ - <h2>Delete IpServices</h2> <br/><br/> <p> @@ -6,10 +5,9 @@ </p> <br/> <div id="dialog_buttons"> -<input type="submit" name="deleteIpServices:method" - value="Yes" +<input type="submit" name="deleteIpServices:method" value="Yes" tal:attributes="onclick string:return $$('dialog').submit_form( '${here/os/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> Modified: trunk/Products/ZenWidgets/skins/zenui/dialog_deleteOSProcesses.pt =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/dialog_deleteOSProcesses.pt 2007-05-01 15:22:38 UTC (rev 4998) +++ trunk/Products/ZenWidgets/skins/zenui/dialog_deleteOSProcesses.pt 2007-05-01 15:32:48 UTC (rev 4999) @@ -1,4 +1,3 @@ - <h2>Delete OSProcesses</h2> <br/><br/> <p> @@ -6,10 +5,9 @@ </p> <br/> <div id="dialog_buttons"> -<input type="submit" name="deleteOSProcesses:method" - value="Yes" +<input type="submit" name="deleteOSProcesses:method" value="Yes" tal:attributes="onclick string:return $$('dialog').submit_form( '${here/os/absolute_url_path}')" /> <input id="dialog_cancel" type="button" value="Cancel" -onclick="$('dialog').hide()"/> + onclick="$('dialog').hide()"/> </div> |
From: <sv...@ze...> - 2007-05-01 15:22:38
|
Author: ian Date: 2007-05-01 11:22:38 -0400 (Tue, 01 May 2007) New Revision: 4998 Modified: trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js Log: * Dialogs will focus on first form element that isn't a button on load Modified: trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js =================================================================== --- trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js 2007-05-01 14:45:47 UTC (rev 4997) +++ trunk/Products/ZenWidgets/skins/zenui/javascript/dialog.js 2007-05-01 15:22:38 UTC (rev 4998) @@ -104,6 +104,10 @@ }, fill: function(request) { $('dialog_innercontent').innerHTML = request.responseText; + var els = findChildElements($('dialog_innercontent'), ['input','select']); + els = filter(function(x){return x.type!='button'&&x.type!='submit'}, els); + var first = els[0]; + first.focus(); }, submit_form: function(action, formname) { var f = formname?document.forms[formname]:this.form |
From: <sv...@ze...> - 2007-05-01 14:45:47
|
Author: ecn Date: 2007-05-01 10:45:47 -0400 (Tue, 01 May 2007) New Revision: 4997 Modified: trunk/Products/ZenHub/services/PerformanceConfig.py Log: if a device changes and no longer had a config, push down a delete Modified: trunk/Products/ZenHub/services/PerformanceConfig.py =================================================================== --- trunk/Products/ZenHub/services/PerformanceConfig.py 2007-05-01 14:20:30 UTC (rev 4996) +++ trunk/Products/ZenHub/services/PerformanceConfig.py 2007-05-01 14:45:47 UTC (rev 4997) @@ -65,9 +65,10 @@ def pushConfig(self, device): deferreds = [] cfg = self.getDeviceConfig(device) - if cfg is not None: - for listener in self.listeners: - print 'sending %s config' % device + for listener in self.listeners: + if cfg is None: + deferreds.append(listener.callRemote('deleteDevice', device.id)) + else: deferreds.append(self.sendDeviceConfig(listener, cfg)) return defer.DeferredList(deferreds) |
From: <sv...@ze...> - 2007-05-01 14:20:30
|
Author: ecn Date: 2007-05-01 10:20:30 -0400 (Tue, 01 May 2007) New Revision: 4996 Modified: trunk/Products/ZenRRD/zenprocess.py Log: decode the snmp results properly Modified: trunk/Products/ZenRRD/zenprocess.py =================================================================== --- trunk/Products/ZenRRD/zenprocess.py 2007-05-01 14:16:53 UTC (rev 4995) +++ trunk/Products/ZenRRD/zenprocess.py 2007-05-01 14:20:30 UTC (rev 4996) @@ -1,3 +1,4 @@ +#! /usr/bin/env python ########################################################################### # # This program is part of Zenoss Core, an open source monitoring platform. @@ -10,7 +11,6 @@ # For complete information please visit: http://www.zenoss.com/oss/ # ########################################################################### -#! /usr/bin/env python __doc__='''zenprocess @@ -537,6 +537,11 @@ if isinstance(results, failure.Failure): self.error(results) return results + parts = {} + for success, values in results: + if success: + parts.update(values) + results = parts byConf = reverseDict(device.pids) for pidConf, pids in byConf.items(): if len(pids) != 1: |