mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge pull request #9432 from mvdbeek/restore_non_lowercase_access
[20.01] Fix login to accounts using different email capitalization
This commit is contained in:
@@ -489,7 +489,9 @@ class UserManager(base.ModelManager, deletable.PurgableManagerMixin):
|
||||
return "Failed to produce password reset token. User not found."
|
||||
|
||||
def get_reset_token(self, trans, email):
|
||||
reset_user = trans.sa_session.query(self.app.model.User).filter(func.lower(self.app.model.User.table.c.email) == email.lower()).first()
|
||||
reset_user = trans.sa_session.query(self.app.model.User).filter(self.app.model.User.table.c.email == email.lower()).first()
|
||||
if not reset_user and email != email.lower():
|
||||
reset_user = trans.sa_session.query(self.app.model.User).filter(func.lower(self.app.model.User.table.c.email) == email.lower()).first()
|
||||
if reset_user:
|
||||
prt = self.app.model.PasswordResetToken(reset_user)
|
||||
trans.sa_session.add(prt)
|
||||
|
||||
@@ -135,9 +135,13 @@ class User(BaseUIController, UsesFormDefinitionsMixin, CreatesApiKeysMixin):
|
||||
if not login or not password:
|
||||
return self.message_exception(trans, "Please specify a username and password.")
|
||||
user = trans.sa_session.query(trans.app.model.User).filter(or_(
|
||||
func.lower(trans.app.model.User.table.c.email) == login.lower(),
|
||||
trans.app.model.User.table.c.email == login,
|
||||
trans.app.model.User.table.c.username == login
|
||||
)).first()
|
||||
if not user and login.lower() != login:
|
||||
user = trans.sa_session.query(trans.app.model.User).filter(
|
||||
func.lower(trans.app.model.User.table.c.email) == login.lower()
|
||||
).first()
|
||||
log.debug("trans.app.config.auth_config_file: %s" % trans.app.config.auth_config_file)
|
||||
if user is None:
|
||||
message, user = self.__autoregistration(trans, login, password)
|
||||
|
||||
Reference in New Issue
Block a user