FIX 3 für Codex
Dieser Commit ist enthalten in:
@@ -13,14 +13,14 @@
|
||||
<i class="bi bi-download"></i> Export
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="/export/customers?format=excel{% if request.args.get('show_test') %}&include_test=true{% endif %}">
|
||||
<li><a class="dropdown-item" href="{{ url_for('export.export_customers', format='excel', include_test=request.args.get('show_test')) }}">
|
||||
<i class="bi bi-file-earmark-excel text-success"></i> Kunden (Excel)</a></li>
|
||||
<li><a class="dropdown-item" href="/export/customers?format=csv{% if request.args.get('show_test') %}&include_test=true{% endif %}">
|
||||
<li><a class="dropdown-item" href="{{ url_for('export.export_customers', format='csv', include_test=request.args.get('show_test')) }}">
|
||||
<i class="bi bi-file-earmark-text"></i> Kunden (CSV)</a></li>
|
||||
<li><hr class="dropdown-divider"></li>
|
||||
<li><a class="dropdown-item" href="/export/licenses?format=excel{% if request.args.get('show_test') %}&include_test=true{% endif %}{% if selected_customer_id %}&customer_id={{ selected_customer_id }}{% endif %}">
|
||||
<li><a class="dropdown-item" href="{{ url_for('export.export_licenses', format='excel', include_test=request.args.get('show_test'), customer_id=selected_customer_id) }}">
|
||||
<i class="bi bi-file-earmark-excel text-success"></i> Lizenzen (Excel)</a></li>
|
||||
<li><a class="dropdown-item" href="/export/licenses?format=csv{% if request.args.get('show_test') %}&include_test=true{% endif %}{% if selected_customer_id %}&customer_id={{ selected_customer_id }}{% endif %}">
|
||||
<li><a class="dropdown-item" href="{{ url_for('export.export_licenses', format='csv', include_test=request.args.get('show_test'), customer_id=selected_customer_id) }}">
|
||||
<i class="bi bi-file-earmark-text"></i> Lizenzen (CSV)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -83,7 +83,7 @@
|
||||
<i class="bi bi-inbox" style="font-size: 3rem; opacity: 0.3;"></i>
|
||||
<p class="mt-3 mb-2">Keine Kunden vorhanden</p>
|
||||
<small class="d-block mb-3">Erstellen Sie eine neue Lizenz, um automatisch einen Kunden anzulegen.</small>
|
||||
<a href="/create" class="btn btn-sm btn-primary">
|
||||
<a href="{{ url_for('licenses.create_license') }}" class="btn btn-sm btn-primary">
|
||||
<i class="bi bi-plus-circle"></i> Neue Lizenz erstellen
|
||||
</a>
|
||||
</div>
|
||||
@@ -104,7 +104,7 @@
|
||||
<small class="text-muted">{{ selected_customer[2] }}</small>
|
||||
</div>
|
||||
<div>
|
||||
<a href="/customer/edit/{{ selected_customer[0] }}?ref=customers-licenses{% if request.args.get('show_test') %}&show_test=true{% endif %}" class="btn btn-sm btn-outline-primary">
|
||||
<a href="{{ url_for('customers.edit_customer', customer_id=selected_customer[0], ref='customers-licenses', show_test=request.args.get('show_test')) }}" class="btn btn-sm btn-outline-primary">
|
||||
<i class="bi bi-pencil"></i> Bearbeiten
|
||||
</a>
|
||||
</div>
|
||||
@@ -179,7 +179,7 @@
|
||||
<button class="btn btn-outline-info" onclick="showDeviceManagement({{ license[0] }})" title="Geräte verwalten">
|
||||
<i class="bi bi-laptop"></i>
|
||||
</button>
|
||||
<a href="/license/edit/{{ license[0] }}{% if request.args.get('show_test') %}?ref=customers-licenses&show_test=true{% endif %}" class="btn btn-outline-secondary" title="Bearbeiten">
|
||||
<a href="{{ url_for('licenses.edit_license', license_id=license[0], ref='customers-licenses', show_test=request.args.get('show_test')) }}" class="btn btn-outline-secondary" title="Bearbeiten">
|
||||
<i class="bi bi-pencil"></i>
|
||||
</a>
|
||||
</div>
|
||||
@@ -544,7 +544,7 @@ function updateLicenseView(customerId, licenses) {
|
||||
function toggleLicenseStatus(licenseId, currentStatus) {
|
||||
const newStatus = !currentStatus;
|
||||
|
||||
fetch(`/api/license/${licenseId}/toggle`, {
|
||||
fetch(`{{ url_for('api.toggle_license', license_id='') }}${licenseId}`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -565,7 +565,7 @@ function toggleLicenseStatus(licenseId, currentStatus) {
|
||||
|
||||
// Direkt zur Lizenzerstellung navigieren
|
||||
function showNewLicenseModal(customerId) {
|
||||
window.location.href = `/create?customer_id=${customerId}${window.location.search ? '&' + window.location.search.substring(1) : ''}`;
|
||||
window.location.href = `{{ url_for('licenses.create_license') }}?customer_id=${customerId}${window.location.search ? '&' + window.location.search.substring(1) : ''}`;
|
||||
}
|
||||
|
||||
// Copy to clipboard
|
||||
@@ -686,7 +686,7 @@ function showResourceDetails(licenseId, resourceType) {
|
||||
</td>
|
||||
<td>${resource.assigned_at}</td>
|
||||
<td>
|
||||
<a href="/resources?search=${encodeURIComponent(resource.value)}"
|
||||
<a href="{{ url_for('resources.resources') }}?search=${encodeURIComponent(resource.value)}"
|
||||
class="btn btn-sm btn-outline-primary" target="_blank">
|
||||
<i class="bi bi-box-arrow-up-right"></i> Details
|
||||
</a>
|
||||
@@ -1052,7 +1052,7 @@ function saveResourceChanges() {
|
||||
saveBtn.innerHTML = '<span class="spinner-border spinner-border-sm me-2" role="status"></span>Wird gespeichert...';
|
||||
|
||||
// API-Call zum Zuweisen der Ressourcen
|
||||
fetch('/api/resources/allocate', {
|
||||
fetch('{{ url_for('api.allocate_resources') }}', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren