Copie du formulaire de renommage des contenus (à partir du CMFDefault).
[Plinn.git] / RegistrationTool.py
index 021b714..1417f30 100644 (file)
@@ -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 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 DateTime import DateTime
 from types import TupleType, ListType
 from uuid import uuid4
-from quopri import encodestring
 
 security = ModuleSecurityInfo('Products.Plinn.RegistrationTool')
 MODE_ANONYMOUS = 'anonymous'
 
 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')
             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,
             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 :
     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()
         
         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.
         
         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]
             if member :
                 member.setSecurityProfile(password=password)
                 del self._passwordResetRequests[uuid]
-                return _('Password successfully resetted.')
+                return  userid, _('Password successfully reset.')
             else :
             else :
-                return _('"%s" username not found.') % userid
+                return None, _('"%s" username not found.') % userid
             
         
 InitializeClass(RegistrationTool)
\ No newline at end of file
             
         
 InitializeClass(RegistrationTool)
\ No newline at end of file