[FreeBSD] Freebsd custom patch for user auth
Since we want usernames to depend on the email provided, hack are way through it. An extension can not handle this level of intrusiveness I'm sorry oh coding gods
This commit is contained in:
parent
01195909bf
commit
69f72c01d6
|
@ -7,6 +7,13 @@ final class PhabricatorAuthRegisterController
|
|||
return false;
|
||||
}
|
||||
|
||||
private function emailToUsername($email) {
|
||||
$mangled_email = str_ireplace('@freebsd.org', '', $email);
|
||||
$mangled_email = str_replace('@', '_', $mangled_email);
|
||||
$mangled_email = str_replace('+', '_', $mangled_email);
|
||||
return $mangled_email;
|
||||
}
|
||||
|
||||
public function handleRequest(AphrontRequest $request) {
|
||||
$viewer = $this->getViewer();
|
||||
$account_key = $request->getURIData('akey');
|
||||
|
@ -67,9 +74,9 @@ final class PhabricatorAuthRegisterController
|
|||
$default_realname = null;
|
||||
$default_email = null;
|
||||
} else {
|
||||
$default_username = $account->getUsername();
|
||||
$default_realname = $account->getRealName();
|
||||
$default_email = $account->getEmail();
|
||||
$fbsd_username = $this->emailToUsername($default_email);
|
||||
}
|
||||
|
||||
$account_type = PhabricatorAuthPassword::PASSWORD_TYPE_ACCOUNT;
|
||||
|
@ -196,7 +203,7 @@ final class PhabricatorAuthRegisterController
|
|||
}
|
||||
|
||||
$profile = id(new PhabricatorRegistrationProfile())
|
||||
->setDefaultUsername($default_username)
|
||||
->setDefaultUsername($fbsd_username)
|
||||
->setDefaultEmail($default_email)
|
||||
->setDefaultRealName($default_realname)
|
||||
->setCanEditUsername(true)
|
||||
|
@ -214,11 +221,11 @@ final class PhabricatorAuthRegisterController
|
|||
->setUser($user);
|
||||
PhutilEventEngine::dispatchEvent($event);
|
||||
|
||||
$default_username = $profile->getDefaultUsername();
|
||||
$fbsd_username = $profile->getDefaultUsername();
|
||||
$default_email = $profile->getDefaultEmail();
|
||||
$default_realname = $profile->getDefaultRealName();
|
||||
|
||||
$can_edit_username = $profile->getCanEditUsername();
|
||||
$can_edit_username = false;
|
||||
$can_edit_email = $profile->getCanEditEmail();
|
||||
$can_edit_realname = $profile->getCanEditRealName();
|
||||
|
||||
|
@ -237,7 +244,7 @@ final class PhabricatorAuthRegisterController
|
|||
$force_verify = true;
|
||||
}
|
||||
|
||||
$value_username = $default_username;
|
||||
$value_username = $fbsd_username;
|
||||
$value_realname = $default_realname;
|
||||
$value_email = $default_email;
|
||||
$value_password = null;
|
||||
|
@ -337,6 +344,10 @@ final class PhabricatorAuthRegisterController
|
|||
}
|
||||
}
|
||||
|
||||
if ($account->getAccountType() != 'ldap') {
|
||||
$value_username = $this->emailToUsername($value_email);
|
||||
}
|
||||
|
||||
if ($can_edit_realname) {
|
||||
$value_realname = $request->getStr('realName');
|
||||
if (!strlen($value_realname) && $require_real_name) {
|
||||
|
|
Loading…
Reference in a new issue