few needet repairs tro the return of the upload item funktion to not return json but a redirect
This commit is contained in:
+9
-17
@@ -3821,7 +3821,7 @@ def library_admin():
|
|||||||
show_library_features=True,
|
show_library_features=True,
|
||||||
upload_mode='library',
|
upload_mode='library',
|
||||||
page_title='Bücher hochladen',
|
page_title='Bücher hochladen',
|
||||||
back_target='home_admin'
|
back_target='library'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -5074,7 +5074,7 @@ def upload_item():
|
|||||||
Enhanced for mobile browser compatibility.
|
Enhanced for mobile browser compatibility.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
flask.Response: Redirect to admin homepage or JSON response
|
flask.Response: Redirect to admin homepage
|
||||||
"""
|
"""
|
||||||
# Check if the user is authenticated
|
# Check if the user is authenticated
|
||||||
if 'username' not in session:
|
if 'username' not in session:
|
||||||
@@ -5087,7 +5087,12 @@ def upload_item():
|
|||||||
return jsonify({'success': False, 'message': 'Einfüge-Rechte erforderlich'}), 403
|
return jsonify({'success': False, 'message': 'Einfüge-Rechte erforderlich'}), 403
|
||||||
|
|
||||||
can_access_admin_home = _page_access_allowed(permissions, 'home_admin') and _action_access_allowed(permissions, 'can_manage_settings')
|
can_access_admin_home = _page_access_allowed(permissions, 'home_admin') and _action_access_allowed(permissions, 'can_manage_settings')
|
||||||
success_redirect_endpoint = 'home_admin' if can_access_admin_home else 'home'
|
if can_access_admin_home:
|
||||||
|
success_redirect_endpoint = 'home_admin'
|
||||||
|
elif cfg.MODULES.is_enabled('library') and _page_access_allowed(permissions, 'home_library'):
|
||||||
|
success_redirect_endpoint = 'home_library'
|
||||||
|
else:
|
||||||
|
success_redirect_endpoint = 'home'
|
||||||
|
|
||||||
# Detect if request is from mobile device
|
# Detect if request is from mobile device
|
||||||
is_mobile = 'Mobile' in request.headers.get('User-Agent', '')
|
is_mobile = 'Mobile' in request.headers.get('User-Agent', '')
|
||||||
@@ -6044,20 +6049,7 @@ def upload_item():
|
|||||||
except Exception:
|
except Exception:
|
||||||
app.logger.warning('Audit write failed for library_item_created')
|
app.logger.warning('Audit write failed for library_item_created')
|
||||||
|
|
||||||
if is_mobile:
|
|
||||||
return jsonify({
|
|
||||||
'success': True,
|
|
||||||
'message': success_msg,
|
|
||||||
'itemId': str(item_id),
|
|
||||||
'stats': {
|
|
||||||
'processed': processed_count,
|
|
||||||
'errors': error_count,
|
|
||||||
'skipped': skipped_count,
|
|
||||||
'duplicates': len(duplicate_images) if duplicate_images else 0,
|
|
||||||
'totalImages': len(image_filenames)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
else:
|
|
||||||
flash(success_msg, 'success')
|
flash(success_msg, 'success')
|
||||||
return redirect(url_for(success_redirect_endpoint, highlight_item=str(item_id)))
|
return redirect(url_for(success_redirect_endpoint, highlight_item=str(item_id)))
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -954,7 +954,7 @@
|
|||||||
<div class="isbn-input-group">
|
<div class="isbn-input-group">
|
||||||
<input type="text" id="isbn" name="isbn" placeholder="ISBN oder Barcode eingeben..." required>
|
<input type="text" id="isbn" name="isbn" placeholder="ISBN oder Barcode eingeben..." required>
|
||||||
<button type="button" id="scan-isbn-btn" class="fetch-isbn-button">Barcode scannen</button>
|
<button type="button" id="scan-isbn-btn" class="fetch-isbn-button">Barcode scannen</button>
|
||||||
<button type="button" class="fetch-isbn-button" onclick="fetchBookInfo('upload')">Bild abrufen</button>
|
<button type="button" class="fetch-isbn-button" onclick="fetchBookInfo('upload')">Informationen abrufen</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="isbn-scanner" style="width:100%; max-width:520px; display:none; margin-top:10px;"></div>
|
<div id="isbn-scanner" style="width:100%; max-width:520px; display:none; margin-top:10px;"></div>
|
||||||
<small id="isbn-scan-status" style="display:block; color:#666; margin-top:6px;">Scannen oder manuell eingeben. Gültige ISBNs helfen beim Abruf von Buchdaten, andere Codes werden trotzdem akzeptiert.</small>
|
<small id="isbn-scan-status" style="display:block; color:#666; margin-top:6px;">Scannen oder manuell eingeben. Gültige ISBNs helfen beim Abruf von Buchdaten, andere Codes werden trotzdem akzeptiert.</small>
|
||||||
|
|||||||
Reference in New Issue
Block a user