app/soc/views/simple.py
changeset 482 839740b061ad
parent 481 94834a1e6c01
child 500 44ea4620c5c0
equal deleted inserted replaced
481:94834a1e6c01 482:839740b061ad
    35 
    35 
    36 
    36 
    37 DEF_PUBLIC_TMPL = 'soc/base.html'
    37 DEF_PUBLIC_TMPL = 'soc/base.html'
    38 
    38 
    39 @decorators.view
    39 @decorators.view
    40 def public(request, page=None, template=DEF_PUBLIC_TMPL, link_name=None,
    40 def public(request, page_name=None, template=DEF_PUBLIC_TMPL, link_name=None,
    41            context=None):
    41            context=None):
    42   """A simple template view that expects a link_name extracted from the URL.
    42   """A simple template view that expects a link_name extracted from the URL.
    43 
    43 
    44   Args:
    44   Args:
    45     request: the standard Django HTTP request object
    45     request: the standard Django HTTP request object
    65   #   dict merge of missing defaults (as discussed at length in recent code
    65   #   dict merge of missing defaults (as discussed at length in recent code
    66   #   reviews)
    66   #   reviews)
    67   if not context:
    67   if not context:
    68     context = helper.responses.getUniversalContext(request)
    68     context = helper.responses.getUniversalContext(request)
    69 
    69 
    70   context['page'] = page
    70   context['page_name'] = page_name
    71 
    71 
    72   try:
    72   try:
    73     if link_name:
    73     if link_name:
    74       user = accounts.getUserFromLinkNameOr404(link_name)
    74       user = accounts.getUserFromLinkNameOr404(link_name)
    75   except out_of_band.ErrorResponse, error:
    75   except out_of_band.ErrorResponse, error:
    76     return errorResponse(request, page, error, template, context)
    76     return errorResponse(request, page_name, error, template, context)
    77 
    77 
    78   context['link_name'] = link_name
    78   context['link_name'] = link_name
    79   context['link_name_user'] = user
    79   context['link_name_user'] = user
    80 
    80 
    81   return helper.responses.respond(request, template, context)
    81   return helper.responses.respond(request, template, context)
    82 
    82 
    83 
    83 
    84 DEF_ERROR_TMPL = 'soc/error.html'
    84 DEF_ERROR_TMPL = 'soc/error.html'
    85 
    85 
    86 def errorResponse(request, page, error, template, context):
    86 def errorResponse(request, page_name, error, template, context):
    87   """Displays an error page for an out_of_band.ErrorResponse exception.
    87   """Displays an error page for an out_of_band.ErrorResponse exception.
    88   
    88   
    89   Args:
    89   Args:
    90     request: the standard Django HTTP request object
    90     request: the standard Django HTTP request object
    91     page: a soc.logic.site.page.Page object which is abstraction that combines 
    91     page: a soc.logic.site.page.Page object which is abstraction that combines 
   117 
   117 
   118 DEF_LOGIN_TMPL = 'soc/login.html'
   118 DEF_LOGIN_TMPL = 'soc/login.html'
   119 DEF_LOGIN_MSG_FMT = ugettext_lazy(
   119 DEF_LOGIN_MSG_FMT = ugettext_lazy(
   120   'Please <a href="%(sign_in)s">sign in</a> to continue.')
   120   'Please <a href="%(sign_in)s">sign in</a> to continue.')
   121 
   121 
   122 def requestLogin(request, page, template, context=None, login_message_fmt=None):
   122 def requestLogin(request, page_name, template, context=None, login_message_fmt=None):
   123   """Displays a login request page with custom message and login link.
   123   """Displays a login request page with custom message and login link.
   124   
   124   
   125   Args:
   125   Args:
   126     request: the standard Django HTTP request object
   126     request: the standard Django HTTP request object
   127     page: a soc.logic.site.page.Page object which is abstraction that combines 
   127     page: a soc.logic.site.page.Page object which is abstraction that combines