diff options
| author | tom christie tom@tomchristie.com | 2011-01-27 21:09:25 +0000 |
|---|---|---|
| committer | tom christie tom@tomchristie.com | 2011-01-27 21:09:25 +0000 |
| commit | 216baa551fdce6394aa640ee0806c79b38658daf (patch) | |
| tree | 9d97c1f37e029b87df6e6f7eb5a617727cae37ae /flywheel/emitters.py | |
| parent | e227c38b330988d71087759d13303215561808c6 (diff) | |
| download | django-rest-framework-216baa551fdce6394aa640ee0806c79b38658daf.tar.bz2 | |
Login/Logout and FlyWheel API link in HTML emitter
Diffstat (limited to 'flywheel/emitters.py')
| -rw-r--r-- | flywheel/emitters.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/flywheel/emitters.py b/flywheel/emitters.py index 4ba2d92d..458fa68c 100644 --- a/flywheel/emitters.py +++ b/flywheel/emitters.py @@ -1,9 +1,10 @@ +from django.conf import settings from django.template import RequestContext, loader from django import forms from flywheel.response import NoContent -from utils import dict2xml +from utils import dict2xml, url_resolves import string try: import json @@ -12,6 +13,7 @@ except ImportError: + class BaseEmitter(object): media_type = None @@ -118,13 +120,22 @@ class DocumentingTemplateEmitter(BaseEmitter): content = self._get_content(self.resource, output) form_instance = self._get_form_instance(self.resource) + if url_resolves(settings.LOGIN_URL) and url_resolves(settings.LOGOUT_URL): + login_url = "%s?next=%s" % (settings.LOGIN_URL, self.resource.request.path) + logout_url = "%s?next=%s" % (settings.LOGOUT_URL, self.resource.request.path) + else: + login_url = None + logout_url = None + template = loader.get_template(self.template) context = RequestContext(self.resource.request, { 'content': content, 'resource': self.resource, 'request': self.resource.request, 'response': self.resource.response, - 'form': form_instance + 'form': form_instance, + 'login_url': login_url, + 'logout_url': logout_url, }) ret = template.render(context) |
