From: Benoît Pin <pin@cri.ensmp.fr> Date: Tue, 28 Apr 2015 15:28:54 +0000 (+0200) Subject: Redirection vers url passée en paramètre « came_from » lors de l'inscription. X-Git-Url: https://svn.cri.mines-paristech.fr/git/Plinn.git/commitdiff_plain/f9f1aa2535d3fae8e35d803ba8c85f8891ec133c Redirection vers url passée en paramètre « came_from » lors de l'inscription. --- diff --git a/Products/Plinn/skins/custom_generic/join_form.py b/Products/Plinn/skins/custom_generic/join_form.py index 8e82159..f7cdead 100644 --- a/Products/Plinn/skins/custom_generic/join_form.py +++ b/Products/Plinn/skins/custom_generic/join_form.py @@ -1,4 +1,4 @@ -##parameters=member_id='', given_name='', name='', member_email='', password='', confirm='', add='', ajax='' +##parameters=member_id='', given_name='', name='', member_email='', password='', confirm='', add='', came_from='', ajax='' ## from Products.CMFCore.utils import getToolByName from Products.CMFDefault.permissions import ManageUsers @@ -58,6 +58,7 @@ options['isOrdinaryMember'] = not (mtool.isAnonymousUser() or is_newmember) options['validate_email'] = validate_email options['isAnonRegistration'] = rtool.getMode() == MODE_ANONYMOUS options['isReviewedRegistration'] = rtool.getMode() == MODE_REVIEWED +options['came_from'] = came_from buttons = [] if is_newmember: diff --git a/Products/Plinn/skins/custom_generic/join_template.pt b/Products/Plinn/skins/custom_generic/join_template.pt index d5deaca..eb33650 100644 --- a/Products/Plinn/skins/custom_generic/join_template.pt +++ b/Products/Plinn/skins/custom_generic/join_template.pt @@ -30,6 +30,7 @@ <form tal:attributes="action form/action" method="post"> <input type="hidden" name="__ac_name" tal:attributes="value options/member_id"/> <input type="hidden" name="__ac_password" tal:attributes="value options/password"/> + <input type="hidden" name="came_from" tal:attributes="value options/came_from"> <input type="hidden" name="noAjax" value="1"/> <metal:macro metal:use-macro="context/form_widgets/macros/buttons"/> </form> @@ -108,6 +109,8 @@ </td> </tr> </table> + <input type="hidden" name="came_from" + tal:attributes="value options/came_from"/> </form> <script type="text/javascript"> (function(){ diff --git a/Products/Plinn/skins/custom_generic/logged_in.py b/Products/Plinn/skins/custom_generic/logged_in.py index c4663c4..a13d7c7 100755 --- a/Products/Plinn/skins/custom_generic/logged_in.py +++ b/Products/Plinn/skins/custom_generic/logged_in.py @@ -33,21 +33,9 @@ else: now = context.ZopeTime() last_login = member.getProperty('login_time', None) member.setProperties(last_login_time=last_login, login_time=now) - is_first_login = (last_login == '2000/01/01' and - ptool.getProperty('validate_email')) - if is_first_login: - member.setProperties(last_login_time='1999/01/01', login_time=now) - target = '%s/password_form' % portal_url - context.REQUEST.RESPONSE.redirect(target) - return - else: - member.setProperties(last_login_time=last_login, login_time=now) - came_from = context.REQUEST.get('came_from', None) - if came_from: - return context.REQUEST.RESPONSE.redirect(came_from) - else : - url = atool.getActionInfo('user/logged_in', object=portal)['url'] - url = '%s?%s' %(url, mq(portal_status_message=_('Login success'))) - return context.REQUEST.RESPONSE.redirect(url) - -return context.logged_in_template(**decode(options, script)) + came_from = context.REQUEST.get('came_from', None) + if came_from: + return context.REQUEST.RESPONSE.redirect(came_from) + else : + url = '%s?%s' %(portal_url, mq(portal_status_message=_('Login success'))) + return context.REQUEST.RESPONSE.redirect(url)