97 rights['list'] = [access.checkIsDeveloper] |
97 rights['list'] = [access.checkIsDeveloper] |
98 |
98 |
99 new_params = {} |
99 new_params = {} |
100 new_params['rights'] = rights |
100 new_params['rights'] = rights |
101 new_params['create_redirect'] = '/%(url_name)s' % params |
101 new_params['create_redirect'] = '/%(url_name)s' % params |
|
102 new_params['edit_redirect'] = '/%(url_name)s/edit' % params |
102 new_params['missing_redirect'] = '/%(url_name)s/create' % params |
103 new_params['missing_redirect'] = '/%(url_name)s/create' % params |
103 new_params['delete_redirect'] = '/%(url_name)s/list' % params |
104 new_params['delete_redirect'] = '/%(url_name)s/list' % params |
104 new_params['invite_redirect'] = '/request/list' |
105 new_params['invite_redirect'] = '/request/list' |
105 |
106 |
106 new_params['sidebar'] = None |
107 new_params['sidebar'] = None |
280 if not form.is_valid(): |
281 if not form.is_valid(): |
281 return self._constructResponse(request, entity, context, form, params) |
282 return self._constructResponse(request, entity, context, form, params) |
282 |
283 |
283 key_name, fields = self.collectCleanedFields(form) |
284 key_name, fields = self.collectCleanedFields(form) |
284 |
285 |
285 # get the old_suffix before editing |
286 request.path = params['edit_redirect'] |
286 if entity: |
|
287 old_suffix = '%s%s' %('edit/', self._logic.getKeySuffix(entity)) |
|
288 else: |
|
289 # retrieve the suffix appened to the create path |
|
290 splitted_path = request.path.split('/create/',1) |
|
291 if len(splitted_path) == 2 : |
|
292 old_suffix = '%s%s' %('create/', splitted_path[1]) |
|
293 else: |
|
294 # no suffix after the create in the request path |
|
295 old_suffix = 'create' |
|
296 |
|
297 self._editPost(request, entity, fields) |
287 self._editPost(request, entity, fields) |
298 |
288 |
299 if not key_name: |
289 if not key_name: |
300 key_fields = self._logic.getKeyFieldsFromDict(fields) |
290 key_fields = self._logic.getKeyFieldsFromDict(fields) |
301 key_name = self._logic.getKeyNameForFields(key_fields) |
291 key_name = self._logic.getKeyNameForFields(key_fields) |
304 |
294 |
305 if not entity: |
295 if not entity: |
306 return http.HttpResponseRedirect('/') |
296 return http.HttpResponseRedirect('/') |
307 |
297 |
308 page_params = params['edit_params'] |
298 page_params = params['edit_params'] |
309 new_suffix = '%s%s' %('edit/', self._logic.getKeySuffix(entity)) |
299 new_suffix = self._logic.getKeySuffix(entity) |
310 |
300 |
311 # redirect to (possibly new) location of the entity |
301 # redirect to (possibly new) location of the entity |
312 # (causes 'Profile saved' message to be displayed) |
302 # (causes 'Profile saved' message to be displayed) |
313 return helper.responses.redirectToChangedSuffix( |
303 return helper.responses.redirectToChangedSuffix( |
314 request, old_suffix, new_suffix, |
304 request, None, new_suffix, |
315 params=page_params) |
305 params=page_params) |
316 |
306 |
317 def editGet(self, request, entity, context, seed, params): |
307 def editGet(self, request, entity, context, seed, params): |
318 """Same as edit, but on GET. |
308 """Same as edit, but on GET. |
319 """ |
309 """ |