author | Sverre Rabbelier <srabbelier@gmail.com> |
Sun, 16 Nov 2008 22:11:58 +0000 | |
changeset 492 | 4abdeedfc08e |
parent 481 | 94834a1e6c01 |
child 493 | 6976c4d8d0ac |
permissions | -rw-r--r-- |
83
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
1 |
#!/usr/bin/python2.5 |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
2 |
# |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
3 |
# Copyright 2008 the Melange authors. |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
4 |
# |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
5 |
# Licensed under the Apache License, Version 2.0 (the "License"); |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
6 |
# you may not use this file except in compliance with the License. |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
7 |
# You may obtain a copy of the License at |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
8 |
# |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
9 |
# http://www.apache.org/licenses/LICENSE-2.0 |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
10 |
# |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
11 |
# Unless required by applicable law or agreed to in writing, software |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
12 |
# distributed under the License is distributed on an "AS IS" BASIS, |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
13 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
14 |
# See the License for the specific language governing permissions and |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
15 |
# limitations under the License. |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
16 |
|
128
f6abf00efc62
Updated docs in response_helpers.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
119
diff
changeset
|
17 |
"""Helpers used to render response. |
83
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
18 |
""" |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
19 |
|
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
20 |
__authors__ = [ |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
21 |
'"Todd Larsen" <tlarsen@google.com>', |
83
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
22 |
'"Pawel Solyga" <pawel.solyga@gmail.com>', |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
23 |
] |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
24 |
|
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
25 |
|
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
26 |
from google.appengine.api import users |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
27 |
|
83
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
28 |
from django import http |
119
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
29 |
from django.template import loader |
83
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
30 |
|
481
94834a1e6c01
Attempt to rename User.id to User.account, in preparation for making User be
Todd Larsen <tlarsen@google.com>
parents:
448
diff
changeset
|
31 |
from soc.logic import accounts |
316
9efdc7bc3565
Add missing blank lines between imports and sort all of the imports.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
309
diff
changeset
|
32 |
from soc.logic import system |
411
c8ac5c1161e2
Addresses comments to r866.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
405
diff
changeset
|
33 |
from soc.logic.models import site_settings |
316
9efdc7bc3565
Add missing blank lines between imports and sort all of the imports.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
309
diff
changeset
|
34 |
from soc.logic.site import sidebar |
9efdc7bc3565
Add missing blank lines between imports and sort all of the imports.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
309
diff
changeset
|
35 |
from soc.views import helper |
9efdc7bc3565
Add missing blank lines between imports and sort all of the imports.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
309
diff
changeset
|
36 |
from soc.views.helper import html_menu |
9efdc7bc3565
Add missing blank lines between imports and sort all of the imports.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
309
diff
changeset
|
37 |
|
9efdc7bc3565
Add missing blank lines between imports and sort all of the imports.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
309
diff
changeset
|
38 |
import soc.logic |
309
7190b224c701
Made the existing code use the new soc.logic.models
Sverre Rabbelier <srabbelier@gmail.com>
parents:
299
diff
changeset
|
39 |
import soc.logic.models.user |
316
9efdc7bc3565
Add missing blank lines between imports and sort all of the imports.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
309
diff
changeset
|
40 |
import soc.views.helper.requests |
309
7190b224c701
Made the existing code use the new soc.logic.models
Sverre Rabbelier <srabbelier@gmail.com>
parents:
299
diff
changeset
|
41 |
|
322
6641e941ef1e
Fixed imports sorting based on comments for r751.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
316
diff
changeset
|
42 |
|
119
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
43 |
def respond(request, template, context=None, response_args=None): |
83
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
44 |
"""Helper to render a response, passing standard stuff to the response. |
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
45 |
|
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
46 |
Args: |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
47 |
request: the Django HTTP request object |
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
48 |
template: the template (or search list of templates) to render |
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
49 |
context: the context supplied to the template (implements dict) |
119
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
50 |
response_args: keyword arguments passed to http.HttpResponse() |
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
51 |
(response_args['content'] is created with |
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
52 |
render_to_string(template, dictionary=context) if it is not present) |
83
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
53 |
|
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
54 |
Returns: |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
55 |
django.shortcuts.render_to_response(template, context) results |
83
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
56 |
|
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
57 |
Raises: |
119
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
58 |
Any exceptions that django.template.loader.render_to_string() or |
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
59 |
django.http.HttpResponse() might raise. |
83
3f4f7c540b75
Created response helper respond() function that is used to generate base templates and it's child templates (handles sign in/out links, user name etc).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
60 |
""" |
299
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
61 |
|
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
62 |
if not context: |
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
63 |
context = getUniversalContext(request) |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
64 |
|
119
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
65 |
if response_args is None: |
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
66 |
response_args = {} |
50d8d58dcd7c
Add soc.views.simple containing (initially) two simple template views.
Todd Larsen <tlarsen@google.com>
parents:
116
diff
changeset
|
67 |
|
365
74dec172944e
Create decorators module in view/helper and add view decorator that catches exceptions like DeadlineExceededError, MemoryError, AssertionError (this code is being moved from respond function). Add view decorator to all view functions. In addition remove not needed imports from all affected files and fix too long lines.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
359
diff
changeset
|
68 |
response_args['content'] = response_args.get( |
74dec172944e
Create decorators module in view/helper and add view decorator that catches exceptions like DeadlineExceededError, MemoryError, AssertionError (this code is being moved from respond function). Add view decorator to all view functions. In addition remove not needed imports from all affected files and fix too long lines.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
359
diff
changeset
|
69 |
'content', loader.render_to_string(template, dictionary=context)) |
74dec172944e
Create decorators module in view/helper and add view decorator that catches exceptions like DeadlineExceededError, MemoryError, AssertionError (this code is being moved from respond function). Add view decorator to all view functions. In addition remove not needed imports from all affected files and fix too long lines.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
359
diff
changeset
|
70 |
return http.HttpResponse(**response_args) |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
71 |
|
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
72 |
|
299
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
73 |
def getUniversalContext(request): |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
74 |
"""Constructs a template context dict will many common variables defined. |
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
75 |
|
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
76 |
Args: |
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
77 |
request: the Django HTTP request object |
299
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
78 |
|
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
79 |
Returns: |
299
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
80 |
a new context dict containing: |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
81 |
|
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
82 |
{ |
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
83 |
'request': the Django HTTP request object passed in by the caller |
481
94834a1e6c01
Attempt to rename User.id to User.account, in preparation for making User be
Todd Larsen <tlarsen@google.com>
parents:
448
diff
changeset
|
84 |
'account': the logged-in Google Account if there is one |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
85 |
'user': the User entity corresponding to the Google Account in |
481
94834a1e6c01
Attempt to rename User.id to User.account, in preparation for making User be
Todd Larsen <tlarsen@google.com>
parents:
448
diff
changeset
|
86 |
context['account'] |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
87 |
'is_admin': True if users.is_current_user_admin() is True |
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
88 |
'is_debug': True if system.isDebug() is True |
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
89 |
'sign_in': a Google Account login URL |
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
90 |
'sign_out': a Google Account logout URL |
200
8e3a18cead22
Replace mock-up of sidebar with first draft of dynamic sidebar functionality.
Todd Larsen <tlarsen@google.com>
parents:
190
diff
changeset
|
91 |
'sidebar_menu_html': an HTML string that renders the sidebar menu |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
92 |
} |
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
93 |
""" |
299
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
94 |
|
481
94834a1e6c01
Attempt to rename User.id to User.account, in preparation for making User be
Todd Larsen <tlarsen@google.com>
parents:
448
diff
changeset
|
95 |
account = users.get_current_user() |
299
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
96 |
|
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
97 |
context = {} |
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
98 |
context['request'] = request |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
99 |
|
481
94834a1e6c01
Attempt to rename User.id to User.account, in preparation for making User be
Todd Larsen <tlarsen@google.com>
parents:
448
diff
changeset
|
100 |
if account: |
94834a1e6c01
Attempt to rename User.id to User.account, in preparation for making User be
Todd Larsen <tlarsen@google.com>
parents:
448
diff
changeset
|
101 |
context['account'] = account |
448
075360be6743
Fix not working former_ids. Add support for "Invalid accounts". Now when id from former_ids tries to create a profile "This account is invalid." error message is displayed. Compare emails in lower cases to prevent changing User email to the same email with different character casing (needs some more testing).
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
445
diff
changeset
|
102 |
context['user'] = soc.logic.models.user.logic.getForFields( |
481
94834a1e6c01
Attempt to rename User.id to User.account, in preparation for making User be
Todd Larsen <tlarsen@google.com>
parents:
448
diff
changeset
|
103 |
{'account': account}, unique=True) |
94834a1e6c01
Attempt to rename User.id to User.account, in preparation for making User be
Todd Larsen <tlarsen@google.com>
parents:
448
diff
changeset
|
104 |
context['is_admin'] = accounts.isDeveloper(account=account) |
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
105 |
|
299
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
106 |
context['is_debug'] = system.isDebug() |
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
107 |
context['sign_in'] = users.create_login_url(request.path) |
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
108 |
context['sign_out'] = users.create_logout_url(request.path) |
a1cc853a56e5
Refactor nearly all the soc.logic code to use the Base class
Sverre Rabbelier <srabbelier@gmail.com>
parents:
276
diff
changeset
|
109 |
context['sidebar_menu_html'] = str(html_menu.UlMenu( |
200
8e3a18cead22
Replace mock-up of sidebar with first draft of dynamic sidebar functionality.
Todd Larsen <tlarsen@google.com>
parents:
190
diff
changeset
|
110 |
sidebar.buildSidebar(**context))) |
405
f3525c1288ed
Add Google Analytics support to Site Settings. The reason I created additional SettingsValidationForm is because you cannot inherit from Form that has already defined Meta class, so it's sort of workaround for that. I didn't want to have same validation functions in both Form classes.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
365
diff
changeset
|
111 |
|
411
c8ac5c1161e2
Addresses comments to r866.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
405
diff
changeset
|
112 |
settings = site_settings.logic.getFromFields( |
445
31927f21970d
Major site restructuring, also deleting of many unused or obsolete documents
Sverre Rabbelier <srabbelier@gmail.com>
parents:
411
diff
changeset
|
113 |
partial_path=site_settings.logic.DEF_SITE_SETTINGS_PARTIAL_PATH, |
31927f21970d
Major site restructuring, also deleting of many unused or obsolete documents
Sverre Rabbelier <srabbelier@gmail.com>
parents:
411
diff
changeset
|
114 |
link_name=site_settings.logic.DEF_SITE_SETTINGS_LINK_NAME) |
405
f3525c1288ed
Add Google Analytics support to Site Settings. The reason I created additional SettingsValidationForm is because you cannot inherit from Form that has already defined Meta class, so it's sort of workaround for that. I didn't want to have same validation functions in both Form classes.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
365
diff
changeset
|
115 |
|
411
c8ac5c1161e2
Addresses comments to r866.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
405
diff
changeset
|
116 |
if settings: |
c8ac5c1161e2
Addresses comments to r866.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
405
diff
changeset
|
117 |
context['ga_tracking_num'] = settings.ga_tracking_num |
405
f3525c1288ed
Add Google Analytics support to Site Settings. The reason I created additional SettingsValidationForm is because you cannot inherit from Form that has already defined Meta class, so it's sort of workaround for that. I didn't want to have same validation functions in both Form classes.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
365
diff
changeset
|
118 |
|
116
68b5ce15fff9
Factor out a getUniversalContext() function so that views that do not call
Todd Larsen <tlarsen@google.com>
parents:
99
diff
changeset
|
119 |
return context |
167
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
120 |
|
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
121 |
|
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
122 |
def redirectToChangedSuffix( |
179
4882d6c5630d
Add custom 404 error message with link to "Create a New User" which is displayed when linkname in User Profile Developer view URL (/site/user/profile/<linkname>) doesn't exist. Add default value (None) to new_suffix parameter of template_helpers replaceSuffix and redirectToChangedSuffix functions.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
169
diff
changeset
|
123 |
request, old_suffix, new_suffix=None, params=None): |
167
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
124 |
"""Changes suffix of URL path and returns an HTTP redirect response. |
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
125 |
|
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
126 |
Args: |
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
127 |
request: the Django HTTP request object; redirect path is derived from |
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
128 |
request.path |
269
0f1acc4c3e1e
Move helpers/request.py to helper/requests.py to avoid conflict with common
Todd Larsen <tlarsen@google.com>
parents:
267
diff
changeset
|
129 |
old_suffix, new_suffix, params: see helper.requests.replaceSuffix() |
167
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
130 |
|
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
131 |
Returns: |
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
132 |
a Django HTTP redirect response pointing to the altered path |
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
133 |
""" |
269
0f1acc4c3e1e
Move helpers/request.py to helper/requests.py to avoid conflict with common
Todd Larsen <tlarsen@google.com>
parents:
267
diff
changeset
|
134 |
path = helper.requests.replaceSuffix(request.path, old_suffix, new_suffix, |
190
b1351bf81064
Move isReferrerSelf() and replaceSuffix() into new request_helpers.py module,
Todd Larsen <tlarsen@google.com>
parents:
179
diff
changeset
|
135 |
params=params) |
167
13e438623ded
Added replaceSuffix(), isReferrerSelf(), and redirectToChangedSuffix() to
Todd Larsen <tlarsen@google.com>
parents:
135
diff
changeset
|
136 |
return http.HttpResponseRedirect(path) |