app/soc/views/user/roles.py
changeset 84 1b31d238ba39
parent 82 1456e633bf8a
child 99 8c38b546a3cf
--- a/app/soc/views/user/roles.py	Tue Aug 19 23:13:24 2008 +0000
+++ b/app/soc/views/user/roles.py	Tue Aug 19 23:51:31 2008 +0000
@@ -17,10 +17,64 @@
 """Views of a User's various Roles on the site.
 
 dashboard:  dashboard view of all of a User's Roles on the site
+
+public:  a public view of the User's Roles on the site
 """
 
 __authors__ = [
   '"Todd Larsen" <tlarsen@google.com>',
   ]
 
-#TODO(tlarsen): this module is currently a placeholder for future work
+
+from google.appengine.api import users
+from django import http
+from soc.views.helpers import response_helpers
+
+
+def dashboard(request, linkname=None,
+              template='soc/user/roles/dashboard.html'):
+  """A per-User dashboard of that User's Roles on the site.
+
+  Args:
+    request: the standard django request object.
+    linkname: the User's site-unique "linkname" extracted from the URL
+    template: the template path to use for rendering the template.
+
+  Returns:
+    A subclass of django.http.HttpResponse with generated template.
+  """
+  #TODO(tlarsen): this module is currently a placeholder for future work
+  
+  # TODO: check that user is logged in and "owns" the linkname;
+  #   if not, call public() view instead
+  #   This might be tricky, since we want to use the same style
+  #   of template that was passed to us, but how do we figure out
+  #   what the equivalent public.html template is?  Perhaps this
+  #   view needs to require that, for a foo/bar/dashboard.html
+  #   template, a corresponding foo/bar/public.html template must
+  #   also exist...
+
+  return response_helpers.respond(request,
+      template, {'template': template})
+
+
+def public(request, linkname=None,
+           template='soc/user/roles/public.html'):
+  """A "general public" view of a User's Roles on the site.
+
+  Args:
+    request: the standard django request object.
+    linkname: the User's site-unique "linkname" extracted from the URL
+    template: the template path to use for rendering the template.
+
+  Returns:
+    A subclass of django.http.HttpResponse with generated template.
+  """
+  #TODO(tlarsen): this module is currently a placeholder for future work
+  
+  # TODO: if linkname is empty or not a vaild linkname on the site, display
+  # some sort of "user does not exist" page (a custom 404 page, maybe?).
+  
+  return response_helpers.respond(request,
+      template, {'template': template})
+