[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
9426765a2c
commit
461f4fc104
|
@ -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