# HG changeset patch # User Sverre Rabbelier # Date 1227386307 0 # Node ID 4a8565ce48c67c143b6d931365172b4d3a84f726 # Parent 1bf2beedda03122a609c49033c9844586269a2d3 Fixed redirects to work consistently Revision 1133 broke 'Edit Site Settings' by relying on the fact that the url for create pages is '/create', which it is not for 'Edit Site Settings'. diff -r 1bf2beedda03 -r 4a8565ce48c6 app/soc/views/models/base.py --- a/app/soc/views/models/base.py Sat Nov 22 20:10:43 2008 +0000 +++ b/app/soc/views/models/base.py Sat Nov 22 20:38:27 2008 +0000 @@ -99,6 +99,7 @@ new_params = {} new_params['rights'] = rights new_params['create_redirect'] = '/%(url_name)s' % params + new_params['edit_redirect'] = '/%(url_name)s/edit' % params new_params['missing_redirect'] = '/%(url_name)s/create' % params new_params['delete_redirect'] = '/%(url_name)s/list' % params new_params['invite_redirect'] = '/request/list' @@ -282,18 +283,7 @@ key_name, fields = self.collectCleanedFields(form) - # get the old_suffix before editing - if entity: - old_suffix = '%s%s' %('edit/', self._logic.getKeySuffix(entity)) - else: - # retrieve the suffix appened to the create path - splitted_path = request.path.split('/create/',1) - if len(splitted_path) == 2 : - old_suffix = '%s%s' %('create/', splitted_path[1]) - else: - # no suffix after the create in the request path - old_suffix = 'create' - + request.path = params['edit_redirect'] self._editPost(request, entity, fields) if not key_name: @@ -306,12 +296,12 @@ return http.HttpResponseRedirect('/') page_params = params['edit_params'] - new_suffix = '%s%s' %('edit/', self._logic.getKeySuffix(entity)) + new_suffix = self._logic.getKeySuffix(entity) # redirect to (possibly new) location of the entity # (causes 'Profile saved' message to be displayed) return helper.responses.redirectToChangedSuffix( - request, old_suffix, new_suffix, + request, None, new_suffix, params=page_params) def editGet(self, request, entity, context, seed, params):