feat: Share-Dialog Fix, User-Sharing, Admin-Benutzerverwaltung, Registrierungs-Toggle
- Fix: Share-Dialog oeffnet sich jetzt auch bei bereits geteilten Dateien - Neu: Dateien/Ordner direkt mit anderen Benutzern teilen (Lesen/Schreiben/Admin) - Neu: Benutzersuche im Share-Dialog, bestehende Freigaben anzeigen/entfernen - Neu: Admin kann Benutzer ueber die Weboberflaeche anlegen - Neu: Admin kann Benutzer bearbeiten (Rolle, Quota, aktiv/inaktiv) und loeschen - Neu: Schieberegler fuer oeffentliche Registrierung in den Admin-Einstellungen - Neu: Register-Link auf Login-Seite nur sichtbar wenn Registrierung erlaubt - Neu: Register-Seite leitet um wenn Registrierung deaktiviert - Neu: AppSettings-Model fuer persistente App-Konfiguration - Neu: /api/users/search Endpunkt fuer Benutzersuche in Share-Dialogen Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
from app.extensions import db
|
||||
|
||||
|
||||
class AppSettings(db.Model):
|
||||
__tablename__ = 'app_settings'
|
||||
|
||||
key = db.Column(db.String(100), primary_key=True)
|
||||
value = db.Column(db.Text, nullable=False)
|
||||
|
||||
@staticmethod
|
||||
def get(key, default=''):
|
||||
setting = db.session.get(AppSettings, key)
|
||||
return setting.value if setting else default
|
||||
|
||||
@staticmethod
|
||||
def set(key, value):
|
||||
setting = db.session.get(AppSettings, key)
|
||||
if setting:
|
||||
setting.value = str(value)
|
||||
else:
|
||||
setting = AppSettings(key=key, value=str(value))
|
||||
db.session.add(setting)
|
||||
db.session.commit()
|
||||
|
||||
@staticmethod
|
||||
def get_bool(key, default=False):
|
||||
val = AppSettings.get(key, '')
|
||||
if val == '':
|
||||
return default
|
||||
return val.lower() in ('true', '1', 'yes')
|
||||
Reference in New Issue
Block a user