diff --git a/src/model/user.rs b/src/model/user.rs index acd5169..4ce2087 100644 --- a/src/model/user.rs +++ b/src/model/user.rs @@ -491,7 +491,7 @@ WHERE id like ? " SELECT id, name, pw, deleted, last_access, dob, weight, sex, member_since_date, birthdate, mail, nickname, notes, phone, address, family_id FROM user -WHERE name=? +WHERE lower(name)=? ", name ) @@ -705,8 +705,8 @@ ORDER BY last_access DESC } pub async fn login(db: &SqlitePool, name: &str, pw: &str) -> Result { - let name = name.trim(); // just to make sure... - let Some(user) = User::find_by_name(db, name).await else { + let name = name.trim().to_lowercase(); // just to make sure... + let Some(user) = User::find_by_name(db, &name).await else { if ![ "n-sageder", "p-hofer", @@ -737,7 +737,7 @@ ORDER BY last_access DESC "d.kortschak", "[login]", ] - .contains(&name) + .contains(&name.as_str()) { Log::create(db, format!("Username ({name}) not found (tried to login)")).await; } diff --git a/staging-diff.sql b/staging-diff.sql index 4303b65..6fb21fc 100644 --- a/staging-diff.sql +++ b/staging-diff.sql @@ -1,5 +1,3 @@ -update role set name='manage_events' where id=19; - -- test user INSERT INTO user(name) VALUES('Marie'); INSERT INTO "user_role" (user_id, role_id) VALUES((SELECT id from user where name = 'Marie'),(SELECT id FROM role where name = 'Donau Linz'));