added theme
[myslice.git] / portal / homeview.py
index efdf71e..5704164 100644 (file)
@@ -4,6 +4,7 @@ from django.http import HttpResponseRedirect
 from django.contrib.auth import authenticate, login, logout
 from django.template import RequestContext
 from django.shortcuts import render_to_response
+from django.shortcuts import render
 
 from unfold.loginrequired import FreeAccessView
 
@@ -11,8 +12,11 @@ from manifold.manifoldresult import ManifoldResult
 from ui.topmenu import topmenu_items, the_user
 from myslice.configengine import ConfigEngine
 
-class HomeView (FreeAccessView):
+from theme import ThemeView
 
+class HomeView (FreeAccessView, ThemeView):
+    template_name = 'home-view.html'
+        
     # expose this so we can mention the backend URL on the welcome page
     def default_env (self):
         return { 
@@ -21,6 +25,7 @@ class HomeView (FreeAccessView):
 
     def post (self,request):
         env = self.default_env()
+        env['theme'] = self.theme
         username = request.POST.get('username')
         password = request.POST.get('password')
         
@@ -39,7 +44,7 @@ class HomeView (FreeAccessView):
             # let's use ManifoldResult.__repr__
             env['state']="%s"%manifoldresult
             env['layout_1_or_2']="layout-unfold2.html"
-            return render_to_response('home-view.html',env, context_instance=RequestContext(request))
+            return render_to_response(self.template,env, context_instance=RequestContext(request))
         # user was authenticated at the backend
         elif auth_result is not None:
             user=auth_result
@@ -50,21 +55,32 @@ class HomeView (FreeAccessView):
             else:
                 env['state'] = "Your account is not active, please contact the site admin."
                 env['layout_1_or_2']="layout-unfold2.html"
-                return render_to_response('home-view.html',env, context_instance=RequestContext(request))
+                return render_to_response(self.template,env, context_instance=RequestContext(request))
         # otherwise
         else:
             env['state'] = "Your username and/or password were incorrect."
             env['layout_1_or_2']="layout-unfold2.html"
-            return render_to_response('home-view.html',env, context_instance=RequestContext(request))
+            return render_to_response(self.template, env, context_instance=RequestContext(request))
 
     # login-ok sets state="Welcome to MySlice" in urls.py
     def get (self, request, state=None):
         env = self.default_env()
+
+        if request.user.is_authenticated(): 
+            env['person'] = self.request.user
+        else: 
+            env['person'] = None
+    
+        env['theme'] = self.theme
+    
+
         env['username']=the_user(request)
         env['topmenu_items'] = topmenu_items(None, request)
         if state: env['state'] = state
         elif not env['username']: env['state'] = None
         # use one or two columns for the layout - not logged in users will see the login prompt
         env['layout_1_or_2']="layout-unfold2.html" if not env['username'] else "layout-unfold1.html"
-        return render_to_response('home-view.html',env, context_instance=RequestContext(request))
+        
+        
+        return render_to_response(self.template, env, context_instance=RequestContext(request))