Modifications pour le document Mot de passe oublié ?
Modifié par root le 16/10/2020, 12:16
Commentaire de modification :
Install extension [org.xwiki.platform:xwiki-platform-administration-ui/12.8]
Résumé
Détails
- Propriétés de la Page
-
- Contenu
-
... ... @@ -35,6 +35,15 @@ 35 35 ## Check if the user exists and has a valid email address configured in his profile 36 36 #set ($userObj = '') 37 37 #set ($userObj = $userDoc.getObject('XWiki.XWikiUsers')) 38 + ## If local user does not exist check global user 39 + #if (!$userObj && ${xcontext.database} != ${xcontext.mainWikiName}) 40 + #if ($userName.indexOf('.') != -1) 41 + #set ($userDoc = $xwiki.getDocumentAsAuthor("${xcontext.mainWikiName}:${userName}")) 42 + #else 43 + #set ($userDoc = $xwiki.getDocumentAsAuthor("${xcontext.mainWikiName}:XWiki.${userName}")) 44 + #end 45 + #set ($userObj = $userDoc.getObject('XWiki.XWikiUsers')) 46 + #end 38 38 #if (!$userObj) 39 39 40 40 {{warning}}$services.localization.render('xe.admin.passwordReset.error.noUser', ["//${escapetool.xml($userName)}//"]){{/warning}} ... ... @@ -59,15 +59,16 @@ 59 59 #set ($discard = $verifObj.set('verification', $verifStr)) 60 60 #set ($discard = $userDoc.saveAsAuthor($services.localization.render('xe.admin.passwordReset.versionComment'), true)) 61 61 ## Compose the verification URL 62 - #set ($passwordResetURL = $xwiki.getDocument('XWiki.ResetPasswordComplete').getExternalURL('view', "u=${userName}&v=${verifStr}")) 71 + #set ($userDocRef = $escapetool.url($services.model.serialize($userDoc.documentReference, 'default'))) 72 + #set ($passwordResetURL = $xwiki.getDocument("XWiki.ResetPasswordComplete").getExternalURL('view', "u=${userDocRef}&v=${verifStr}")) 63 63 ## Send the email 64 - #set ($from = $services.mailsender.configuration.fromAddress) 74 + #set ($from = $services.mail.sender.configuration.fromAddress) 65 65 #if ("$!from" == '') 66 66 #set ($from = "no-reply@${request.serverName}") 67 67 #end 68 68 #set ($mailTemplateReference = $services.model.createDocumentReference('', 'XWiki', 'ResetPasswordMailContent')) 69 69 #set ($mailParameters = {'from' : $from, 'to' : $userEmail, 'language' : $xcontext.locale}) 70 - #set ($message = $services.mailsender.createMessage('template', $mailTemplateReference, $mailParameters)) 80 + #set ($message = $services.mail.sender.createMessage('template', $mailTemplateReference, $mailParameters)) 71 71 #set ($discard = $message.setType('Reset Password')) 72 72 #macro (displayError $text) 73 73 ... ... @@ -82,14 +82,14 @@ 82 82 83 83 #end 84 84 ## Check for an error constructing the message! 85 - #if ($services.mailsender.lastError) 86 - #displayError($exceptiontool.getStackTrace($services.mailsender.lastError)) 95 + #if ($services.mail.sender.lastError) 96 + #displayError($exceptiontool.getStackTrace($services.mail.sender.lastError)) 87 87 #else 88 88 ## Send the message and wait for it to be sent or for any error to be raised. 89 - #set ($mailResult = $services.mailsender.send([$message], 'database')) 99 + #set ($mailResult = $services.mail.sender.send([$message], 'database')) 90 90 ## Check for errors during the send 91 - #if ($services.mailsender.lastError) 92 - #displayError($exceptiontool.getStackTrace($services.mailsender.lastError)) 101 + #if ($services.mail.sender.lastError) 102 + #displayError($exceptiontool.getStackTrace($services.mail.sender.lastError)) 93 93 #else 94 94 #set ($failedMailStatuses = $mailResult.statusResult.getAllErrors()) 95 95 #if ($failedMailStatuses.hasNext())