diff --git a/v2_adminpanel/app.py b/v2_adminpanel/app.py index 3b092ba..eaa5100 100644 --- a/v2_adminpanel/app.py +++ b/v2_adminpanel/app.py @@ -2351,7 +2351,17 @@ def customers_licenses(): l.ipv4_count, l.phone_count, l.device_limit, - (SELECT COUNT(*) FROM device_registrations WHERE license_id = l.id AND is_active = TRUE) as active_devices + (SELECT COUNT(*) FROM device_registrations WHERE license_id = l.id AND is_active = TRUE) as active_devices, + -- Actual resource counts + (SELECT COUNT(*) FROM license_resources lr + JOIN resource_pools rp ON lr.resource_id = rp.id + WHERE lr.license_id = l.id AND lr.is_active = true AND rp.resource_type = 'domain') as actual_domain_count, + (SELECT COUNT(*) FROM license_resources lr + JOIN resource_pools rp ON lr.resource_id = rp.id + WHERE lr.license_id = l.id AND lr.is_active = true AND rp.resource_type = 'ipv4') as actual_ipv4_count, + (SELECT COUNT(*) FROM license_resources lr + JOIN resource_pools rp ON lr.resource_id = rp.id + WHERE lr.license_id = l.id AND lr.is_active = true AND rp.resource_type = 'phone') as actual_phone_count FROM licenses l WHERE l.customer_id = %s ORDER BY l.created_at DESC, l.id DESC @@ -2394,7 +2404,17 @@ def api_customer_licenses(customer_id): l.ipv4_count, l.phone_count, l.device_limit, - (SELECT COUNT(*) FROM device_registrations WHERE license_id = l.id AND is_active = TRUE) as active_devices + (SELECT COUNT(*) FROM device_registrations WHERE license_id = l.id AND is_active = TRUE) as active_devices, + -- Actual resource counts + (SELECT COUNT(*) FROM license_resources lr + JOIN resource_pools rp ON lr.resource_id = rp.id + WHERE lr.license_id = l.id AND lr.is_active = true AND rp.resource_type = 'domain') as actual_domain_count, + (SELECT COUNT(*) FROM license_resources lr + JOIN resource_pools rp ON lr.resource_id = rp.id + WHERE lr.license_id = l.id AND lr.is_active = true AND rp.resource_type = 'ipv4') as actual_ipv4_count, + (SELECT COUNT(*) FROM license_resources lr + JOIN resource_pools rp ON lr.resource_id = rp.id + WHERE lr.license_id = l.id AND lr.is_active = true AND rp.resource_type = 'phone') as actual_phone_count FROM licenses l WHERE l.customer_id = %s ORDER BY l.created_at DESC, l.id DESC @@ -2441,11 +2461,14 @@ def api_customer_licenses(customer_id): 'valid_until': row[4].strftime('%d.%m.%Y') if row[4] else '', 'is_active': row[5], 'status': row[6], - 'domain_count': row[7], - 'ipv4_count': row[8], - 'phone_count': row[9], + 'domain_count': row[7], # limit + 'ipv4_count': row[8], # limit + 'phone_count': row[9], # limit 'device_limit': row[10], 'active_devices': row[11], + 'actual_domain_count': row[12], # actual count + 'actual_ipv4_count': row[13], # actual count + 'actual_phone_count': row[14], # actual count 'resources': resources }) diff --git a/v2_adminpanel/templates/customers_licenses.html b/v2_adminpanel/templates/customers_licenses.html index af28003..f7c8a6f 100644 --- a/v2_adminpanel/templates/customers_licenses.html +++ b/v2_adminpanel/templates/customers_licenses.html @@ -157,22 +157,16 @@
- {% if license[7] > 0 %} -
- 🌐 {{ license[7] }} -
- {% endif %} - {% if license[8] > 0 %} -
- 📡 {{ license[8] }} -
- {% endif %} - {% if license[9] > 0 %} -
- 📱 {{ license[9] }} -
- {% endif %} -
+
+ 🌐 {{ license[12] }} +
+
+ 📡 {{ license[13] }} +
+
+ 📱 {{ license[14] }} +
+
💻 {{ license[11] }}/{{ license[10] }}
@@ -434,36 +428,37 @@ function updateLicenseView(customerId, licenses) { // Erstelle Ressourcen-HTML mit Details let resourcesHtml = ''; - if (license.resources) { - if (license.domain_count > 0 && license.resources.domains) { - resourcesHtml += `
- 🌐 ${license.domain_count} - -
`; - } - if (license.ipv4_count > 0 && license.resources.ipv4s) { - resourcesHtml += `
- 📡 ${license.ipv4_count} - -
`; - } - if (license.phone_count > 0 && license.resources.phones) { - resourcesHtml += `
- 📱 ${license.phone_count} - -
`; - } - } + const actualDomainCount = license.actual_domain_count || 0; + const actualIpv4Count = license.actual_ipv4_count || 0; + const actualPhoneCount = license.actual_phone_count || 0; - // Geräte-Anzeige hinzufügen + // Domains - immer anzeigen + resourcesHtml += `
+ 🌐 ${actualDomainCount} + ${actualDomainCount > 0 ? `` : ''} +
`; + + // IPv4 - immer anzeigen + resourcesHtml += `
+ 📡 ${actualIpv4Count} + ${actualIpv4Count > 0 ? `` : ''} +
`; + + // Telefonnummern - immer anzeigen + resourcesHtml += `
+ 📱 ${actualPhoneCount} + ${actualPhoneCount > 0 ? `` : ''} +
`; + + // Geräte-Anzeige hinzufügen (mit Limit, da Geräte limitiert sind) resourcesHtml += `
- 💻 ${license.active_devices}/${license.device_limit} + 💻 ${license.active_devices}/${license.device_limit}
`; html += `