AiC and REST login
[myslice.git] / portal / certificate.py
1 # this somehow is not used anymore - should it not be ?
2 from django.core.context_processors import csrf
3 from django.http import HttpResponseRedirect
4 from django.contrib.auth import authenticate, login, logout
5 from django.template import RequestContext
6 from django.shortcuts import render_to_response
7 from django.shortcuts import render
8
9 from unfold.loginrequired   import LoginRequiredAutoLogoutView
10
11 from manifoldapi.manifoldresult import ManifoldResult
12 from ui.topmenu import topmenu_items, the_user
13 from myslice.configengine import ConfigEngine
14
15 from myslice.theme import ThemeView
16
17 from portal.actions import get_jfed_identity
18
19 class CertificateView (LoginRequiredAutoLogoutView, ThemeView):
20     template_name = 'certificate.html'
21         
22     # expose this so we can mention the backend URL on the welcome page
23     def default_env (self):
24         return { 
25             'MANIFOLD_URL':ConfigEngine().manifold_url(),
26         }
27
28     def post (self,request):
29         env = self.default_env()
30         env['theme'] = self.theme
31         return render_to_response(self.template, env, context_instance=RequestContext(request))
32
33     def get (self, request, state=None):
34         env = self.default_env()
35
36         if request.user.is_authenticated(): 
37             env['person'] = self.request.user
38         else: 
39             env['person'] = None
40     
41         env['theme'] = self.theme
42
43         env['username'] = the_user(request)
44         env['topmenu_items'] = topmenu_items(None, request)
45         if state:
46             env['state'] = state
47         elif not env['username']:
48             env['state'] = None
49         # use one or two columns for the layout - not logged in users will see the login prompt
50         #env['layout_1_or_2'] = "layout-unfold2.html" if not env['username'] else "layout-unfold1.html"
51         
52         env['certificate'] = get_jfed_identity(request)
53         return render_to_response(self.template, env, context_instance=RequestContext(request))
54