def inner(func, self, *args, **kwargs):
     try:
         return func(self, *args, **kwargs)
     except ZepConnectionError, e:
         msg = 'Connection refused. Check zeneventserver status on <a href="/zport/About/zenossInfo">Daemons</a>'
         messaging.IMessageSender(self).sendToBrowser("ZEP connection error",
                                                 msg,
                                                 priority=messaging.CRITICAL,
                                                 sticky=True)
         log.warn("Could not connect to ZEP")
def manage_addMultiGraphReportClass(context, id, title=None, REQUEST=None):
    """ Construct a new MultiGraphreportclass
    """
    frc = MultiGraphReportClass(id, title)
    context._setObject(id, frc)
    if REQUEST is not None:
        audit('UI.ReportClass.Add', frc.id, title=title, organizer=context)
        messaging.IMessageSender(self).sendToBrowser(
            'Organizer Created', 'Report organizer %s was created.' % id)
        REQUEST['RESPONSE'].redirect(context.absolute_url() + '/manage_main')
Exemple #3
0
def deleteDatabases(self, componentNames=[], REQUEST=None):
    """Delete Databases"""
    self.deleteDeviceComponents(self.softwaredatabases, componentNames,
                                REQUEST)
    if REQUEST:
        messaging.IMessageSender(self).sendToBrowser(
            'Databases Deleted',
            'Databases %s were deleted.' % (', '.join(componentNames)))
        REQUEST['RESPONSE'].redirect(self.absolute_url())
        return self.callZenScreen(REQUEST)
Exemple #4
0
 def addOSProcess(self, newClassName, example, userCreated, REQUEST=None):
     """Add an OSProcess.
     """
     osp = manage_addOSProcess(self.processes, newClassName, example,
                               userCreated)
     self._p_changed = True
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Process Created', 'OS process %s was created.' % newClassName)
         REQUEST['RESPONSE'].redirect(osp.absolute_url())
Exemple #5
0
 def zmanage_delProperties(self, ids=(), REQUEST=None):
     """Delete properties from an object.
     """
     for id in ids:
         self._delProperty(id)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Properties Deleted',
             'Properties %s have been deleted' % (', '.join(ids)))
         return self.callZenScreen(REQUEST)
def manage_addGraphDefinition(context, id, REQUEST=None):
    """
    This is here so that Zope will let us copy/paste/rename graph points.
    """
    if REQUEST:
        messaging.IMessageSender(self).sendToBrowser(
            'Unsupported',
            'That operation is not supported.',
            priority=messaging.WARNING)
        context.callZenScreen(REQUEST)
def manage_addRemoteMonitor(self, id=None, submon=None, REQUEST=None):
    'Add an object of sub_class, from a module of the same name'
    if REQUEST:
        REQUEST['data'] = json({'uids':[id], 'command':'add'})
        UpdateRemoteCollectorView(self, REQUEST)()
        messaging.IMessageSender(self).sendToBrowser(
            'Remote Collector Created',
            'Remote collector %s was created.' % id
        )
        return self.callZenScreen(REQUEST)
Exemple #8
0
 def unlockLogicalVolumes(self, componentNames=[], REQUEST=None):
     """Unlock Logical Volumes"""
     self.unlockLVComponents(componentNames, REQUEST)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Logical Volumes Unlocked',
             'Logical Volumes %s were unlocked.' %
             (', '.join(componentNames)))
         REQUEST['RESPONSE'].redirect(self.absolute_url())
         return self.callZenScreen(REQUEST)
Exemple #9
0
 def unlockFileSystems(self, componentNames=[], REQUEST=None):
     """Unlock FileSystems"""
     self.unlockDeviceComponents(self.filesystems, componentNames, REQUEST)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Filesystems Unlocked',
             'Filesystems %s were unlocked.' % (', '.join(componentNames))
         )
         REQUEST['RESPONSE'].redirect(self.absolute_url_path())
         return self.callZenScreen(REQUEST)
Exemple #10
0
 def deleteIpRouteEntries(self, componentNames=[], REQUEST=None):
     """Delete IpRouteEntries"""
     self.deleteDeviceComponents(self.routes, componentNames, REQUEST)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Routes Deleted',
             'IP route entries %s were deleted.' % (', '.join(componentNames))
         )
         REQUEST['RESPONSE'].redirect(self.absolute_url_path())
         return self.callZenScreen(REQUEST)
 def zmanage_editProperties(self, REQUEST=None):
     """Validate input before updating properties."""
     if REQUEST:
         if not REQUEST.form.get('splunkSearch'):
             messaging.IMessageSender(self).sendToBrowser(
                 'Update Failed',
                 'Search cannot be blank.',
                 priority=messaging.WARNING)
             return self.callZenScreen(REQUEST)
     return BasicDataSource.zmanage_editProperties(self, REQUEST)
def manage_removeRemoteMonitors(self, ids=None, submon="", REQUEST=None):
    'Remove an object from this one'
    if REQUEST:
        REQUEST['data'] = json({'uids':ids, 'command':'remove'})
        UpdateRemoteCollectorView(self, REQUEST)()
        messaging.IMessageSender(self).sendToBrowser(
            'Remote Collectors Deleted',
            'Deleted remote collectors: %s' % (', '.join(ids))
        )
        return self.callZenScreen(REQUEST)
Exemple #13
0
 def removeLocalRRDTemplate(self, templateName=None, REQUEST=None):
     """Make a local delete of our RRDTemplate if one doesn't exist.
     """
     if templateName is None: templateName = self.getRRDTemplateName()
     if self.isLocalName(templateName):
         self._delObject(templateName)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Template Removed', 'Local copy "%s" removed.' % templateName)
         return self.callZenScreen(REQUEST)
def unlockMessageQueues(self, componentNames=[], REQUEST=None):
    """
    Callback function that unlocks queues.
    """
    self.unlockDeviceComponents(self.msmq, componentNames, REQUEST)
    if REQUEST:
        messaging.IMessageSender(self).sendToBrowser(
            'Queues Unlocked',
            'Message Queues %s were unlocked.' % (', '.join(componentNames)))
        REQUEST['RESPONSE'].redirect(self.absolute_url())
        return self.callZenScreen(REQUEST)
Exemple #15
0
def manage_removeRemoteMonitors(self, ids=None, submon="", REQUEST=None):
    'Remove an object from this one'
    self.manage_removeMonitor(ids, submon, None)
    transaction.commit()
    setupRemoteMonitors(ids, self.commandTestOutput(), REQUEST, remove=True)
    if REQUEST:
        messaging.IMessageSender(self).sendToBrowser(
            'Remote Collectors Deleted',
            'Deleted remote collectors: %s' % (', '.join(ids))
        )
        return self.callZenScreen(REQUEST)
 def manage_deleteGraphDefinitions(self, ids=(), REQUEST=None):
     """Remove GraphDefinitions from this RRDTemplate.
     """
     for id in ids:
         self.graphDefs._delObject(id)
         self.manage_resequenceGraphDefs()
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Graphs Deleted', 'Graph%s %s deleted.' %
             ('' if len(ids) == 1 else 's', ', '.join(ids)))
         return self.callZenScreen(REQUEST)
Exemple #17
0
 def manage_addMibModule(self, id, REQUEST=None):
     """Create a new service class in this Organizer.
     """
     mm = MibModule(id)
     self.mibs._setObject(id, mm)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Mib Module Created', 'Mib module %s was created.' % id)
         return self.callZenScreen(REQUEST)
     else:
         return self.mibs._getOb(id)
 def deleteMibNotifications(self, ids=[], REQUEST=None):
     """Delete MibNotifications
     """
     for notification in self.notifications():
         id = getattr(notification, 'id', None)
         if id in ids:
             self.notifications._delObject(id)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Traps Deleted', 'Traps deleted: %s' % (', '.join(ids)))
         return self.callZenScreen(REQUEST)
 def deleteMibNodes(self, ids=[], REQUEST=None):
     """Delete MibNodes
     """
     for node in self.nodes():
         id = getattr(node, 'id', None)
         if id in ids:
             self.nodes._delObject(id)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Mappings Deleted', 'Mib nodes deleted: %s' % (', '.join(ids)))
         return self.callZenScreen(REQUEST)
 def removeProfileModules(self, ids=None, REQUEST=None):
     """ Remove Profile Modules from an EventClass.
     """
     if not ids: return self()
     if type(ids) == types.StringType: ids = (ids, )
     for id in ids:
         self.rulesets._delObject(id)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Rule Sets Deleted', 'rule sets deleted: %s' % ', '.join(ids))
         return self()
Exemple #21
0
 def manage_deletePackable(self, packables=(), REQUEST=None):
     "Delete objects from this ZenPack"
     packables = set(packables)
     for obj in self.packables():
         if obj.getPrimaryUrlPath() in packables:
             self.packables.removeRelation(obj)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Objects Deleted',
             'Deleted objects from ZenPack %s.' % self.id)
         return self.callZenScreen(REQUEST)
 def moveDevicesToClass(self, moveTarget, deviceNames=None, REQUEST=None):
     """Move Devices from one DeviceClass to Another"""
     if deviceNames is None:
         if REQUEST:
             messaging.IMessageSender(self).sendToBrowser(
                 'Error',
                 'No devices were selected',
                 priority=messaging.WARNING)
         return self.callZenScreen(REQUEST)
     deviceNames = [x.split('/')[-1] for x in deviceNames]
     return self.dmd.Devices.moveDevices(moveTarget, deviceNames, REQUEST)
Exemple #23
0
 def manage_addReportClass(self, id, title=None, REQUEST=None):
     """make a report class"""
     rClass = self.getReportClass()
     dc = rClass(id, title)
     self._setObject(id, dc)
     if REQUEST:
         audit('UI.Organizer.Add', dc.id, title=title)
         messaging.IMessageSender(self).sendToBrowser(
             'Report Organizer Created',
             'Report organizer %s was created.' % id)
         return self.callZenScreen(REQUEST)
Exemple #24
0
def unlockDBSrvInsts(self, componentNames=[], REQUEST=None):
    """Unlock DBSrvInsts"""
    self.unlockDeviceComponents(self.softwaredbsrvinstances, componentNames,
                                REQUEST)
    if REQUEST:
        messaging.IMessageSender(self).sendToBrowser(
            'Database Server Instances Unlocked',
            'Database Server Instances %s were unlocked.' %
            (', '.join(componentNames)))
        REQUEST['RESPONSE'].redirect(self.absolute_url())
        return self.callZenScreen(REQUEST)
 def addIpInterface(self, newId, userCreated, REQUEST=None):
     """Add IpInterfaces.
     """
     manage_addIpInterface(self.interfaces, newId, userCreated)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Interface Created', 'IP Interface %s was created.' % newId)
         REQUEST['RESPONSE'].redirect(
             self.interfaces._getOb(newId).absolute_url_path())
         self._p_changed = True
         return self.callZenScreen(REQUEST)
Exemple #26
0
 def manage_copyAndPasteRRDTemplates(self, ids=(), copyTarget=None, REQUEST=None):
     """
     Copy the selected templates into the specified device class.
     """
     if not ids:
         messaging.IMessageSender(self).sendToBrowser(
             'Invalid',
             'No templates were selected.',
             priority=messaging.WARNING
         )
         return self.callZenScreen(REQUEST)
     if copyTarget is None:
         messaging.IMessageSender(self).sendToBrowser(
             'Invalid',
             'No target was selected.',
             priority=messaging.WARNING
         )
         return self.callZenScreen(REQUEST)
     cp = self.manage_copyRRDTemplates(ids)
     return self.manage_pasteRRDTemplates(copyTarget, cp, REQUEST)
Exemple #27
0
 def removeZDeviceTemplates(self, REQUEST=None):
     """
     Deletes the local zProperty, zDeviceTemplates
     """
     if self.getPrimaryPath()[-2:] == ('dmd', 'Devices'):
         self.setZenProperty('zDeviceTemplates', ['Device'])
     else:
         self.deleteZenProperty('zDeviceTemplates')
     messaging.IMessageSender(self).sendToBrowser(
         'Bindings Reset', 'Template bindings for this class were reset.')
     return self.callZenScreen(REQUEST)
Exemple #28
0
 def createComment(self, comments='', REQUEST=''):
   """
     Set comments attribute for a device
   """
   self.comments = comments
   if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Device comment set',
             'Device comment created as %s ' % comments
         )
         return self.callZenScreen(REQUEST)
Exemple #29
0
def manage_addReportClass(context, id, title=None, REQUEST=None):
    """make a report class"""
    dc = ReportClass(id, title)
    context._setObject(id, dc)

    if REQUEST is not None:
        audit('UI.Organizer.Add', dc.id, title=title, organizer=context)
        messaging.IMessageSender(context).sendToBrowser(
            'Report Organizer Created',
            'Report organizer %s was created.' % id)
        REQUEST['RESPONSE'].redirect(context.absolute_url() + '/manage_main')
Exemple #30
0
 def manage_addRRDTemplate(self, id, REQUEST=None):
     """Add an RRDTemplate to this DeviceClass.
     """
     if not id: return self.callZenScreen(REQUEST)
     id = self.prepId(id)
     org = RRDTemplate(id)
     self.rrdTemplates._setObject(org.id, org)
     if REQUEST:
         messaging.IMessageSender(self).sendToBrowser(
             'Template Added', 'Template %s was created.' % id)
         return self.callZenScreen(REQUEST)