app/soc/views/helper/responses.py
changeset 854 bb43b74c58f6
parent 702 e3b91b6955ff
child 855 fbc1a87364ac
equal deleted inserted replaced
853:062290a3b3cf 854:bb43b74c58f6
    31 from soc import release
    31 from soc import release
    32 from soc.logic import accounts
    32 from soc.logic import accounts
    33 from soc.logic import system
    33 from soc.logic import system
    34 from soc.logic.models import site
    34 from soc.logic.models import site
    35 from soc.views import helper
    35 from soc.views import helper
       
    36 from soc.views.helper import redirects
    36 from soc.views.helper import templates
    37 from soc.views.helper import templates
    37 from soc.views.sitemap import sidebar
    38 from soc.views.sitemap import sidebar
    38 
    39 
    39 import soc.logic
    40 import soc.logic
    40 import soc.logic.models.user
    41 import soc.logic.models.user
   114 
   115 
   115   settings = site.logic.getFromFields(link_id=site.logic.DEF_SITE_LINK_ID)
   116   settings = site.logic.getFromFields(link_id=site.logic.DEF_SITE_LINK_ID)
   116   
   117   
   117   if settings:
   118   if settings:
   118     context['ga_tracking_num'] = settings.ga_tracking_num
   119     context['ga_tracking_num'] = settings.ga_tracking_num
   119   
   120  
       
   121   context['tos_link'] = getToSLink(settings)
       
   122  
   120   return context
   123   return context
   121 
   124 
   122 
   125 
   123 def redirectToChangedSuffix(
   126 def redirectToChangedSuffix(
   124     request, old_suffix, new_suffix=None, params=None):
   127     request, old_suffix, new_suffix=None, params=None):
   167     # supplied context did not explicitly override the message
   170     # supplied context did not explicitly override the message
   168     context['message'] = error.message_fmt % context
   171     context['message'] = error.message_fmt % context
   169 
   172 
   170   return respond(request, sibling_templates, context=context,
   173   return respond(request, sibling_templates, context=context,
   171                  response_args=error.response_args)
   174                  response_args=error.response_args)
       
   175 
       
   176 def getToSLink(presence):
       
   177   """Returns link to 'show' the ToS Document if it exists, None otherwise.
       
   178 
       
   179   Args:
       
   180     presence: Presence entity that may or may not have a tos property
       
   181   """
       
   182   if not presence:
       
   183     return None
       
   184 
       
   185   try:
       
   186     tos_doc = presence.tos
       
   187   except db.Error:
       
   188     return None
       
   189 
       
   190   return redirects.getPublicRedirect(tos_doc, {'url_name': 'document'})
       
   191