Ejemplo n.º 1
0
    def test_add_send_events(self):
        from repoze.folder.interfaces import IObjectEvent
        from repoze.folder.interfaces import IObjectWillBeAddedEvent
        from repoze.folder.interfaces import IObjectAddedEvent
        events = []

        def listener(object, event):
            events.append(event)

        self._registerEventListener(listener, IObjectEvent)
        dummy = DummyModel()
        folder = self._makeOne()
        self.assertEqual(folder._num_objects(), 0)
        folder.add('a', dummy, send_events=True)
        self.assertEqual(folder._num_objects(), 1)
        self.assertEqual(len(events), 2)
        self.failUnless(IObjectWillBeAddedEvent.providedBy(events[0]))
        self.assertEqual(events[0].object, dummy)
        self.assertEqual(events[0].parent, folder)
        self.assertEqual(events[0].name, 'a')
        self.failUnless(IObjectAddedEvent.providedBy(events[1]))
        self.assertEqual(events[1].object, dummy)
        self.assertEqual(events[1].parent, folder)
        self.assertEqual(events[1].name, 'a')
        self.assertEqual(folder['a'], dummy)
Ejemplo n.º 2
0
    def test_add_send_events(self):
        from repoze.folder.interfaces import IObjectEvent
        from repoze.folder.interfaces import IObjectWillBeAddedEvent
        from repoze.folder.interfaces import IObjectAddedEvent
        events = []

        def listener(object, event):
            events.append(event)

        self._registerEventListener(listener, IObjectEvent)
        dummy = DummyModel()
        folder = self._makeOne()
        self.assertEqual(folder._num_objects(), 0)
        folder.add('a', dummy, send_events=True)
        self.assertEqual(folder._num_objects(), 1)
        self.assertEqual(len(events), 2)
        self.failUnless(IObjectWillBeAddedEvent.providedBy(events[0]))
        self.assertEqual(events[0].object, dummy)
        self.assertEqual(events[0].parent, folder)
        self.assertEqual(events[0].name, 'a')
        self.failUnless(IObjectAddedEvent.providedBy(events[1]))
        self.assertEqual(events[1].object, dummy)
        self.assertEqual(events[1].parent, folder)
        self.assertEqual(events[1].name, 'a')
        self.assertEqual(folder['a'], dummy)
Ejemplo n.º 3
0
def user_added_content(added, event):
    if IObjectAddedEvent.providedBy(event):
        events = find_events(added)
        if not events:
            return
        site = find_site(added)
        profile_id = getattr(added, "creator", None)
        if profile_id in (None, "None"):
            return
        profile = site["profiles"][profile_id]
        info = _getInfo(profile, added)
        if info is None:
            return
        if info["content_type"] == "Community":
            info["flavor"] = "added_edited_community"
        elif info["content_type"] == "Person":
            info["flavor"] = "added_edited_profile"
        else:
            info["flavor"] = "added_edited_other"
        info["operation"] = "added"
        events.push(**info)
Ejemplo n.º 4
0
def user_added_content(added, event):
    if IObjectAddedEvent.providedBy(event):
        events = find_events(added)
        if not events:
            return
        site = find_site(added)
        profile_id = getattr(added, 'creator', None)
        if profile_id in (None, 'None'):
            return
        profile = site['profiles'][profile_id]
        info = _getInfo(profile, added)
        if info is None:
            return
        if info['content_type'] == 'Community':
            info['flavor'] = 'added_edited_community'
        elif info['content_type'] == 'Person':
            info['flavor'] = 'added_edited_profile'
        else:
            info['flavor'] = 'added_edited_other'
        info['operation'] = 'added'
        events.push(**info)