Fix: Login case-insensitive, Settings zusammengeführt, SVG-Icon, Copyright einzeilig

- Login: Benutzername wird case-insensitiv verglichen (func.lower auf beiden Seiten)
- Benutzer anlegen: Username wird immer lowercase gespeichert
- Einstellungen: Panels "Darstellung", "Ansicht & Raster" und "Ausgeblendete Kalender" zu einem einzigen Panel zusammengeführt
- App-Icon: Emoji 📅 durch plattformunabhängiges Inline-SVG ersetzt
- Copyright: white-space:nowrap +   damit Zeile nie umbricht
This commit is contained in:
2026-03-27 14:50:16 +01:00
parent c849f77651
commit 4f3db6142d
4 changed files with 19 additions and 23 deletions

View File

@@ -2,6 +2,7 @@ from typing import Optional
from fastapi import APIRouter, Depends, HTTPException
from pydantic import BaseModel
from sqlalchemy import func
from sqlalchemy.orm import Session
import models
@@ -40,10 +41,10 @@ def create_user(
db: Session = Depends(get_db),
_: models.User = Depends(get_current_admin),
):
if db.query(models.User).filter(models.User.username == req.username).first():
if db.query(models.User).filter(func.lower(models.User.username) == req.username.lower()).first():
raise HTTPException(400, "Username already taken")
user = models.User(
username=req.username,
username=req.username.lower(),
email=req.email,
password_hash=get_password_hash(req.password),
is_admin=req.is_admin,