from zope.publisher.browser import BrowserPage from zope.app.pagetemplate import ViewPageTemplateFile from zope.app.security.interfaces import IUnauthenticatedPrincipal from zope.app.security.interfaces import ILogoutSupported import urllib from zope.app.component.hooks import getSite from zope.traversing.browser import absoluteURL class LoginPage(BrowserPage): template = ViewPageTemplateFile('login.pt') def __call__(self): request = self.request if (not IUnauthenticatedPrincipal.providedBy(request.principal) and 'krihvel.Login' in request): camefrom = request.get('camefrom', '.') request.response.redirect(camefrom) else: return self.template() class KrihvelLogout(object): def __init__(self, context, request): self.context = context self.request = request def __call__(self): site = getSite() request = self.request site_url = absoluteURL(site, request) # XXX Replace logout.html with something of our own. Easier and more effective. if ILogoutSupported(self.request, None) is not None: return u"""
""" % (urllib.quote(site_url)) else: # XXX If for some reason logout is not supported. Make sure the visual part is the same. return u"""
"""