Exemplo n.º 1
0
 def set_what(self, value):
     if IObjectEvent.providedBy(value):
         self.event = value
         what, what_info = self.extract_what()
         if what_info is not None:
             self.data["what_info"] = what_info
         if what is not None:
             self.data["what"] = what
         else:
             what, what_info = self._extracts(value)
             self.data["what"] = what
             self.data["what_info"] = what_info
     elif type(value) == str:
         self.data["what"] = value
Exemplo n.º 2
0
    def processedMessage(self):
        processedMessage = self.element.message
        if "&e" in processedMessage:
            processedMessage = processedMessage.replace("&e", "%s.%s" % (
                    self.event.__class__.__module__, self.event.__class__.__name__))

        if "&c" in processedMessage and IObjectEvent.providedBy(self.event):
            processedMessage = processedMessage.replace("&c", repr(self.event.object))

        if "&u" in processedMessage:
            mtool = getToolByName(self.context, 'portal_membership')
            member = mtool.getAuthenticatedMember().getUserName()
            processedMessage = processedMessage.replace("&u", member)

        return processedMessage
Exemplo n.º 3
0
    def processedMessage(self):
        processedMessage = self.element.message
        if "&e" in processedMessage:
            processedMessage = processedMessage.replace("&e", "%s.%s" % (
                self.event.__class__.__module__, self.event.__class__.__name__))

        if "&c" in processedMessage and IObjectEvent.providedBy(self.event):
            processedMessage = processedMessage.replace("&c", repr(self.event.object))

        if "&u" in processedMessage:
            mtool = getToolByName(self.context, 'portal_membership')
            member = mtool.getAuthenticatedMember().getUserName()
            processedMessage = processedMessage.replace("&u", member)

        return processedMessage
Exemplo n.º 4
0
    def processedMessage(self):
        processedMessage = self.element.message
        if '&e' in processedMessage:
            event_class = self.event.__class__
            processedMessage = processedMessage.replace(
                '&e', '{0}.{1}'.format(
                    event_class.__module__,
                    event_class.__name__,
                ))

        if '&c' in processedMessage and IObjectEvent.providedBy(self.event):
            processedMessage = processedMessage.replace(
                '&c', repr(self.event.object))

        if '&u' in processedMessage:
            mtool = getToolByName(self.context, 'portal_membership')
            member = mtool.getAuthenticatedMember().getUserName()
            processedMessage = processedMessage.replace('&u', member)

        return processedMessage
Exemplo n.º 5
0
    def set_what(self, value):
        if self.what is not None:
            LOG.error("try to set multiple time the what ?")
            return
        if IObjectEvent.providedBy(value):
            self.context.what_info = self.get_what_info(value)
            ifaces = list(interface.implementedBy(value.__class__))
            for iface in ifaces:
                if iface.extends(IObjectEvent):
                    self.what = str(iface.__identifier__)
                    break

        elif type(value) == str:
            new_value = value.split('.')[-1]
            if new_value.startswith('I'):
                new_value = new_value[1:]
            if new_value.startswith('Object'):
                new_value = new_value[6:]
            if new_value.endswith('Event'):
                new_value = new_value[:-5]
            self.context.what = new_value
Exemplo n.º 6
0
 def display(event):
     name = event.__class__.__name__
     if IObjectEvent.providedBy(event):
         if ITraversable.providedBy(event.object):
             name += ' for ' + '/'.join(event.object.getPhysicalPath())
     return name