X-Git-Url: https://scm.cri.mines-paristech.fr/git/Plinn.git/blobdiff_plain/dab819e75a82aea184b6651523f9be4ad10f71ff..971f4afe87cc33c32783373e7b6ea597fa1f4872:/RegistrationTool.py?ds=sidebyside diff --git a/RegistrationTool.py b/RegistrationTool.py index 021b714..1417f30 100644 --- a/RegistrationTool.py +++ b/RegistrationTool.py @@ -38,10 +38,10 @@ from Products.GroupUserFolder.GroupsToolPermissions import ManageGroups from Products.Plinn.utils import Message as _ from Products.Plinn.utils import translate from Products.Plinn.utils import encodeQuopriEmail +from Products.Plinn.utils import encodeMailHeader from DateTime import DateTime from types import TupleType, ListType from uuid import uuid4 -from quopri import encodestring security = ModuleSecurityInfo('Products.Plinn.RegistrationTool') MODE_ANONYMOUS = 'anonymous' @@ -215,11 +215,11 @@ class RegistrationTool(BaseRegistrationTool) : sender = encodeQuopriEmail(ptool.getProperty('email_from_name'), ptool.getProperty('email_from_address')) to = encodeQuopriEmail(member.getMemberFullName(nameBefore=0), member.getProperty('email')) subject = translate(_('How to reset your password on the %s website')) % ptool.getProperty('title') - subject = "=?utf-8?q?%s?=" % encodestring(subject) - body = self.password_reset_mail_template(fullName=member.getMemberFullName(nameBefore=0), - siteName=ptool.getProperty('title'), - resetPasswordUrl='%s/password_reset_form/%s' % (utool(), uuid) - ) + subject = encodeMailHeader(subject) + options = {'fullName' : member.getMemberFullName(nameBefore=0), + 'siteName' : ptool.getProperty('title'), + 'resetPasswordUrl' : '%s/password_reset_form/%s' % (utool(), uuid)} + body = self.password_reset_mail(options) message = self.echange_mail_template(From=sender, To=to, Subject=subject, @@ -244,13 +244,13 @@ class RegistrationTool(BaseRegistrationTool) : def resetPassword(self, uuid, password, confirm) : record = self._passwordResetRequests.get(uuid) if not record : - return _('Invalid reset password request.') + return None, _('Invalid reset password request.') userid, expiration = record now = DateTime() if expiration < now : self.clearExpiredPasswordResetRequests() - return _('Your reset password request has expired. You can ask a new one.') + return None, _('Your reset password request has expired. You can ask a new one.') msg = self.testPasswordValidity(password, confirm=confirm) if not msg : # None if everything ok. Err message otherwise. @@ -259,9 +259,9 @@ class RegistrationTool(BaseRegistrationTool) : if member : member.setSecurityProfile(password=password) del self._passwordResetRequests[uuid] - return _('Password successfully resetted.') + return userid, _('Password successfully reset.') else : - return _('"%s" username not found.') % userid + return None, _('"%s" username not found.') % userid InitializeClass(RegistrationTool) \ No newline at end of file