projects
/
Plinn.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
f9f1aa2
)
Prise en charge de la redirection vers « came_from » lors de la ré-initialisation...
author
Benoît Pin
<pin@cri.ensmp.fr>
Tue, 28 Apr 2015 16:14:19 +0000
(18:14 +0200)
committer
Benoît Pin
<pin@cri.ensmp.fr>
Tue, 28 Apr 2015 16:14:19 +0000
(18:14 +0200)
Products/Plinn/RegistrationTool.py
patch
|
blob
|
history
Products/Plinn/skins/custom_generic/join_form.py
patch
|
blob
|
history
Products/Plinn/skins/generic/password_reset_form.py
patch
|
blob
|
history
diff --git
a/Products/Plinn/RegistrationTool.py
b/Products/Plinn/RegistrationTool.py
index
3e04db1
..
738d2ee
100644
(file)
--- a/
Products/Plinn/RegistrationTool.py
+++ b/
Products/Plinn/RegistrationTool.py
@@
-254,7
+254,7
@@
class RegistrationTool(BaseRegistrationTool) :
return str(uuid4())
security.declarePublic('requestPasswordReset')
return str(uuid4())
security.declarePublic('requestPasswordReset')
- def requestPasswordReset(self, userid, initial=False):
+ def requestPasswordReset(self, userid, initial=False
, came_from=''
):
""" add uuid / (userid, expiration) pair
if ok: send an email to member. returns error message otherwise.
"""
""" add uuid / (userid, expiration) pair
if ok: send an email to member. returns error message otherwise.
"""
@@
-274,7
+274,7
@@
class RegistrationTool(BaseRegistrationTool) :
uuid = str(uuid4())
while self._passwordResetRequests.has_key(uuid) :
uuid = str(uuid4())
uuid = str(uuid4())
while self._passwordResetRequests.has_key(uuid) :
uuid = str(uuid4())
- self._passwordResetRequests[uuid] = (userid, DateTime() + 1)
+ self._passwordResetRequests[uuid] = (userid, DateTime() + 1
, came_from
)
utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
# fuck : mailhost récupéré avec getUtilityByInterfaceName n'est pas correctement
utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
# fuck : mailhost récupéré avec getUtilityByInterfaceName n'est pas correctement
@@
-311,7
+311,7
@@
class RegistrationTool(BaseRegistrationTool) :
def clearExpiredPasswordResetRequests(self):
now = DateTime()
for uuid, record in self._passwordResetRequests.items() :
def clearExpiredPasswordResetRequests(self):
now = DateTime()
for uuid, record in self._passwordResetRequests.items() :
- userid, date = record
+ date = record[1]
if date < now :
del self._passwordResetRequests[uuid]
if date < now :
del self._passwordResetRequests[uuid]
@@
-322,7
+322,7
@@
class RegistrationTool(BaseRegistrationTool) :
if not record :
return None, _('Invalid reset password request.')
if not record :
return None, _('Invalid reset password request.')
- userid, expiration = record
+ userid, expiration
, came_from
= record
now = DateTime()
if expiration < now :
self.clearExpiredPasswordResetRequests()
now = DateTime()
if expiration < now :
self.clearExpiredPasswordResetRequests()
@@
-335,7
+335,7
@@
class RegistrationTool(BaseRegistrationTool) :
if member :
member.setSecurityProfile(password=password)
del self._passwordResetRequests[uuid]
if member :
member.setSecurityProfile(password=password)
del self._passwordResetRequests[uuid]
- return
userid
, _('Password successfully updated.')
+ return
{'userid': userid, 'came_from' : came_from}
, _('Password successfully updated.')
else :
return None, _('"${userid}" username not found.', mapping={'userid': userid})
else :
else :
return None, _('"${userid}" username not found.', mapping={'userid': userid})
else :
diff --git
a/Products/Plinn/skins/custom_generic/join_form.py
b/Products/Plinn/skins/custom_generic/join_form.py
index
f7cdead
..
3badc16
100644
(file)
--- a/
Products/Plinn/skins/custom_generic/join_form.py
+++ b/
Products/Plinn/skins/custom_generic/join_form.py
@@
-37,11
+37,12
@@
if add :
'name' : name,
'email': member_email})
if validate_email :
'name' : name,
'email': member_email})
if validate_email :
- rtool.requestPasswordReset(member_id, initial=True)
+ rtool.requestPasswordReset(member_id, initial=True
, came_from=came_from
)
context.setStatus(True, _('Success!'))
is_newmember = True
is_anon = False
except ValueError, errmsg:
context.setStatus(True, _('Success!'))
is_newmember = True
is_anon = False
except ValueError, errmsg:
+ raise
context.setStatus(False, errmsg)
options = {}
context.setStatus(False, errmsg)
options = {}
diff --git
a/Products/Plinn/skins/generic/password_reset_form.py
b/Products/Plinn/skins/generic/password_reset_form.py
index
9cb4b1d
..
7bd487a
100644
(file)
--- a/
Products/Plinn/skins/generic/password_reset_form.py
+++ b/
Products/Plinn/skins/generic/password_reset_form.py
@@
-10,18
+10,19
@@
uuid = traverse_subpath[0]
passwordChanged = False
if validate :
passwordChanged = False
if validate :
-
userid
= context.reset_password_control(uuid=uuid, **form)
- if
userid
:
+
infos
= context.reset_password_control(uuid=uuid, **form)
+ if
infos
:
passwordChanged = True
options = {}
options['uuid'] = uuid
options['passwordChanged'] = passwordChanged
if passwordChanged :
passwordChanged = True
options = {}
options['uuid'] = uuid
options['passwordChanged'] = passwordChanged
if passwordChanged :
- hidden_vars = ({'name' : '__ac_name', 'value' :
userid
},
+ hidden_vars = ({'name' : '__ac_name', 'value' :
infos['userid']
},
{'name' : '__ac_password', 'value' : form['password']},
{'name' : '__ac_password', 'value' : form['password']},
+ {'name' : 'came_from', 'value' : infos['came_from']},
{'name' : 'noAjax', 'value' : '1'})
{'name' : 'noAjax', 'value' : '1'})
- target =
utool()
+ target =
atool.getActionInfo('user/logged_in')['url']
buttons = ({'name': 'login', 'value': _(' Login ')},)
else :
hidden_vars = []
buttons = ({'name': 'login', 'value': _(' Login ')},)
else :
hidden_vars = []