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:
@@ -71,8 +71,27 @@ def admin_required(f):
|
||||
return decorated
|
||||
|
||||
|
||||
@api_bp.route('/auth/registration-status', methods=['GET'])
|
||||
def registration_status():
|
||||
"""Check if public registration is allowed."""
|
||||
from app.models.settings import AppSettings
|
||||
is_first_user = User.query.count() == 0
|
||||
public_registration = AppSettings.get_bool('public_registration', default=False)
|
||||
return jsonify({
|
||||
'allowed': is_first_user or public_registration,
|
||||
'is_first_user': is_first_user,
|
||||
}), 200
|
||||
|
||||
|
||||
@api_bp.route('/auth/register', methods=['POST'])
|
||||
def register():
|
||||
from app.models.settings import AppSettings
|
||||
|
||||
# Check if registration is allowed
|
||||
is_first_user = User.query.count() == 0
|
||||
if not is_first_user and not AppSettings.get_bool('public_registration', default=False):
|
||||
return jsonify({'error': 'Oeffentliche Registrierung ist deaktiviert'}), 403
|
||||
|
||||
data = request.get_json()
|
||||
if not data:
|
||||
return jsonify({'error': 'Keine Daten gesendet'}), 400
|
||||
|
||||
Reference in New Issue
Block a user