app/soc/views/helper/redirects.py
changeset 891 3d40190f35b6
parent 885 f46b689e19eb
child 920 39badbfb80be
--- a/app/soc/views/helper/redirects.py	Wed Jan 21 21:41:36 2009 +0000
+++ b/app/soc/views/helper/redirects.py	Wed Jan 21 22:21:40 2009 +0000
@@ -22,6 +22,9 @@
   ]
 
 
+from google.appengine.ext import db
+
+
 def getInviteRedirect(entity, params):
   """Returns the invitation redirect for the specified entity.
   """
@@ -99,3 +102,22 @@
   return '/%s/applicant/%s' % (
       params['url_name'], entity.link_id)
 
+
+def getToSRedirect(presence):
+  """Returns link to 'show' the ToS Document if it exists, None otherwise.
+
+  Args:
+    presence: Presence entity that may or may not have a tos property
+  """
+  if not presence:
+    return None
+
+  try:
+    tos_doc = presence.tos
+  except db.Error:
+    return None
+
+  if not tos_doc:
+    return None
+
+  return getPublicRedirect(tos_doc, {'url_name': 'document'})