aboutsummaryrefslogtreecommitdiffstats
path: root/flywheel/emitters.py
diff options
context:
space:
mode:
authortom christie tom@tomchristie.com2011-01-27 21:09:25 +0000
committertom christie tom@tomchristie.com2011-01-27 21:09:25 +0000
commit216baa551fdce6394aa640ee0806c79b38658daf (patch)
tree9d97c1f37e029b87df6e6f7eb5a617727cae37ae /flywheel/emitters.py
parente227c38b330988d71087759d13303215561808c6 (diff)
downloaddjango-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.py15
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)