1
2
3
4
5
6
7
8
9
10
11
12
13 import logging
14 log = logging.getLogger("zen.EventView")
15
16 from _mysql_exceptions import MySQLError
17
18 from AccessControl import ClassSecurityInfo
19 from Globals import InitializeClass
20 from zope.interface import Interface, implements
21
22 from Products.ZenUtils.FakeRequest import FakeRequest
23 from Products.ZenUtils.Utils import unused
24
26 """
27 Marker interface for objects which have event views.
28 """
29
31
32 implements(IEventView)
33
34 security = ClassSecurityInfo()
35
37 """Return the current event manager for this object.
38 """
39 if table=='history':
40 return self.ZenEventHistory
41 return self.ZenEventManager
42
43
45 """Return the current event history for this object.
46 """
47 return self.ZenEventHistory
48
49
50 - def getStatus(self, statusclass=None, **kwargs):
51 """Return the status number for this device of class statClass.
52 """
53 try:
54 return self.getEventManager().getStatusME(self, statusclass=statusclass, **kwargs)
55 except MySQLError:
56 log.exception("exception getting status")
57 return -1
58
59
61 """Return the status number for this device of class statClass.
62 """
63
64 f = self.getStatus
65 return self.convertStatus(f(statclass, **kwargs))
66
67
72
73
78
79
84
85
90
91
93 """
94 Return an EventDetail for an event on this object.
95 """
96 evt = self.getEventManager().getEventDetail(evid, dedupid, better)
97 return evt.__of__(self)
98
99
100 - def getEventDetailFromStatusOrHistory(self, evid=None,
101 dedupid=None, better=False):
102 """
103 Return the event detail for an event within the context of a device
104 or other device organizer
105 """
106 evt = self.getEventManager().getEventDetailFromStatusOrHistory(
107 evid, dedupid, better)
108 return evt.__of__(self)
109
110
113
114
115 security.declareProtected('Manage Events','manage_addLogMessage')
122
123
124 security.declareProtected('Manage Events','manage_deleteEvents')
138
139
140 security.declareProtected('Manage Events','manage_deleteBatchEvents')
141 - def manage_deleteBatchEvents(self, selectstatus='none', goodevids=[],
142 badevids=[], filter='',
143 offset=0, count=50, fields=[],
144 getTotalCount=True,
145 startdate=None, enddate=None,
146 severity=2, state=1, orderby='',
147 REQUEST=None, **kwargs):
148 """Delete events form this managed entity.
149 """
150 unused(count)
151 evids = self.getEventManager().getEventBatchME(self,
152 selectstatus=selectstatus,
153 goodevids=goodevids,
154 badevids=badevids,
155 filter=filter,
156 offset=offset, fields=fields,
157 getTotalCount=getTotalCount,
158 startdate=startdate,
159 enddate=enddate, severity=severity,
160 state=state, orderby=orderby,
161 **kwargs)
162 request = FakeRequest()
163 self.manage_deleteEvents(evids, request)
164 return request.get('message', '')
165
166
167 security.declareProtected('Manage Events','manage_undeleteEvents')
176
177
178
179 - def manage_undeleteBatchEvents(self, selectstatus='none', goodevids=[],
180 badevids=[], filter='',
181 offset=0, count=50, fields=[],
182 getTotalCount=True,
183 startdate=None, enddate=None,
184 severity=2, state=1, orderby='',
185 REQUEST=None, **kwargs):
186 """Delete events form this managed entity.
187 Only called from event console, so uses FakeRequest to avoid
188 page rendering.
189 """
190 unused(count)
191 evids = self.getEventHistory().getEventBatchME(self,
192 selectstatus=selectstatus,
193 goodevids=goodevids,
194 badevids=badevids,
195 filter=filter,
196 offset=offset, fields=fields,
197 getTotalCount=getTotalCount,
198 startdate=startdate,
199 enddate=enddate, severity=severity,
200 state=state, orderby=orderby,
201 **kwargs)
202 request = FakeRequest()
203 self.manage_undeleteEvents(evids, request)
204 return request.get('message', '')
205
206
207 security.declareProtected('Manage Events','manage_deleteHeartbeat')
216
217
218 security.declareProtected('Manage Events','manage_ackEvents')
223
224
225 security.declareProtected('Manage Events','manage_ackBatchEvents')
226 - def manage_ackBatchEvents(self, selectstatus='none', goodevids=[],
227 badevids=[], filter='',
228 offset=0, count=50, fields=[],
229 getTotalCount=True,
230 startdate=None, enddate=None,
231 severity=2, state=1, orderby='',
232 REQUEST=None, **kwargs):
233 """Delete events form this managed entity.
234 Only called from event console, so uses FakeRequest to avoid
235 page rendering.
236 """
237 unused(count)
238 evids = self.getEventManager().getEventBatchME(self,
239 selectstatus=selectstatus,
240 goodevids=goodevids,
241 badevids=badevids,
242 filter=filter,
243 offset=offset, fields=fields,
244 getTotalCount=getTotalCount,
245 startdate=startdate,
246 enddate=enddate, severity=severity,
247 state=state, orderby=orderby,
248 **kwargs)
249 request = FakeRequest()
250 self.manage_ackEvents(evids, request)
251 return request.get('message', '')
252
253
254 security.declareProtected('Manage Events','manage_setEventStates')
260
261
262 security.declareProtected('Manage Events','manage_createEventMap')
272
273
274 InitializeClass(EventView)
275