--- Session.py_que_estoy_utilizando Mon Jun 17 08:20:00 2002 +++ Session.py Tue Jun 18 18:53:32 2002 @@ -49,6 +49,7 @@ from DateTime import DateTime import threading,time from Shared.DC.ZRDB.TM import TM +from DocumentTemplate.DT_Var import url_quote_plus import sys from ZPublisher import Client @@ -386,6 +387,24 @@ origURL=REQUEST['URL']+'/'+string.join(TRNS, '/') else: origURL=REQUEST['URL'] + + # Form detection + # If the session is created by a form, with get method, + # data forms are maintained, putting them on the redirect + # url. + form_parms='' + if REQUEST.form and REQUEST.environ['REQUEST_METHOD']=='GET': + first_time=1 + for form_var in REQUEST.form.keys(): + if first_time: + separ_char='?' + else: + separ_char='&' + form_parms= ( form_parms+ + '%s%s=%s'%(separ_char, url_quote_plus(form_var), + url_quote_plus(REQUEST.form[form_var]) ) + ) + first_time=0 session=SessionInstance(_randomID(),self.timeout) if hasattr(self,'onSessionStartup'): @@ -393,9 +412,9 @@ self.onSessionStartup(self,REQUEST) self._sessions[session.id]=session - newurl="%s/%s%s"%(self.absolute_url(), + newurl="%s/%s%s%s"%(self.absolute_url(), session.id, - origURL[len(self.absolute_url()):]) + origURL[len(self.absolute_url()):], form_parms) session.set('SESSIONROOT', "%s/%s"%(self.absolute_url(),session.id) ) raise 'Redirect',newurl