Package Products :: Package ZenModel :: Module GraphReportClass |
[hide private]
[frames] | no frames]

# Source Code for Module Products.ZenModel.GraphReportClass

     1  ###########################################################################
     2  #
     3  # This program is part of Zenoss Core, an open source monitoring platform.
     4  # Copyright (C) 2007, Zenoss Inc.
     5  #
     6  # This program is free software; you can redistribute it and/or modify it
     7  # under the terms of the GNU General Public License version 2 or (at your
     8  # option) any later version as published by the Free Software Foundation.
     9  #
    10  # For complete information please visit: http://www.zenoss.com/oss/
    11  #
    12  ###########################################################################
    13
    14  __doc__='''GraphReportClass
    15
    16  GraphReportClass contain GraphReports.
    17  '''
    18
    19  from AccessControl import ClassSecurityInfo
    20  from Globals import DTMLFile
    21  from ReportClass import ReportClass
    22  from Globals import InitializeClass
    23  from Products.ZenWidgets import messaging
    24
    25
    26 -def manage_addGraphReportClass(context, id, title = None, REQUEST = None):
    27      ''' Construct a new GraphReportclass
    28      '''
    29      rc = GraphReportClass(id, title)
    30      context._setObject(rc.id, rc)
    31      if REQUEST is not None:
    32          messaging.IMessageSender(context).sendToBrowser(
    33              'Report Organizer Created',
    34              'Report organizer %s was created.' % id
    35          )
    36          REQUEST['RESPONSE'].redirect(context.absolute_url() + '/manage_main')
    37
    38  addGraphReportClass = DTMLFile('dtml/addGraphReportClass',globals())
    39
    40 -class GraphReportClass(ReportClass):
    41
    42      portal_type = meta_type = "GraphReportClass"
    43
    44      security = ClassSecurityInfo()
    45
    46 -    def getReportClass(self):
    47          ''' Return the class to instantiate for new report classes
    48          '''
    49          return GraphReportClass
    50
    51
    52      security.declareProtected('Manage DMD', 'manage_addGraphReport')
    53 -    def manage_addGraphReport(self, id, REQUEST=None):
    54          """Add an MultiGraph report to this object.
    55          """
    56          from Products.ZenModel.GraphReport import GraphReport
    57          fr = GraphReport(id)
    58          self._setObject(id, fr)
    59          fr = self._getOb(id)
    60          if REQUEST:
    61              url = '%s/%s/editGraphReport' % (self.getPrimaryUrlPath(),id)
    62              return REQUEST['RESPONSE'].redirect(url)
    63          return fr
    64
    65
    66  InitializeClass(GraphReportClass)
    67