Fixes login_bare + register_bare w/ custom login_userfield

This commit is contained in:
Mirko Galimberti
2018-07-19 17:13:38 +02:00
parent d7624b95f8
commit 1aab089205
+6 -2
View File
@@ -2161,7 +2161,10 @@ class Auth(AuthAPI):
user = None user = None
checks = [] checks = []
# make a guess about who this user is # make a guess about who this user is
for fieldname in ['registration_id', 'username', 'email']: guess_fields = ['registration_id', 'username', 'email']
if self.settings.login_userfield:
guess_fields.append(self.settings.login_userfield)
for fieldname in guess_fields:
if fieldname in table_user.fields() and \ if fieldname in table_user.fields() and \
keys.get(fieldname, None): keys.get(fieldname, None):
checks.append(fieldname) checks.append(fieldname)
@@ -2255,7 +2258,8 @@ class Auth(AuthAPI):
def _get_login_settings(self): def _get_login_settings(self):
table_user = self.table_user() table_user = self.table_user()
userfield = self.settings.login_userfield or 'username' \ userfield = self.settings.login_userfield or 'username' \
if 'username' in table_user.fields else 'email' if self.settings.login_userfield or 'username' \
in table_user.fields else 'email'
passfield = self.settings.password_field passfield = self.settings.password_field
return Storage({'table_user': table_user, return Storage({'table_user': table_user,
'userfield': userfield, 'userfield': userfield,