def test_tab_action_registry(self):
        """ tabs can be registered explicitly outside spokes """
        class TestSpoke(Spoke):
            pass

        s = TestSpoke(mock.MagicMock(tab=False, action=False))

        @tab()
        def tabhandler(handler, request, action):
            pass

        action_registry.register(tabhandler, 'tabhandler')

        assert 'tabhandler' in [x['id'] for x in s.tabs()]
    def test_tab_action_registry_restrct_spoke(self):
        """ tabs can be registered explicitly outside spokes,
            but if defined the spoke should match """
        class TestSpoke(Spoke):
            pass

        class Test2Spoke(Spoke):
            pass

        s1 = TestSpoke(mock.MagicMock(tab=False, action=False))
        s2 = Test2Spoke(mock.MagicMock(tab=False, action=False))

        @tab()
        def tabhandler(handler, request, action):
            pass

        action_registry.register(tabhandler, 'tabhandler', spoke=Test2Spoke)

        assert 'tabhandler' not in [x['id'] for x in s1.tabs()]
        assert 'tabhandler' in [x['id'] for x in s2.tabs()]
Beispiel #3
0
        return item.description

    @classmethod
    def handler(cls, handler, request, action):
        return cls(handler.spoke())(request)

class AtomWheelFeed(WheelFeed):
    action = "atom"

    feed_type = feedgenerator.Atom1Feed

class RSS1WheelFeed(WheelFeed):
    action = "rss091"

    feed_type = feedgenerator.RssUserland091Feed

class RSS2WheelFeed(WheelFeed):
    action = "rss2"

    feed_type = feedgenerator.Rss201rev2Feed

class DefaultWheelFeed(RSS2WheelFeed):
    action = "rss"


action_registry.register(RSS1WheelFeed.handler, RSS1WheelFeed.action)
action_registry.register(RSS2WheelFeed.handler, RSS2WheelFeed.action)
action_registry.register(DefaultWheelFeed.handler, DefaultWheelFeed.action)
action_registry.register(AtomWheelFeed.handler, AtomWheelFeed.action)


            body = """\
Message from %(sender)s @ %(ip)s

==

%(message)s
""" % dict(sender=sender, ip=ip, message=message)

            try:
                send_mail('Feedback from %s on "%s"' % (sender, title),
                          body,
                          sender,
                          [receiver],
                          fail_silently=False
                          )
            except (SMTPException, Exception):
                exception("failed to send form",
                          data=dict(sender=sender, title=title, message=message))
                return handler.redirect(handler.instance.path or '/',
                                        error="Unfortunately, something went wrong")

            ### Handle smtp issues! fail_silently=False
            return handler.redirect(handler.instance.path or '/',
                                    success="Your feedback has been sent")
    return render_to_response("wheelcms_simplecontact/contact.html",
                              handler.context)

action_registry.register(contact_handler, "contact")
Beispiel #5
0
def register():
    action_registry.register(properties_handler, 'properties')
    action_registry.register(properties_data_handler, 'properties_data')

    configuration_registry.register(PropertiesConfigurationHandler)
Beispiel #6
0
        content = handler.instance.content()
        domain = Site.objects.get_current().domain
        content_url = "http://%s%s" % (domain, content.get_absolute_url())
        comment_url = "http://%s%s" % (domain, n.get_absolute_url())

        send_mail('New comment on "%s"' % content.title,
        """A new comment has been posted on "%(title)s" %(content_url)s

Name: %(name)s
Content:
%(body)s

View/edit/delete comment: %(comment_url)sedit#collapseadvanced""" % dict(title=content.title,
                  content_url=content_url,
                  comment_url=comment_url,
                  name=name, body=body),

                  sender,
                  [notify],
                  fail_silently=True)

    ## log details (ip, etc) in description, or add extra fields
    ## send notification, if enabled
    ## optionally 'recognize' the user and show the comment only to him/her
    ## allow approval/rejection of comment through view?

    return handler.redirect(handler.instance.get_absolute_url(),
                            info="Your comment is being processed")

action_registry.register(handle_comment_post, "post_comment")