From version 1.1 >
edited by wiki admin
on 2020/06/12 14:27
To version < 3.1
edited by wiki admin
on 2021/11/22 20:38
Change comment: Install extension [org.xwiki.platform:xwiki-platform-administration-ui/12.10.10]

Summary

Details

Page properties
Content
... ... @@ -14,7 +14,8 @@
14 14  ## The name of the class used for storing password reset verification data.
15 15  #set ($verifClass = 'XWiki.ResetPasswordRequestClass')
16 16  #set ($userName = "$!request.get('u')")
17 -#if ($userName == '')## First step, display the form requesting the username
17 +## First step, display the form requesting the username
18 +#if ($userName == '' || !$services.csrf.isTokenValid($request.form_token))
18 18   {{translation key="xe.admin.passwordReset.instructions"/}}
19 19  
20 20   {{html}}
... ... @@ -44,21 +44,10 @@
44 44   #end
45 45   #set ($userObj = $userDoc.getObject('XWiki.XWikiUsers'))
46 46   #end
47 - #if (!$userObj)
48 -
49 - {{warning}}$services.localization.render('xe.admin.passwordReset.error.noUser', ["//${escapetool.xml($userName)}//"]){{/warning}}
50 -
51 - #elseif ($userDoc.getObject('XWiki.LDAPProfileClass'))
52 -
53 - {{warning}}$services.localization.render('xe.admin.passwordReset.error.ldapUser', ["//${escapetool.xml($userName)}//"]){{/warning}}
54 -
55 - #else
48 + #set ($errorDisplayed = false)
49 + #if ($userObj && !$userDoc.getObject('XWiki.LDAPProfileClass'))
56 56   #set ($userEmail = $userObj.getProperty('email').value)
57 - #if ("$!userEmail" == '')
58 -
59 - {{error}}{{translation key="xe.admin.passwordReset.error.noEmail"/}}{{/error}}
60 -
61 - #else
51 + #if ("$!userEmail" != '')
62 62   ## Find the object that will hold the verification string
63 63   #set ($verifObj = '')
64 64   #set ($verifObj = $userDoc.getObject($verifClass, true))
... ... @@ -71,16 +71,16 @@
71 71   #set ($userDocRef = $escapetool.url($services.model.serialize($userDoc.documentReference, 'default')))
72 72   #set ($passwordResetURL = $xwiki.getDocument("XWiki.ResetPasswordComplete").getExternalURL('view', "u=${userDocRef}&v=${verifStr}"))
73 73   ## Send the email
74 - #set ($from = $services.mailsender.configuration.fromAddress)
64 + #set ($from = $services.mail.sender.configuration.fromAddress)
75 75   #if ("$!from" == '')
76 76   #set ($from = "no-reply@${request.serverName}")
77 77   #end
78 78   #set ($mailTemplateReference = $services.model.createDocumentReference('', 'XWiki', 'ResetPasswordMailContent'))
79 79   #set ($mailParameters = {'from' : $from, 'to' : $userEmail, 'language' : $xcontext.locale})
80 - #set ($message = $services.mailsender.createMessage('template', $mailTemplateReference, $mailParameters))
70 + #set ($message = $services.mail.sender.createMessage('template', $mailTemplateReference, $mailParameters))
81 81   #set ($discard = $message.setType('Reset Password'))
82 82   #macro (displayError $text)
83 -
73 + #set ($errorDisplayed = true)
84 84   {{html}}
85 85   <div class="xwikirenderingerror" title="Click to get more details about the error" style="cursor: pointer;">
86 86   $services.localization.render('xe.admin.passwordReset.error.emailFailed')
... ... @@ -92,28 +92,29 @@
92 92  
93 93   #end
94 94   ## Check for an error constructing the message!
95 - #if ($services.mailsender.lastError)
96 - #displayError($exceptiontool.getStackTrace($services.mailsender.lastError))
85 + #if ($services.mail.sender.lastError)
86 + #displayError($exceptiontool.getStackTrace($services.mail.sender.lastError))
97 97   #else
98 98   ## Send the message and wait for it to be sent or for any error to be raised.
99 - #set ($mailResult = $services.mailsender.send([$message], 'database'))
89 + #set ($mailResult = $services.mail.sender.send([$message], 'database'))
100 100   ## Check for errors during the send
101 - #if ($services.mailsender.lastError)
102 - #displayError($exceptiontool.getStackTrace($services.mailsender.lastError))
91 + #if ($services.mail.sender.lastError)
92 + #displayError($exceptiontool.getStackTrace($services.mail.sender.lastError))
103 103   #else
104 104   #set ($failedMailStatuses = $mailResult.statusResult.getAllErrors())
105 105   #if ($failedMailStatuses.hasNext())
106 106   #set ($mailStatus = $failedMailStatuses.next())
107 107   #displayError($mailStatus.errorDescription)
108 - #else
109 -
110 - {{info}}$services.localization.render('xe.admin.passwordReset.emailSent', ["$userDoc.display('email', $userObj)"]){{/info}}
111 -
112 112   #end
113 113   #end
114 114   #end
115 115   #end
116 116   #end
103 + #if (!$errorDisplayed)
104 +
105 + {{info}}$services.localization.render('xe.admin.passwordReset.emailSentToUsername', ["$escapetool.xml(${userName})"]){{/info}}
106 +
107 + #end
117 117   [[{{translation key="xe.admin.passwordReset.error.retry"/}}>>$doc.fullName]] | [[{{translation key="xe.admin.passwordReset.error.recoverUsername"/}}>>ForgotUsername]] | [[{{translation key="xe.admin.passwordReset.login"/}}>>path:$xwiki.getURL('XWiki.XWikiLogin', 'login')]]
118 118  #end
119 119  ## Clear private variables, so that they cannot be accessed from the rest of the page (comments, panels...)
© 2019-2021 klode.tech | Alle Rechte vorbehalten.