Zeige letzte Bearbeiter
1 ==== Bitte wenden Sie sich dazu an Ihren DIMAG-Wiki-[[Administrator>>mailto:adnane.bousfiha@la-bw.de?subject=DIMAG-Wiki%20Username%20vergessen||title="E-Mail schreiben"]] ====
2
3 {{comment}}
4
5 {{velocity}}
6 #set($email = "$!request.get('e')")
7 #if($email == '' || !$services.csrf.isTokenValid($request.form_token))
8 {{translation key="xe.admin.forgotUsername.instructions"/}}
9
10 {{html}}
11 <form method="post" action="$doc.getURL()" class="xformInline">
12 <div>
13 <label for="e">$services.localization.render('xe.admin.forgotUsername.email.label')</label>
14 <input type="text" id="e" name="e"/>
15 <input type="hidden" name="form_token" value="$services.csrf.getToken()"/>
16 <span class="buttonwrapper">
17 <input type="submit" value="$services.localization.render('xe.admin.forgotUsername.submit')" class="button"/>
18 </span>
19 </div>
20 </form>
21 {{/html}}
22
23 #else
24 #set($query = $services.query.hql(", BaseObject obj, StringProperty prop where obj.name = doc.fullName and obj.className = 'XWiki.XWikiUsers' and prop.id.id = obj.id and prop.id.name = 'email' and LOWER(prop.value) = :email").bindValue('email', $email.toLowerCase()))
25 #set($results = $query.execute())
26 ## If local user does not exist check global user
27 #if($results.size() == 0 && ${xcontext.database} != ${xcontext.mainWikiName})
28 #set($results = $query.setWiki("${xcontext.mainWikiName}").execute())
29 #end
30 #set ($emailError = false)
31 #if($results.size() != 0)
32 ## Send the email
33 #set ($from = $services.mail.sender.configuration.fromAddress)
34 #if ("$!from" == '')
35 #set ($from = "no-reply@${request.serverName}")
36 #end
37 ## The mail template use $usernames to display the results.
38 #set ($usernames = $results)
39 #set ($mailTemplateReference = $services.model.createDocumentReference('', 'XWiki', 'ForgotUsernameMailContent'))
40 #set ($mailParameters = {'from' : $from, 'to' : $email, 'language' : $xcontext.locale})
41 #set ($message = $services.mail.sender.createMessage('template', $mailTemplateReference, $mailParameters))
42 #set ($discard = $message.setType('Forgot Username'))
43 #macro (displayError $text)
44
45 {{html}}
46 <div class="xwikirenderingerror" title="Click to get more details about the error" style="cursor: pointer;">
47 $services.localization.render('xe.admin.forgotUsername.error.emailFailed')
48 </div>
49 <div class="xwikirenderingerrordescription hidden">
50 <pre>${text}</pre>
51 </div>
52 {{/html}}
53
54 #set ($emailError = true)
55 #end
56 ## Check for an error constructing the message!
57 #if ($services.mail.sender.lastError)
58 #displayError($exceptiontool.getStackTrace($services.mail.sender.lastError))
59 #else
60 ## Send the message and wait for it to be sent or for any error to be raised.
61 #set ($mailResult = $services.mail.sender.send([$message], 'database'))
62 ## Check for errors during the send
63 #if ($services.mail.sender.lastError)
64 #displayError($exceptiontool.getStackTrace($services.mail.sender.lastError))
65 #else
66 #set ($failedMailStatuses = $mailResult.statusResult.getAllErrors())
67 #if ($failedMailStatuses.hasNext())
68 #set ($mailStatus = $failedMailStatuses.next())
69 #displayError($mailStatus.errorDescription)
70 #end
71 #end
72 #end
73 #end
74 ## We always display a success message even if there's no user found to avoid disclosing information
75 ## about the users registered on the wiki.
76 #if (!$emailError)
77 {{success}}
78 $services.localization.render('xe.admin.forgotUsername.emailSent', ["$email"])
79
80 {{html}}
81 <div>
82 <a href="$xwiki.getURL('XWiki.XWikiLogin', 'login')">$services.localization.render('xe.admin.forgotUsername.login')</a>
83 </div>
84 {{/html}}
85
86 {{/success}}
87 #end
88 #end
89 {{/velocity}}
90
91 {{/comment}}
Landesarchiv Baden-Württemberg