equal
deleted
inserted
replaced
21 '"Todd Larsen" <tlarsen@google.com>', |
21 '"Todd Larsen" <tlarsen@google.com>', |
22 '"Pawel Solyga" <pawel.solyga@gmail.com>', |
22 '"Pawel Solyga" <pawel.solyga@gmail.com>', |
23 ] |
23 ] |
24 |
24 |
25 |
25 |
26 import logging |
|
27 |
|
28 from google.appengine.api import users |
26 from google.appengine.api import users |
29 from google.appengine.runtime import DeadlineExceededError |
|
30 |
27 |
31 from django import http |
28 from django import http |
32 from django.template import loader |
29 from django.template import loader |
33 |
30 |
34 from soc.logic import system |
31 from soc.logic import system |
65 context = getUniversalContext(request) |
62 context = getUniversalContext(request) |
66 |
63 |
67 if response_args is None: |
64 if response_args is None: |
68 response_args = {} |
65 response_args = {} |
69 |
66 |
70 try: |
67 response_args['content'] = response_args.get( |
71 response_args['content'] = response_args.get( |
68 'content', loader.render_to_string(template, dictionary=context)) |
72 'content', loader.render_to_string(template, dictionary=context)) |
69 return http.HttpResponse(**response_args) |
73 return http.HttpResponse(**response_args) |
|
74 except DeadlineExceededError: |
|
75 logging.exception('DeadlineExceededError') |
|
76 return http.HttpResponse('DeadlineExceededError') |
|
77 except MemoryError: |
|
78 logging.exception('MemoryError') |
|
79 return http.HttpResponse('MemoryError') |
|
80 except AssertionError: |
|
81 logging.exception('AssertionError') |
|
82 return http.HttpResponse('AssertionError') |
|
83 |
70 |
84 |
71 |
85 def getUniversalContext(request): |
72 def getUniversalContext(request): |
86 """Constructs a template context dict will many common variables defined. |
73 """Constructs a template context dict will many common variables defined. |
87 |
74 |
109 context = {} |
96 context = {} |
110 context['request'] = request |
97 context['request'] = request |
111 |
98 |
112 if id: |
99 if id: |
113 context['id'] = id |
100 context['id'] = id |
114 context['user'] = soc.logic.models.user.logic.getFromFields(email=id.email()) |
101 context['user'] = soc.logic.models.user.logic.getFromFields( |
|
102 email=id.email()) |
115 context['is_admin'] = id_user.isIdDeveloper(id=id) |
103 context['is_admin'] = id_user.isIdDeveloper(id=id) |
116 |
104 |
117 context['is_debug'] = system.isDebug() |
105 context['is_debug'] = system.isDebug() |
118 context['sign_in'] = users.create_login_url(request.path) |
106 context['sign_in'] = users.create_login_url(request.path) |
119 context['sign_out'] = users.create_logout_url(request.path) |
107 context['sign_out'] = users.create_logout_url(request.path) |