29 from django.utils.translation import ugettext_lazy |
29 from django.utils.translation import ugettext_lazy |
30 |
30 |
31 from soc.logic import document |
31 from soc.logic import document |
32 from soc.logic import out_of_band |
32 from soc.logic import out_of_band |
33 from soc.logic import path_linkname |
33 from soc.logic import path_linkname |
|
34 from soc.logic.helper import access |
34 from soc.logic.site import id_user |
35 from soc.logic.site import id_user |
35 from soc.views import helper |
36 from soc.views import helper |
36 import soc.views.helper.forms |
37 import soc.views.helper.forms |
37 import soc.views.helper.requests |
38 import soc.views.helper.requests |
38 import soc.views.helper.responses |
39 import soc.views.helper.responses |
90 |
91 |
91 Returns: |
92 Returns: |
92 A subclass of django.http.HttpResponse which either contains the form to |
93 A subclass of django.http.HttpResponse which either contains the form to |
93 be filled out, or a redirect to the correct view in the interface. |
94 be filled out, or a redirect to the correct view in the interface. |
94 """ |
95 """ |
95 # create default template context for use with any templates |
96 |
|
97 try: |
|
98 access.checkIsDeveloper(request) |
|
99 except soc.logic.out_of_band.AccessViolationResponse, alt_response: |
|
100 return alt_response.response() |
|
101 |
|
102 # create default template context for use with any templates |
96 context = helper.responses.getUniversalContext(request) |
103 context = helper.responses.getUniversalContext(request) |
97 |
|
98 logged_in_id = users.get_current_user() |
104 logged_in_id = users.get_current_user() |
99 |
|
100 alt_response = simple.getAltResponseIfNotDeveloper(request, context, |
|
101 id=logged_in_id) |
|
102 if alt_response: |
|
103 # not a developer |
|
104 return alt_response |
|
105 |
|
106 alt_response = simple.getAltResponseIfNotLoggedIn(request, context, |
|
107 id=logged_in_id) |
|
108 if alt_response: |
|
109 # not logged in |
|
110 return alt_response |
|
111 |
|
112 alt_response = simple.getAltResponseIfNotUser(request, context, |
|
113 id = logged_in_id) |
|
114 if alt_response: |
|
115 # no existing User entity for logged in Google Account. User entity is |
|
116 # required for creating Documents |
|
117 return alt_response |
|
118 |
|
119 alt_response = simple.getAltResponseIfNotDeveloper(request, |
|
120 context=context) |
|
121 if alt_response: |
|
122 return alt_response |
|
123 |
105 |
124 doc = None # assume that no Document entity will be found |
106 doc = None # assume that no Document entity will be found |
125 |
107 |
126 path = path_linkname.combinePath([partial_path, linkname]) |
108 path = path_linkname.combinePath([partial_path, linkname]) |
127 |
109 |
239 |
221 |
240 Returns: |
222 Returns: |
241 A subclass of django.http.HttpResponse which either contains the form to |
223 A subclass of django.http.HttpResponse which either contains the form to |
242 be filled out, or a redirect to the correct view in the interface. |
224 be filled out, or a redirect to the correct view in the interface. |
243 """ |
225 """ |
|
226 |
|
227 try: |
|
228 access.checkIsDeveloper(request) |
|
229 except soc.logic.out_of_band.AccessViolationResponse, alt_response: |
|
230 return alt_response.response() |
|
231 |
244 # create default template context for use with any templates |
232 # create default template context for use with any templates |
245 context = helper.responses.getUniversalContext(request) |
233 context = helper.responses.getUniversalContext(request) |
246 |
|
247 logged_in_id = users.get_current_user() |
234 logged_in_id = users.get_current_user() |
248 |
235 |
249 alt_response = simple.getAltResponseIfNotDeveloper(request, |
|
250 context=context, |
|
251 id=logged_in_id) |
|
252 if alt_response: |
|
253 return alt_response |
|
254 |
|
255 alt_response = simple.getAltResponseIfNotDeveloper(request, |
|
256 context=context) |
|
257 if alt_response: |
|
258 return alt_response |
|
259 if request.method == 'POST': |
236 if request.method == 'POST': |
260 form = CreateForm(request.POST) |
237 form = CreateForm(request.POST) |
261 |
238 |
262 if form.is_valid(): |
239 if form.is_valid(): |
263 new_partial_path = form.cleaned_data.get('partial_path') |
240 new_partial_path = form.cleaned_data.get('partial_path') |