From 1f3b382208cdd424ffc42db641a58328d6b700b9 Mon Sep 17 00:00:00 2001 From: Yung Han Khoe Date: Fri, 15 May 2009 12:40:17 +0000 Subject: [PATCH] rfe #10061: Use email as username at registration --- docs/changelog/7.x.x.txt | 1 + ...bgui_anonymous_registration_template.wgpkg | Bin 0 -> 2326 bytes docs/upgrades/upgrade_7.7.6-7.7.7.pl | 10 ++++++ lib/WebGUI/Auth/WebGUI.pm | 33 +++++++++++++----- lib/WebGUI/i18n/English/AuthWebGUI.pm | 11 ++++++ 5 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 docs/upgrades/packages-7.7.7/default_webgui_anonymous_registration_template.wgpkg diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index c6a775bb2..f05d7abbf 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -1,4 +1,5 @@ 7.7.7 + - rfe #10061: Use email as username at registration 7.7.6 - Added mobile style template. If enabled in settings, will serve alternate style templates diff --git a/docs/upgrades/packages-7.7.7/default_webgui_anonymous_registration_template.wgpkg b/docs/upgrades/packages-7.7.7/default_webgui_anonymous_registration_template.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..eff8e39cf207ae4cc4856e4fc4f2ae73a00428d6 GIT binary patch literal 2326 zcmV+x3F-D9iwFP!000001MOOAQ{y-q=JWgtZ?tBsV<6wV(XQ$C<9_%-F zcJ>a`WyM!xr`c>Z_FA1rr_}@{O|+DHb1rAPgM zU9~J&UkN3nS|E2y4 zpEKd3ptlT3eH;?ksV~ut(p`tncku!uAp0GP0XPbzNccY#GpxVs|K;1s>Cx5Ew|Dj5 zjxIiZs)d}mwKD-;qu%MKkDuWQEz6V8vpJz&x$>|;%$g128+H|`dy@gGNiX-r3=H39 zC^!=ikvE*dq-H~e1wW%X?isR9>Ac49oG$Q*7%oq$PNhdCFoh)1Qo5J(_9ky0I3R@e>jLr$5@ydroJL7>)ZC5)X8G7wYD&s;2X z^mr-F5>}UsfB;1L=k^&Gk^Ktb<{1FmS&=op31wwr5E(Rjq(7~>*qicMkNo&!#q^R2 z59Bx>NWig&S$X=6e6Nm5_6&JbJStUZ)dv|1T{)lwpE%ce_rU z9C(_zo2OfMvre2GNW^JKW!)fj&H2YG7&do zsZ3z;1(w0IsJLsd$pQEfGj#^&nfiPDtjx(28n!HnLK~r)(H64chS|9`A(mESuu4vr zXdx0_wh?PEuw)}iyU0`wD2&nz6w?-L(r&WK3+$W$W@|}XP}TDDro?HZ)fH{4*pN*G z7PTYY39`ndRFGfH86pUnjI#iom(gLvW|+mrTj0hGG7Cz#0L?Z{fo{#K<&&-(9VS#E4pl4k__lM}5~SM_!K< zwuV-tV%jKXLw_@G<$|Kf4{2EN&E|fHAhz;@iSd8&Lll48#6twJl^;xu$Ni92_{s4g z;smZJPNIk@phH0XF^{OwcQqEnxSCfk@mS`*=XYu(kdgs7U`;(fEXV69SR4t>d-g5niGGA{kst{Zxp;(bR-MZm5*lHmD-Bns|=U zzWZ6G72p(^q(VyAlujFn=M&^}*aW|jU1qY_3i(-f72vG5D=IHWs;FG2Zr~%4(k;lt zzj@=p@5LFLq+4;gCMS1L8{n|bKq@W`YC*A*q8u2G&sM()r97&BGP)eHhzk|6Z8-1a zpM238#8H`;A&Noh>OaLdmkj&JnlU^9a}xz!Iwf8W+RrdmiPUYKN(hvO^%1ZvG$I3_ zsxoZDAs4&URf7aau1oK5T=ZbFn7>APc6m;Z?1c3irD~!OS&!`R*TGv-_oTlOZ-yD+ zUzmH&==>5fI2z3MM|m`SA`gFx&XtLWqoe7P?C5J>W+YN&YY~TLQq)&G{>PX1-R_Z~ z3El2hbQYdW7f070sY8J3s`Hd)tKHiBsnc$Dl1Z{1OT1G>9V~@w9ck)deKx3rl@}B7 zfL{q#=iCPgI0*zh5V5HkLNXHE68~q)K{s1clC1OKm@vE&Okpe4#3KmhDSHX|P{dGng6ZzI8(NWVr^UcLN@~28jLaa3DOG-;rq2qx#LvvF^ zkJAiq&7fj;eHn}q^-5&R^_qFXD1)C@VR9zyrW8*06ZlY-^QE-ZY{l%Mn`x;LRAW+F zzKjPoase}Yo{A|-7HRq@726^d3V73IJ}v+-U2G7pIF$^twT0#d%xE*s3jp$(1Eq>} zOpzahMimCrR=i0e*3B}ohAZ_SJM#mCgkL>&z5CDm-Nmm*2?z;(S;E_}dA6m< zW~Q5@`MMn#gM8Uu#2I8*r8*!Gn!UsQ&Y{6)pmPHki`1L^-u(CNZ?lV5`|~~@A9ilT wt7hY0iF$GCi}Vx!G_d+%^%DP}@P_f`fj1AldEm_hui}CK0rF7~%K$0>0NFW)@c;k- literal 0 HcmV?d00001 diff --git a/docs/upgrades/upgrade_7.7.6-7.7.7.pl b/docs/upgrades/upgrade_7.7.6-7.7.7.pl index f060e12af..6196d9b4a 100644 --- a/docs/upgrades/upgrade_7.7.6-7.7.7.pl +++ b/docs/upgrades/upgrade_7.7.6-7.7.7.pl @@ -31,6 +31,7 @@ my $quiet; # this line required my $session = start(); # this line required # upgrade functions go here +addUseEmailAsUsernameToSettings( $session ); finish($session); # this line required @@ -44,6 +45,15 @@ finish($session); # this line required # print "DONE!\n" unless $quiet; #} +#---------------------------------------------------------------------------- +sub addUseEmailAsUsernameToSettings { + my $session = shift; + print "\tAdding webguiUseEmailAsUsername to settings \n" unless $quiet; + + $session->db->write("insert into settings (name, value) values ('webguiUseEmailAsUsername',0)"); + print "Done.\n" unless $quiet; +} + # -------------- DO NOT EDIT BELOW THIS LINE -------------------------------- diff --git a/lib/WebGUI/Auth/WebGUI.pm b/lib/WebGUI/Auth/WebGUI.pm index f8f0043c0..13e2935f3 100644 --- a/lib/WebGUI/Auth/WebGUI.pm +++ b/lib/WebGUI/Auth/WebGUI.pm @@ -163,14 +163,16 @@ sub createAccount { $vars->{'create.form.captcha.label'} = $i18n->get("captcha label","AuthWebGUI"); } - my $username = $form->process("authWebGUI.username"); - $vars->{'create.form.username'} - = WebGUI::Form::text($self->session, { - name => "authWebGUI.username", - value => $username, - extras => $self->getExtrasStyle($username) - }); - $vars->{'create.form.username.label'} = $i18n->get(50); + unless($setting->get('webguiUseEmailAsUsername')){ + my $username = $form->process("authWebGUI.username"); + $vars->{'create.form.username'} + = WebGUI::Form::text($self->session, { + name => "authWebGUI.username", + value => $username, + extras => $self->getExtrasStyle($username) + }); + $vars->{'create.form.username.label'} = $i18n->get(50); + } my $password = $form->process("authWebGUI.identifier"); $vars->{'create.form.password'} @@ -217,7 +219,13 @@ sub createAccountSave { $session->errorHandler->security($i18n->get("no registration hack", "AuthWebGUI")); return $self->displayLogin; } - my $username = $form->process('authWebGUI.username'); + my $username; + if($setting->get('webguiUseEmailAsUsername')){ + $username = $form->process('email'); + } + else{ + $username = $form->process('authWebGUI.username'); + } my $password = $form->process('authWebGUI.identifier'); my $passConfirm = $form->process('authWebGUI.identifierConfirm'); @@ -503,6 +511,12 @@ sub editUserSettingsForm { -label => $i18n->get(869,'WebGUI'), -hoverHelp => $i18n->get('869 help','WebGUI'), ); + $f->yesNo( + -name => "webguiUseEmailAsUsername", + -value => $self->session->setting->get("webguiUseEmailAsUsername"), + -label => $i18n->get('use email as username label'), + -hoverHelp => $i18n->get('use email as username description'), + ); $f->yesNo( -name => "webguiChangeUsername", -value => $self->session->setting->get("webguiChangeUsername"), @@ -611,6 +625,7 @@ sub editUserSettingsFormSave { $s->set("webguiWelcomeMessage", $f->process("webguiWelcomeMessage","textarea")); $s->set("webguiChangeUsername", $f->process("webguiChangeUsername","yesNo")); $s->set("webguiChangePassword", $f->process("webguiChangePassword","yesNo")); + $s->set("webguiUseEmailAsUsername", $f->process("webguiUseEmailAsUsername")); # Make sure we have the ability to recover a password if we're trying to # enable password recovery diff --git a/lib/WebGUI/i18n/English/AuthWebGUI.pm b/lib/WebGUI/i18n/English/AuthWebGUI.pm index e15756d17..d3618d565 100644 --- a/lib/WebGUI/i18n/English/AuthWebGUI.pm +++ b/lib/WebGUI/i18n/English/AuthWebGUI.pm @@ -796,6 +796,17 @@ Settings screen, displayed as hoverhelp.|, context => q|Description of the newUser_password tmpl_var for the template help.|, }, + 'use email as username label' => { + message => 'Use Email Address as Username', + lastUpdated => 0, + context => q|Label of the webguiUseEmailAsUsername field on the Auth tab of the Edit Settings screen.|, + }, + + 'use email as username description' => { + message => 'When this is set to Yes, the registration screen will not show a username field. Instead the submitted email address will automatically be used as username.', + lastUpdated => 0, + context => q|Description of the webguiUseEmailAsUsername field, used as hoverhelp on the Auth tab of the Edit Settings screen.|, + }, }; 1;