--- 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})
+