35099de2c5
- 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>
31 lines
840 B
Python
31 lines
840 B
Python
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')
|