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 |