Kunden & Lizenzen gehen wieder
Dieser Commit ist enthalten in:
@@ -104,7 +104,15 @@ def resources():
|
||||
count = row[3]
|
||||
|
||||
if res_type not in stats:
|
||||
stats[res_type] = {'total': 0, 'available': 0, 'allocated': 0, 'quarantined': 0, 'test': 0, 'prod': 0}
|
||||
stats[res_type] = {
|
||||
'total': 0,
|
||||
'available': 0,
|
||||
'allocated': 0,
|
||||
'quarantined': 0,
|
||||
'test': 0,
|
||||
'prod': 0,
|
||||
'available_percent': 0
|
||||
}
|
||||
|
||||
stats[res_type]['total'] += count
|
||||
stats[res_type][status] = stats[res_type].get(status, 0) + count
|
||||
@@ -113,13 +121,38 @@ def resources():
|
||||
else:
|
||||
stats[res_type]['prod'] += count
|
||||
|
||||
# Calculate percentages
|
||||
for res_type in stats:
|
||||
if stats[res_type]['total'] > 0:
|
||||
stats[res_type]['available_percent'] = int((stats[res_type]['available'] / stats[res_type]['total']) * 100)
|
||||
|
||||
# Pagination parameters (simple defaults for now)
|
||||
try:
|
||||
page = int(request.args.get('page', '1') or '1')
|
||||
except (ValueError, TypeError):
|
||||
page = 1
|
||||
per_page = 50
|
||||
total = len(resources_list)
|
||||
total_pages = (total + per_page - 1) // per_page if total > 0 else 1
|
||||
|
||||
# Sort parameters
|
||||
sort_by = request.args.get('sort', 'id')
|
||||
sort_order = request.args.get('order', 'asc')
|
||||
|
||||
return render_template('resources.html',
|
||||
resources=resources_list,
|
||||
stats=stats,
|
||||
resource_type=resource_type,
|
||||
status_filter=status_filter,
|
||||
search_query=search_query,
|
||||
show_test=show_test)
|
||||
search=search_query, # Changed from search_query to search
|
||||
show_test=show_test,
|
||||
total=total,
|
||||
page=page,
|
||||
total_pages=total_pages,
|
||||
sort_by=sort_by,
|
||||
sort_order=sort_order,
|
||||
recent_activities=[], # Empty for now
|
||||
datetime=datetime) # For template datetime usage
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"Fehler beim Laden der Ressourcen: {str(e)}")
|
||||
@@ -135,7 +168,7 @@ def resources():
|
||||
|
||||
@resource_bp.route('/resources/quarantine/<int:resource_id>', methods=['POST'])
|
||||
@login_required
|
||||
def quarantine_resource(resource_id):
|
||||
def quarantine(resource_id):
|
||||
"""Ressource in Quarantäne versetzen"""
|
||||
conn = get_connection()
|
||||
cur = conn.cursor()
|
||||
@@ -200,7 +233,7 @@ def quarantine_resource(resource_id):
|
||||
|
||||
@resource_bp.route('/resources/release', methods=['POST'])
|
||||
@login_required
|
||||
def release_resources():
|
||||
def release():
|
||||
"""Ressourcen aus Quarantäne freigeben oder von Lizenz entfernen"""
|
||||
conn = get_connection()
|
||||
cur = conn.cursor()
|
||||
@@ -450,7 +483,7 @@ def resource_metrics():
|
||||
|
||||
@resource_bp.route('/resources/report', methods=['GET'])
|
||||
@login_required
|
||||
def resource_report():
|
||||
def resources_report():
|
||||
"""Generiert einen Ressourcen-Report"""
|
||||
from io import BytesIO
|
||||
import xlsxwriter
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren