encode login message

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3412 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2009-06-04 07:43:42 +00:00
parent 7c075642e8
commit 634e0f78d0

View file

@ -632,8 +632,6 @@ class LoggedIn(object):
error=_(u'Try again later.'))
def __call__(self):
#form = self.request.form
#camefrom = form.get('camefrom').strip('?')
code = 'success'
if IUnauthenticatedPrincipal.providedBy(self.request.principal):
code = 'nosuccess'
@ -643,22 +641,15 @@ class LoggedIn(object):
message = self.messages[code]
return self.request.response.redirect(self.nextUrl(message, code))
params = []
url = camefrom or self.request.URL[-1]
if '?' in url:
base, qs = url.split('?', 1)
params = parse_qsl(qs)
params.append(('loops.messages.top:record', message))
self.request.response.redirect('%s?%s' % (url, urlencode(params)))
def nextUrl(self, message, code):
camefrom = self.request.form.get('camefrom').strip('?')
url = camefrom or self.request.URL[-1]
params = []
if '?' in url:
base, qs = url.split('?', 1)
url, qs = url.split('?', 1)
params = parse_qsl(qs)
params.append(('loops.messages.top:record', message))
params = [(k, v) for k, v in params if k != 'loops.messages.top:record']
params.append(('loops.messages.top:record', message.encode('UTF-8')))
return '%s?%s' % (url, urlencode(params))
# vocabulary stuff