Die UNterscheidung von Test und Echt Lizenzen ist strikter

Dieser Commit ist enthalten in:
2025-06-21 20:15:50 +02:00
Ursprung fdf74c11ec
Commit 08e4e939ab
3 geänderte Dateien mit 103 neuen und 7 gelöschten Zeilen

Datei anzeigen

@@ -236,8 +236,7 @@ function calculateValidUntil() {
break;
}
// Ein Tag abziehen, da der Starttag mitgezählt wird
endDate.setDate(endDate.getDate() - 1);
// Kein Tag abziehen - die Lizenz ist bis einschließlich des Enddatums gültig
document.getElementById('validUntil').value = endDate.toISOString().split('T')[0];
}
@@ -252,6 +251,9 @@ document.addEventListener('DOMContentLoaded', function() {
const today = new Date().toISOString().split('T')[0];
document.getElementById('validFrom').value = today;
// Initialize customer is_fake map
window.customerIsFakeMap = {};
// Berechne initiales Ablaufdatum
calculateValidUntil();
@@ -273,8 +275,15 @@ document.addEventListener('DOMContentLoaded', function() {
processResults: function (data, params) {
params.page = params.page || 1;
// "Neuer Kunde" Option immer oben anzeigen
// Store is_fake status for each customer
const results = data.results || [];
results.forEach(customer => {
if (customer.id !== 'new') {
window.customerIsFakeMap[customer.id] = customer.is_fake || false;
}
});
// "Neuer Kunde" Option immer oben anzeigen
if (params.page === 1) {
results.unshift({
id: 'new',
@@ -330,6 +339,9 @@ document.addEventListener('DOMContentLoaded', function() {
showCustomerTypeIndicator(e.params.data.is_fake ? 'fake' : 'real');
}
}
// Update resource availability check when customer changes
checkResourceAvailability();
});
// Clear handler
@@ -339,6 +351,8 @@ document.addEventListener('DOMContentLoaded', function() {
document.getElementById('customerName').required = false;
document.getElementById('email').required = false;
hideCustomerTypeIndicator();
window.customerIsFakeMap = {};
checkResourceAvailability();
});
// Resource Availability Check
@@ -393,8 +407,15 @@ function checkResourceAvailability() {
document.getElementById('ipv4Needed').textContent = totalIpv4;
document.getElementById('phoneNeeded').textContent = totalPhones;
// Get customer's is_fake status
const selectedCustomer = document.getElementById('customer_id');
let isFake = 'false';
if (selectedCustomer && selectedCustomer.value && window.customerIsFakeMap) {
isFake = window.customerIsFakeMap[selectedCustomer.value] ? 'true' : 'false';
}
// API-Call zur Verfügbarkeitsprüfung
fetch(`/api/resources/check-availability?domain=${totalDomains}&ipv4=${totalIpv4}&phone=${totalPhones}`)
fetch(`/api/resources/check-availability?domain=${totalDomains}&ipv4=${totalIpv4}&phone=${totalPhones}&is_fake=${isFake}`)
.then(response => response.json())
.then(data => {
// Update der Verfügbarkeitsanzeigen