156 |
156 |
157 try: |
157 try: |
158 entity = self._logic.getIfFields(**kwargs) |
158 entity = self._logic.getIfFields(**kwargs) |
159 except soc.logic.out_of_band.ErrorResponse, error: |
159 except soc.logic.out_of_band.ErrorResponse, error: |
160 template = self._params['public_template'] |
160 template = self._params['public_template'] |
161 error.message = error.message + View.DEF_CREATE_NEW_ENTITY_MSG % { |
161 error.message = error.message + self.DEF_CREATE_NEW_ENTITY_MSG % { |
162 'entity_type_lower' : self._params['name'].lower(), |
162 'entity_type_lower' : self._params['name'].lower(), |
163 'entity_type' : self._params['name'], |
163 'entity_type' : self._params['name'], |
164 'create' : self._params['create_redirect'] |
164 'create' : self._params['create_redirect'] |
165 } |
165 } |
166 return simple.errorResponse(request, page, error, template, context) |
166 return simple.errorResponse(request, page, error, template, context) |
208 suffix = None |
208 suffix = None |
209 |
209 |
210 # Remove the params from the request, this is relevant only if |
210 # Remove the params from the request, this is relevant only if |
211 # someone bookmarked a POST page. |
211 # someone bookmarked a POST page. |
212 is_self_referrer = helper.requests.isReferrerSelf(request, suffix=suffix) |
212 is_self_referrer = helper.requests.isReferrerSelf(request, suffix=suffix) |
213 if request.GET.get(View.DEF_SUBMIT_MSG_PARAM_NAME): |
213 if request.GET.get(self.DEF_SUBMIT_MSG_PARAM_NAME): |
214 if (not entity) or (not is_self_referrer): |
214 if (not entity) or (not is_self_referrer): |
215 return http.HttpResponseRedirect(request.path) |
215 return http.HttpResponseRedirect(request.path) |
216 |
216 |
217 if entity: |
217 if entity: |
218 # Note: no message will be displayed if parameter is not present |
218 # Note: no message will be displayed if parameter is not present |
219 context['notice'] = helper.requests.getSingleIndexedParamValue( |
219 context['notice'] = helper.requests.getSingleIndexedParamValue( |
220 request, View.DEF_SUBMIT_MSG_PARAM_NAME, |
220 request, self.DEF_SUBMIT_MSG_PARAM_NAME, |
221 values=self._params['save_message']) |
221 values=self._params['save_message']) |
222 |
222 |
223 # populate form with the existing entity |
223 # populate form with the existing entity |
224 form = self._params['edit_form'](instance=entity) |
224 form = self._params['edit_form'](instance=entity) |
225 self._editGet(request, entity, form) |
225 self._editGet(request, entity, form) |
287 |
287 |
288 try: |
288 try: |
289 entity = self._logic.getIfFields(**kwargs) |
289 entity = self._logic.getIfFields(**kwargs) |
290 except soc.logic.out_of_band.ErrorResponse, error: |
290 except soc.logic.out_of_band.ErrorResponse, error: |
291 template = self._params['create_template'] |
291 template = self._params['create_template'] |
292 error.message = error.message + View.DEF_CREATE_NEW_ENTITY_MSG % { |
292 error.message = error.message + self.DEF_CREATE_NEW_ENTITY_MSG % { |
293 'entity_type_lower' : self._params['name'].lower(), |
293 'entity_type_lower' : self._params['name'].lower(), |
294 'entity_type' : self._params['name'], |
294 'entity_type' : self._params['name'], |
295 'create' : self._params['create_redirect'] |
295 'create' : self._params['create_redirect'] |
296 } |
296 } |
297 return simple.errorResponse(request, page, error, template, context) |
297 return simple.errorResponse(request, page, error, template, context) |
313 def _editPost(self, request, entity, fields): |
313 def _editPost(self, request, entity, fields): |
314 """Performs any required processing on the entity to post its edit page |
314 """Performs any required processing on the entity to post its edit page |
315 |
315 |
316 Args: |
316 Args: |
317 request: the django request object |
317 request: the django request object |
318 entity: the entity to post |
318 entity: the entity to create or update from POST contents |
319 fields: the new field values |
319 fields: the new field values |
320 """ |
320 """ |
321 |
321 |
322 raise NotImplementedError |
322 raise NotImplementedError |
323 |
323 |