Backup kann man jetzt auch machen

Dieser Commit ist enthalten in:
2025-06-18 02:11:32 +02:00
Ursprung d53fd905a0
Commit aea513ac7a
4 geänderte Dateien mit 28 neuen und 11 gelöschten Zeilen

Datei anzeigen

@@ -9,12 +9,19 @@
### Finale Fixes (18.06.2025 - 02:35 Uhr)
#### Backups Route Fix
- Problem: 500 Error bei `/backups` - `url_for('admin.create_backup')` existiert nicht
- Lösung:
- Problem 1: 500 Error bei `/backups` - `url_for('admin.create_backup')` existiert nicht
- Lösung 1:
- `url_for('admin.create_backup')``url_for('admin.create_backup_route')`
- `url_for('admin.restore_backup', backup_id='')``/backup/restore/${backupId}`
- `url_for('admin.delete_backup', backup_id='')``/backup/delete/${backupId}`
- Problem 2: "SyntaxError: Unexpected token '<'" beim Backup erstellen
- Ursache: Routes gaben HTML (redirect) statt JSON zurück
- Lösung 2:
- `create_backup_route()` und `restore_backup_route()` geben jetzt JSON zurück
- Entfernt: `return redirect(url_for('admin.backups'))`
- Hinzugefügt: `return jsonify({'success': True/False, 'message': '...'})`
### Bereits gelöste Probleme (18.06.2025 - 02:30 Uhr)
1. **Customers-Licenses Template Fix**:
- Problem: `url_for('api.toggle_license', license_id='')` mit leerem String

Datei anzeigen

@@ -329,30 +329,40 @@ def backups():
@login_required
def create_backup_route():
"""Manuelles Backup erstellen"""
from flask import jsonify
success, result = create_backup(backup_type="manual", created_by=session.get('username'))
if success:
flash(f'Backup erfolgreich erstellt: {result}', 'success')
return jsonify({
'success': True,
'message': f'Backup erfolgreich erstellt: {result}'
})
else:
flash(f'Backup fehlgeschlagen: {result}', 'error')
return redirect(url_for('admin.backups'))
return jsonify({
'success': False,
'message': f'Backup fehlgeschlagen: {result}'
}), 500
@admin_bp.route("/backup/restore/<int:backup_id>", methods=["POST"])
@login_required
def restore_backup_route(backup_id):
"""Backup wiederherstellen"""
from flask import jsonify
encryption_key = request.form.get('encryption_key')
success, message = restore_backup(backup_id, encryption_key)
if success:
flash(message, 'success')
return jsonify({
'success': True,
'message': message
})
else:
flash(f'Wiederherstellung fehlgeschlagen: {message}', 'error')
return redirect(url_for('admin.backups'))
return jsonify({
'success': False,
'message': f'Wiederherstellung fehlgeschlagen: {message}'
}), 500
@admin_bp.route("/backup/download/<int:backup_id>")