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()]
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")
def register(): action_registry.register(properties_handler, 'properties') action_registry.register(properties_data_handler, 'properties_data') configuration_registry.register(PropertiesConfigurationHandler)
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")