Changes for page Registration

Last modified by teamwire004 on 2025/04/01 07:23

From version 3.1
edited by teamwire004
on 2024/07/12 13:06
Change comment: Install extension [org.xwiki.platform:xwiki-platform-administration-ui/15.10.10]
To version 4.1
edited by teamwire005
on 2025/01/07 08:37
Change comment: Install extension [org.xwiki.platform:xwiki-platform-administration-ui/16.10.2]

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.teamwire004
1 +XWiki.teamwire005
Content
... ... @@ -117,32 +117,8 @@
117 117   * Removing or renaming any of these fields will result in undefined behavior.
118 118   *
119 119   *###
120 - #set($fields = [])
120 + #set($mainFields = [])
121 121   ##
122 - ## The first name field, no checking.
123 - #set($field =
124 - {'name' : 'register_first_name',
125 - 'label' : $services.localization.render('core.register.firstName'),
126 - 'params' : {
127 - 'type' : 'text',
128 - 'size' : '60',
129 - 'autocomplete' : 'given-name'
130 - }
131 - })
132 - #set($discard = $fields.add($field))
133 - ##
134 - ## The last name field, no checking.
135 - #set($field =
136 - {'name' : 'register_last_name',
137 - 'label' : $services.localization.render('core.register.lastName'),
138 - 'params' : {
139 - 'type' : 'text',
140 - 'size' : '60',
141 - 'autocomplete' : 'family-name'
142 - }
143 - })
144 - #set($discard = $fields.add($field))
145 - ##
146 146   ## The user name field, mandatory and programmatically checked to make sure the username doesn't exist.
147 147   #set($field =
148 148   {'name' : 'xwikiname',
... ... @@ -163,7 +163,7 @@
163 163   }
164 164   }
165 165   })
166 - #set($discard = $fields.add($field))
142 + #set($discard = $mainFields.add($field))
167 167   ## Make sure the chosen user name is not already taken
168 168   ## This macro is called by programmaticValidation for xwikiname (above)
169 169   #macro (nameAvailable, $name)
... ... @@ -174,7 +174,7 @@
174 174   ##
175 175   ##The password field, mandatory and must be at least 6 characters long.
176 176   ##The confirm password field, mandatory, must match password field, and must also be 6+ characters long.
177 - #definePasswordFields($fields, 'register_password', 'register2_password', $registrationConfig.passwordOptions)
153 + #definePasswordFields($mainFields, 'register_password', 'register2_password', $registrationConfig.passwordOptions)
178 178   ##
179 179   ## The email address field, regex checked with an email pattern. Mandatory if registration uses email verification
180 180   #set($field =
... ... @@ -195,7 +195,7 @@
195 195   #if($registrationConfig.useEmailVerification)
196 196   #set($field.validate.mandatory = {'failureMessage' : $services.localization.render('core.validation.required.message')})
197 197   #end
198 - #set($discard = $fields.add($field))
174 + #set($discard = $mainFields.add($field))
199 199   ##
200 200   #*********
201 201   ## Uncomment this code to see an example of how you can easily add a field to the registration page
... ... @@ -221,7 +221,7 @@
221 221   },
222 222   'doAfterRegistration' : '#saveFavoriteColor()'
223 223   })
224 - #set($discard = $fields.add($field))
200 + #set($discard = $mainFields.add($field))
225 225   ## Save the user's favorite color on their user page.
226 226   #macro(saveFavoriteColor)
227 227   #set($xwikiname = $request.get('xwikiname'))
... ... @@ -232,7 +232,32 @@
232 232   $userDoc.saveWithProgrammingRights("Saved favorite color from registration form.")
233 233   #end
234 234   *********###
211 + #set($aboutYouFields = [])
235 235   ##
213 + ## The first name field, no checking.
214 + #set($field =
215 + {'name' : 'register_first_name',
216 + 'label' : $services.localization.render('core.register.firstName'),
217 + 'params' : {
218 + 'type' : 'text',
219 + 'size' : '60',
220 + 'autocomplete' : 'given-name'
221 + }
222 + })
223 + #set($discard = $aboutYouFields.add($field))
224 + ##
225 + ## The last name field, no checking.
226 + #set($field =
227 + {'name' : 'register_last_name',
228 + 'label' : $services.localization.render('core.register.lastName'),
229 + 'params' : {
230 + 'type' : 'text',
231 + 'size' : '60',
232 + 'autocomplete' : 'family-name'
233 + }
234 + })
235 + #set($discard = $aboutYouFields.add($field))
236 + ##
236 236   ## To disable the CAPTCHA on this page, comment out the next entry.
237 237   ## The CAPTCHA, not really an input field but still defined the same way.
238 238   #if($services.captcha
... ... @@ -245,10 +245,11 @@
245 245   ## Also, not filled back in if there is an error ('noReturn').
246 246   #set($field =
247 247   {'name' : 'captcha_placeholder',
248 - 'label' : $services.localization.render('core.captcha.instruction'),
249 + 'label' : $services.localization.render('core.captcha.label'),
249 249   'skipLabelFor' : true,
250 250   'type' : 'html',
251 - 'html' : "$!{services.captcha.default.display()}",
252 + 'html' : "<span class='xHint'>$escapetool.xml($services.localization.render('core.captcha.instruction'))
253 + </span> $!{services.captcha.default.display()}",
252 252   'validate' : {
253 253   'programmaticValidation' : {
254 254   'code' : '#if (!$services.captcha.default.isValid())failed#end',
... ... @@ -257,7 +257,7 @@
257 257   },
258 258   'noReturn' : true
259 259   })
260 - #set($discard = $fields.add($field))
262 + #set($discard = $aboutYouFields.add($field))
261 261   #end
262 262   ## Pass the redirect parameter on so that the login page may redirect to the right place.
263 263   ## Not necessary in Firefox 3.0.10 or Opera 9.64, I don't know about IE or Safari.
... ... @@ -267,7 +267,10 @@
267 267   'type' : 'hidden'
268 268   }
269 269   })
270 - #set($discard = $fields.add($field))
272 + #set($discard = $aboutYouFields.add($field))
273 + #set($fields = [])
274 + #set($discard = $fields.addAll($mainFields))
275 + #set($discard = $fields.addAll($aboutYouFields))
271 271   ##
272 272   #######################################################################
273 273   ## The Code.
... ... @@ -327,7 +327,11 @@
327 327   #end
328 328   </div>
329 329   ## Note that the macro inject the form_token field.
330 - #generateHtml($fields, $request)
335 + #generateHtml($mainFields, $request, 'false')
336 + <h2>$services.localization.render('core.register.aboutYou')</h2>
337 + #generateHtml($aboutYouFields, $request, 'false')
338 + <input type="hidden" name="form_token" value="$services.csrf.getToken()" />
339 + #generateJavascript($fields)
331 331   <p class="buttons">
332 332   <span class="buttonwrapper">
333 333   <input type="submit" value="$services.localization.render('core.register.submit')" class="button"/>
... ... @@ -414,7 +414,9 @@
414 414   #set($redirect = $registrationConfig.defaultRedirect)
415 415   #end
416 416   ## Display a "registration successful" message
417 -
426 + ## Define some strings which may be used by the welcome message
427 + #set($firstName = $!request.get('register_first_name'))
428 + #set($lastName = $!request.get('register_last_name'))
418 418   #evaluate($registrationConfig.registrationSuccessMessage)
419 419  
420 420   ## Empty line prevents message from being forced into a <p> block.
... ... @@ -432,6 +432,14 @@
432 432   <span class="buttonwrapper">
433 433   <input type="submit" value="$services.localization.render('login')" class="button"/>
434 434   </span>
446 + #set ($mainPage = $services.wiki.currentWikiDescriptor.mainPageReference)
447 + #if ($xwiki.checkAccess($mainPage, 'view'))
448 + <span class="buttonwrapper">
449 + <a href="$!xwiki.getURL($mainPage)" rel="home" class="button secondary">
450 + $services.localization.render('core.register.successful.backtohome')
451 + </a>
452 + </span>
453 + #end
435 435   </div>
436 436   </form>
437 437   ## We don't want autoLogin if we are administrators adding users...
registration_success_hero.svg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.teamwire005
Size
... ... @@ -1,0 +1,1 @@
1 +8.3 KB
Content
... ... @@ -1,0 +1,1 @@
1 +<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="680.83858" height="584.23207" viewBox="0 0 680.83858 584.23207" xmlns:xlink="http://www.w3.org/1999/xlink"><path id="b9ccae5a-ffdd-4f5c-9c1e-05af9f0f3372-177" data-name="Path 438" d="M310.70569,694.02818a24.21459,24.21459,0,0,0,23.38269-4.11877c8.18977-6.87441,10.758-18.196,12.8467-28.68191l6.17973-31.01657-12.9377,8.90837c-9.30465,6.40641-18.81826,13.01866-25.26011,22.29785s-9.25223,21.94707-4.07792,31.988" transform="translate(-259.58071 -157.88396)" fill="#e6e6e6"/><path id="f4ad1d06-bd03-4ced-a5c4-c19a65ab4ee5-178" data-name="Path 439" d="M312.7034,733.73874c-1.62839-11.86368-3.30382-23.88078-2.15884-35.87167,1.01467-10.64932,4.26373-21.04881,10.87831-29.57938a49.20592,49.20592,0,0,1,12.62466-11.44039c1.26215-.79648,2.42409,1.20354,1.16733,1.997a46.77949,46.77949,0,0,0-18.50446,22.32562c-4.02857,10.24607-4.67545,21.41582-3.98154,32.3003.41944,6.58218,1.31074,13.1212,2.20588,19.65251a1.19817,1.19817,0,0,1-.808,1.42251,1.16348,1.16348,0,0,1-1.42253-.808Z" transform="translate(-259.58071 -157.88396)" fill="#f2f2f2"/><path id="baf785f8-b4c6-42cf-85bd-8a16037845f7-179" data-name="Path 442" d="M324.42443,714.70229a17.82513,17.82513,0,0,0,15.53141,8.01862c7.8644-.37318,14.41806-5.85973,20.31713-11.07027l17.452-15.4088-11.54987-.55281c-8.30619-.39784-16.82672-.771-24.73813,1.79338s-15.20758,8.72639-16.654,16.91541" transform="translate(-259.58071 -157.88396)" fill="#e6e6e6"/><path id="a14e4330-7125-4e03-a856-d6453c34f6cc-180" data-name="Path 443" d="M308.10042,740.55843c7.83972-13.87142,16.93234-29.28794,33.1808-34.21552a37.02609,37.02609,0,0,1,13.95545-1.441c1.48189.128,1.11179,2.41174-.367,2.28454a34.39833,34.39833,0,0,0-22.27164,5.89215c-6.27994,4.27453-11.16975,10.21755-15.30781,16.51907-2.53511,3.86051-4.80576,7.88445-7.07642,11.903C309.48824,742.78513,307.36641,741.85759,308.10042,740.55843Z" transform="translate(-259.58071 -157.88396)" fill="#f2f2f2"/><path id="ac20a106-7eb8-4a45-8835-674ef3bf3222-181" data-name="Path 141" d="M935.3957,569.31654H503.18092a5.03014,5.03014,0,0,1-5.02359-5.02359V162.90754a5.03017,5.03017,0,0,1,5.02359-5.02358H935.3957a5.03017,5.03017,0,0,1,5.02359,5.02358V564.292a5.02922,5.02922,0,0,1-5.02359,5.02359Z" transform="translate(-259.58071 -157.88396)" fill="#fff"/><path id="a8878079-c7cd-406f-a434-8b15b914b9b4-182" data-name="Path 141" d="M935.3957,569.31654H503.18092a5.03014,5.03014,0,0,1-5.02359-5.02359V162.90754a5.03017,5.03017,0,0,1,5.02359-5.02358H935.3957a5.03017,5.03017,0,0,1,5.02359,5.02358V564.292a5.02922,5.02922,0,0,1-5.02359,5.02359ZM503.18092,159.88944a3.01808,3.01808,0,0,0-3.01152,3.01151V564.292a3.01808,3.01808,0,0,0,3.01152,3.01152H935.3957a3.01717,3.01717,0,0,0,3.01153-3.01152V162.90754a3.01809,3.01809,0,0,0-3.01153-3.01151Z" transform="translate(-259.58071 -157.88396)" fill="#cacaca"/><path id="af64f961-e9a2-4c53-a333-5060c7f850d2-183" data-name="Path 142" d="M707.41023,262.18528a3.41053,3.41053,0,0,0,0,6.82105H894.55305a3.41053,3.41053,0,0,0,0-6.82105Z" transform="translate(-259.58071 -157.88396)" fill="#e4e4e4"/><path id="baad4cfb-158d-4439-9cc3-22475bf47b22-184" data-name="Path 143" d="M707.41023,282.65037a3.41054,3.41054,0,0,0,0,6.82106h95.54019a3.41054,3.41054,0,0,0,0-6.82106Z" transform="translate(-259.58071 -157.88396)" fill="#e4e4e4"/><path id="f3456279-91e5-49ad-aa43-9838b26fb6ca-185" data-name="Path 142" d="M543.84146,392.7046a3.41054,3.41054,0,0,0,0,6.82106h350.8937a3.41054,3.41054,0,0,0,0-6.82106Z" transform="translate(-259.58071 -157.88396)" fill="#e4e4e4"/><path id="a3288adf-49f8-485f-8ae9-1e4f1a13d849-186" data-name="Path 143" d="M543.84146,413.1697a3.41054,3.41054,0,0,0,0,6.82106H803.13254a3.41054,3.41054,0,0,0,0-6.82106Z" transform="translate(-259.58071 -157.88396)" fill="#e4e4e4"/><path id="e63a5b48-5a7d-40a2-b9b0-6adec326348a-187" data-name="Path 142" d="M543.84146,433.17177a3.41054,3.41054,0,0,0,0,6.82106h350.8937a3.41054,3.41054,0,0,0,0-6.82106Z" transform="translate(-259.58071 -157.88396)" fill="#e4e4e4"/><path id="a1c669b4-dfc3-4cfa-a7be-66b71399844d-188" data-name="Path 143" d="M543.84146,453.63687a3.41054,3.41054,0,0,0,0,6.82106H803.13254a3.41054,3.41054,0,0,0,0-6.82106Z" transform="translate(-259.58071 -157.88396)" fill="#e4e4e4"/><path id="bfec50d1-ffb1-4de6-a9ef-a1085e40e016-189" data-name="Path 142" d="M543.84146,474.17177a3.41054,3.41054,0,0,0,0,6.82106h350.8937a3.41054,3.41054,0,0,0,0-6.82106Z" transform="translate(-259.58071 -157.88396)" fill="#e4e4e4"/><path id="bc9696ec-ec99-41d5-9116-3ad9737a38ac-190" data-name="Path 143" d="M543.84146,494.63687a3.41054,3.41054,0,0,0,0,6.82106H803.13254a3.41054,3.41054,0,0,0,0-6.82106Z" transform="translate(-259.58071 -157.88396)" fill="#e4e4e4"/><path d="M599.41943,324.82812a49,49,0,1,1,48.99952-49A49.05567,49.05567,0,0,1,599.41943,324.82812Z" transform="translate(-259.58071 -157.88396)" fill="#3e79bc"/><path d="M450.67833,510.10041a12.24754,12.24754,0,0,0-14.953-11.36231l-16.19641-22.82521-16.27138,6.45945,23.32519,31.91237a12.31392,12.31392,0,0,0,24.09559-4.1843Z" transform="translate(-259.58071 -157.88396)" fill="#a0616a"/><path d="M419.11211,508.40888l-49.00774-63.57777L388.46714,387.12c1.34563-14.50936,10.425-18.56089,10.81135-18.72645l.5893-.25281,15.979,42.6119-11.73235,31.28625,28.79671,48.4319Z" transform="translate(-259.58071 -157.88396)" fill="#3f3d56"/><path d="M589.30794,312.41993a12.24758,12.24758,0,0,0-10.17219,15.78672l-21.50463,17.91269,7.69816,15.72326,30.01343-25.72272a12.31392,12.31392,0,0,0-6.03477-23.69995Z" transform="translate(-259.58071 -157.88396)" fill="#a0616a"/><path d="M590.06206,344.02244l-59.59835,53.77665-58.95815-13.84578c-14.57-.21979-19.31136-8.9587-19.50629-9.33113l-.29761-.568,41.2489-19.22578,32.0997,9.27828,46.06046-32.45509Z" transform="translate(-259.58071 -157.88396)" fill="#3f3d56"/><polygon points="227.248 568.437 243.261 568.436 250.878 506.672 227.245 506.673 227.248 568.437" fill="#a0616a"/><path d="M483.39733,721.74476h50.32614a0,0,0,0,1,0,0V741.189a0,0,0,0,1,0,0h-36.207a14.11914,14.11914,0,0,1-14.11914-14.11914v-5.32505A0,0,0,0,1,483.39733,721.74476Z" transform="translate(757.57348 1305.02654) rotate(179.99738)" fill="#2f2e41"/><polygon points="163.247 568.437 179.26 568.436 186.878 506.672 163.245 506.673 163.247 568.437" fill="#a0616a"/><path d="M419.397,721.74476H469.7231a0,0,0,0,1,0,0V741.189a0,0,0,0,1,0,0h-36.207A14.11914,14.11914,0,0,1,419.397,727.06981v-5.32505a0,0,0,0,1,0,0Z" transform="translate(629.57273 1305.02946) rotate(179.99738)" fill="#2f2e41"/><polygon points="157.552 342.991 158.858 434.42 160.165 554.584 188.899 551.972 203.267 386.094 221.553 551.972 251.218 551.972 254.206 384.788 243.757 348.216 157.552 342.991" fill="#2f2e41"/><path d="M473.37417,513.1531c-31.26533.00239-60.04471-14.14839-60.43319-14.34263l-.32273-.16136-2.62373-62.96637c-.76082-2.22509-15.74263-46.13091-18.28-60.08625-2.57083-14.13882,34.68842-26.54742,39.213-27.99853l1.02678-11.37405,41.75366-4.49918,5.292,14.5536,14.97942,5.6168a7.40924,7.40924,0,0,1,4.59212,8.7043l-8.32539,33.85619,20.33325,112.01266-4.37755.18946C495.709,511.39658,484.38425,513.1525,473.37417,513.1531Z" transform="translate(-259.58071 -157.88396)" fill="#3f3d56"/><circle cx="454.46738" cy="294.45965" r="30.06284" transform="matrix(0.87745, -0.47966, 0.47966, 0.87745, -345.12824, 96.19037)" fill="#a0616a"/><path d="M430.1166,323.56132c5.72926,6.10289,16.36927,2.82672,17.1158-5.51069a10.07153,10.07153,0,0,0-.01268-1.94523c-.38544-3.69311-2.519-7.046-2.008-10.94542a5.73974,5.73974,0,0,1,1.05046-2.687c4.56548-6.11359,15.28263,2.73444,19.59138-2.8,2.642-3.39359-.46364-8.73664,1.56381-12.52956,2.67591-5.006,10.60183-2.53654,15.57222-5.27809,5.53017-3.05032,5.1994-11.53517,1.55907-16.6961-4.43955-6.294-12.22348-9.65241-19.91044-10.13643s-15.32094,1.59394-22.4974,4.39069c-8.15392,3.17767-16.23969,7.56925-21.25749,14.739-6.10218,8.71919-6.68942,20.44132-3.6376,30.63677C419.10222,311.0013,425.43805,318.57766,430.1166,323.56132Z" transform="translate(-259.58071 -157.88396)" fill="#2f2e41"/><path d="M641.58071,741.9626h-381a1,1,0,0,1,0-2h381a1,1,0,0,1,0,2Z" transform="translate(-259.58071 -157.88396)" fill="#cacaca"/><path d="M596.58984,294.33545a3.488,3.488,0,0,1-2.38134-.93555l-16.15723-15.00732a3.49994,3.49994,0,0,1,4.76367-5.12891l13.68555,12.71192,27.07666-27.07618a3.5,3.5,0,1,1,4.94922,4.9502l-29.46094,29.46094A3.49275,3.49275,0,0,1,596.58984,294.33545Z" transform="translate(-259.58071 -157.88396)" fill="#fff"/></svg>