Compare commits
2 Commits
v1.0.6-dev.4
...
v1.0.7
| Author | SHA1 | Date | |
|---|---|---|---|
| 8d07577220 | |||
| f3c7b6cd55 |
@@ -13775,6 +13775,13 @@ def upload_csv_batch():
|
|||||||
"images_failed": error_count
|
"images_failed": error_count
|
||||||
}), 200
|
}), 200
|
||||||
|
|
||||||
|
@app.route('/get/asv_export', methods=['GET'])
|
||||||
|
def get_asv_export():
|
||||||
|
if 'username' not in session:
|
||||||
|
flash('Bitte melden Sie sich an.', 'error')
|
||||||
|
return redirect(url_for('login'))
|
||||||
|
return send_from_directory(app.static_folder, 'img/asv_export_invario_2026.exfj')
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@app.route('/test_email')
|
@app.route('/test_email')
|
||||||
def test_email():
|
def test_email():
|
||||||
|
|||||||
Binary file not shown.
@@ -26,18 +26,27 @@
|
|||||||
<form method="POST" action="{{ url_for('change_password') }}">
|
<form method="POST" action="{{ url_for('change_password') }}">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="current_password">Aktuelles Passwort:</label>
|
<label for="current_password">Aktuelles Passwort:</label>
|
||||||
<input type="password" id="current_password" name="current_password" required>
|
<div class="input-group">
|
||||||
|
<input type="password" class="form-control" id="current_password" name="current_password" required>
|
||||||
|
<button class="btn btn-outline-secondary" type="button" onclick="togglePasswordVisibility('current_password', this)">Anzeigen</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="new_password">Neues Passwort:</label>
|
<label for="new_password">Neues Passwort:</label>
|
||||||
<input type="password" id="new_password" name="new_password" required>
|
<div class="input-group">
|
||||||
|
<input type="password" class="form-control" id="new_password" name="new_password" required>
|
||||||
|
<button class="btn btn-outline-secondary" type="button" onclick="togglePasswordVisibility('new_password', this)">Anzeigen</button>
|
||||||
|
</div>
|
||||||
<small class="form-text text-muted">Das Passwort sollte mindestens 6 Zeichen lang sein.</small>
|
<small class="form-text text-muted">Das Passwort sollte mindestens 6 Zeichen lang sein.</small>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="confirm_password">Neues Passwort bestätigen:</label>
|
<label for="confirm_password">Neues Passwort bestätigen:</label>
|
||||||
<input type="password" id="confirm_password" name="confirm_password" required>
|
<div class="input-group">
|
||||||
|
<input type="password" class="form-control" id="confirm_password" name="confirm_password" required>
|
||||||
|
<button class="btn btn-outline-secondary" type="button" onclick="togglePasswordVisibility('confirm_password', this)">Anzeigen</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
@@ -48,6 +57,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function togglePasswordVisibility(fieldId, button) {
|
||||||
|
var passwordInput = document.getElementById(fieldId);
|
||||||
|
|
||||||
|
if (passwordInput.type === 'password') {
|
||||||
|
passwordInput.type = 'text';
|
||||||
|
button.textContent = 'Verbergen';
|
||||||
|
} else {
|
||||||
|
passwordInput.type = 'password';
|
||||||
|
button.textContent = 'Anzeigen';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.password-change-form {
|
.password-change-form {
|
||||||
max-width: 500px;
|
max-width: 500px;
|
||||||
@@ -74,7 +97,7 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="password"] {
|
.form-control {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: 1px solid #ced4da;
|
border: 1px solid #ced4da;
|
||||||
@@ -122,6 +145,16 @@
|
|||||||
.btn-secondary:hover {
|
.btn-secondary:hover {
|
||||||
background-color: #5a6268;
|
background-color: #5a6268;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn-outline-secondary {
|
||||||
|
border: 1px solid #ced4da;
|
||||||
|
background-color: #f8f9fa;
|
||||||
|
color: #495057;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-outline-secondary:hover {
|
||||||
|
background-color: #e2e6ea;
|
||||||
|
}
|
||||||
|
|
||||||
.alert {
|
.alert {
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
@@ -141,4 +174,4 @@
|
|||||||
border: 1px solid #c3e6cb;
|
border: 1px solid #c3e6cb;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -514,6 +514,7 @@
|
|||||||
<p style="margin:0 0 12px 0; color:#555; font-size:13px; line-height:1.4;">
|
<p style="margin:0 0 12px 0; color:#555; font-size:13px; line-height:1.4;">
|
||||||
Laden Sie eine <strong>.xlsx</strong>- oder <strong>.csv</strong>-Datei hoch (z. B. aus <strong>ASV</strong>). Erkannt werden Rufame, Nachname, Klasse*, Ausweis-ID*, lokales Differenzierungsmerkmal*, Notizen* & Ausleihdauer*.
|
Laden Sie eine <strong>.xlsx</strong>- oder <strong>.csv</strong>-Datei hoch (z. B. aus <strong>ASV</strong>). Erkannt werden Rufame, Nachname, Klasse*, Ausweis-ID*, lokales Differenzierungsmerkmal*, Notizen* & Ausleihdauer*.
|
||||||
Hinweis: Die Daten werden Validiert und müssen dann noch einmal aus sicherheits gründen hochgeladen werden!
|
Hinweis: Die Daten werden Validiert und müssen dann noch einmal aus sicherheits gründen hochgeladen werden!
|
||||||
|
Im folgenden ist eine export vorlage für ihre ASV-Software hinterlegt: <a href="{{ url_for('get_asv_export') }}" target="_blank" style="color:#007bff; text-decoration:underline;">ASV Export Vorlage</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user