@@ -7,6 +7,13 @@ public function shouldRequireLogin() {
7
7
return false ;
8
8
}
9
9
10
+ private function emailToUsername ($ email ) {
11
+ $ mangled_email = str_ireplace ('@freebsd.org ' , '' , $ email );
12
+ $ mangled_email = str_replace ('@ ' , '_ ' , $ mangled_email );
13
+ $ mangled_email = str_replace ('+ ' , '_ ' , $ mangled_email );
14
+ return $ mangled_email ;
15
+ }
16
+
10
17
public function handleRequest (AphrontRequest $ request ) {
11
18
$ viewer = $ this ->getViewer ();
12
19
$ account_key = $ request ->getURIData ('akey ' );
@@ -58,7 +65,7 @@ public function handleRequest(AphrontRequest $request) {
58
65
59
66
$ user = new PhabricatorUser ();
60
67
61
- $ default_username = $ account ->getUsername ( );
68
+ $ fbsd_username = $ this -> emailToUsername ( $ account ->getEmail () );
62
69
$ default_realname = $ account ->getRealName ();
63
70
64
71
$ account_type = PhabricatorAuthPassword::PASSWORD_TYPE_ACCOUNT ;
@@ -186,7 +193,7 @@ public function handleRequest(AphrontRequest $request) {
186
193
}
187
194
188
195
$ profile = id (new PhabricatorRegistrationProfile ())
189
- ->setDefaultUsername ($ default_username )
196
+ ->setDefaultUsername ($ fbsd_username )
190
197
->setDefaultEmail ($ default_email )
191
198
->setDefaultRealName ($ default_realname )
192
199
->setCanEditUsername (true )
@@ -204,11 +211,11 @@ public function handleRequest(AphrontRequest $request) {
204
211
->setUser ($ user );
205
212
PhutilEventEngine::dispatchEvent ($ event );
206
213
207
- $ default_username = $ profile ->getDefaultUsername ();
214
+ $ fbsd_username = $ profile ->getDefaultUsername ();
208
215
$ default_email = $ profile ->getDefaultEmail ();
209
216
$ default_realname = $ profile ->getDefaultRealName ();
210
217
211
- $ can_edit_username = $ profile -> getCanEditUsername () ;
218
+ $ can_edit_username = false ;
212
219
$ can_edit_email = $ profile ->getCanEditEmail ();
213
220
$ can_edit_realname = $ profile ->getCanEditRealName ();
214
221
@@ -223,7 +230,7 @@ public function handleRequest(AphrontRequest $request) {
223
230
$ force_verify = true ;
224
231
}
225
232
226
- $ value_username = $ default_username ;
233
+ $ value_username = $ fbsd_username ;
227
234
$ value_realname = $ default_realname ;
228
235
$ value_email = $ default_email ;
229
236
$ value_password = null ;
@@ -323,6 +330,10 @@ public function handleRequest(AphrontRequest $request) {
323
330
}
324
331
}
325
332
333
+ if ($ account ->getAccountType () != 'ldap ' ) {
334
+ $ value_username = $ this ->emailToUsername ($ value_email );
335
+ }
336
+
326
337
if ($ can_edit_realname ) {
327
338
$ value_realname = $ request ->getStr ('realName ' );
328
339
if (!strlen ($ value_realname ) && $ require_real_name ) {
0 commit comments