# HG changeset patch # User Sverre Rabbelier # Date 1229174860 0 # Node ID 28225172af063d521022d6f1806059bb87260588 # Parent 1ebd40380aa5e5396c6bba8f7ca849c911dcc143 Make it possible to redirect anywhere after editPost This makes it possible to not include the suffix in the redirect by making it a named parameter. Patch by: Sverre Rabbelier diff -r 1ebd40380aa5 -r 28225172af06 app/soc/views/helper/params.py --- a/app/soc/views/helper/params.py Sat Dec 13 13:09:06 2008 +0000 +++ b/app/soc/views/helper/params.py Sat Dec 13 13:27:40 2008 +0000 @@ -84,9 +84,8 @@ new_params['rights'] = rights new_params['scope_logic'] = params['logic'].getScopeLogic() - - new_params['create_redirect'] = '/%(url_name)s' % params - new_params['edit_redirect'] = '/%(url_name)s/edit' % params + # Do not expand edit_redirect to allow it to be overriden without suffix + new_params['edit_redirect'] = '/%(url_name)s/edit/%(suffix)s' new_params['missing_redirect'] = '/%(url_name)s/create' % params new_params['delete_redirect'] = '/%(url_name)s/list' % params new_params['invite_redirect'] = '/request/list' diff -r 1ebd40380aa5 -r 28225172af06 app/soc/views/models/base.py --- a/app/soc/views/models/base.py Sat Dec 13 13:09:06 2008 +0000 +++ b/app/soc/views/models/base.py Sat Dec 13 13:27:40 2008 +0000 @@ -261,7 +261,6 @@ key_name, fields = forms.collectCleanedFields(form) - request.path = params['edit_redirect'] self._editPost(request, entity, fields) if not key_name: @@ -274,13 +273,14 @@ return http.HttpResponseRedirect('/') page_params = params['edit_params'] - new_suffix = self._logic.getKeySuffix(entity) + params['suffix'] = self._logic.getKeySuffix(entity) + + request.path = params['edit_redirect'] % params # redirect to (possibly new) location of the entity # (causes 'Profile saved' message to be displayed) return helper.responses.redirectToChangedSuffix( - request, None, new_suffix, - params=page_params) + request, None, params=page_params) def editGet(self, request, entity, context, seed, params): """Processes GET requests for the specified entity.