Version 2.6.1: die Speichernzeile fuehrt zur Entscheidung
This commit is contained in:
1 parent
754cbea6bb
commit
5282cd8f2d
8 files changed
+54
-13
No files matched your search
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "tesm-core"
|
||||
version = "2.6.0"
|
||||
version = "2.6.1"
|
||||
description = "Gemeinsames Anwendungsgeruest (Auth, RBAC, Navigation, Design-System, Migrationen) fuer TESM und TESM-Lizenzserver"
|
||||
requires-python = ">=3.11"
|
||||
dependencies = [
|
||||
|
||||
@@ -148,7 +148,7 @@ def create_base_app(
|
||||
#: Wortmarke, ohne Zeile darunter; die Marke selbst zeigen beide
|
||||
#: Anwendungen.
|
||||
auth_tagline: str = "",
|
||||
app_version: str = "2.6.0",
|
||||
app_version: str = "2.6.1",
|
||||
built_in_trusted_keys: tuple[str, ...] = (),
|
||||
enable_license: bool = True,
|
||||
template_folder: str | None = None,
|
||||
|
||||
@@ -847,6 +847,25 @@
|
||||
flex: 1 1 12rem;
|
||||
margin: 0;
|
||||
}
|
||||
/* Die Entscheidung steht rechts und der Haken darueber: er gehoert zum
|
||||
Speichern, nicht zu den Feldern davor. */
|
||||
.viewer__saveaktionen {
|
||||
margin-left: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-end;
|
||||
gap: var(--sp-2);
|
||||
}
|
||||
.viewer__saveknoepfe {
|
||||
display: flex;
|
||||
gap: var(--sp-2);
|
||||
}
|
||||
/* Nach "gibt es schon": der Haken ist die Antwort -- also faellt er auf. */
|
||||
.viewer__saveaktionen .check.is-gefragt {
|
||||
outline: 2px solid var(--accent);
|
||||
outline-offset: 3px;
|
||||
border-radius: var(--r-xs);
|
||||
}
|
||||
/* Eigener Name: ".field--inline" gibt es schon und steht dort fuer
|
||||
"waagerecht" -- diese Regel haette sie app-weit umgestellt. */
|
||||
.viewer__feld {
|
||||
|
||||
@@ -699,6 +699,7 @@ export function initFilePreview(wurzel = document) {
|
||||
const ordnerFeld = stueck("ordner");
|
||||
const nameFeld = stueck("name");
|
||||
const ersetzenFeld = stueck("ersetzen");
|
||||
const ersetzenKasten = stueck("ersetzenfeld");
|
||||
const jetzt = stueck("jetzt");
|
||||
const abbrechen = stueck("abbrechen");
|
||||
const modusFeld = stueck("modus");
|
||||
@@ -846,8 +847,12 @@ export function initFilePreview(wurzel = document) {
|
||||
// Ohne Endung: die haengt der Server an. Eine Datei, die auf ".pdf.txt"
|
||||
// oder auf gar nichts endet, oeffnet auf einer Freigabe nichts mehr.
|
||||
// Der Zusatz haelt die Vorlage heil, auch wenn jemand blind speichert.
|
||||
nameFeld.value = datei.replace(/\.pdf$/i, "") + "-ausgefuellt";
|
||||
// Einmal "-ausgefuellt" reicht: wer eine ausgefuellte Fassung noch einmal
|
||||
// oeffnet und speichert, bekam sonst "...-ausgefuellt-ausgefuellt".
|
||||
const rumpfname = datei.replace(/\.pdf$/i, "");
|
||||
nameFeld.value = /-ausgefuellt$/i.test(rumpfname) ? rumpfname : `${rumpfname}-ausgefuellt`;
|
||||
ersetzenFeld.checked = false;
|
||||
ersetzenKasten?.classList.remove("is-gefragt");
|
||||
};
|
||||
|
||||
/* Unterschreiben: Name tippen, zeichnen, ins Dokument setzen. */
|
||||
@@ -973,6 +978,12 @@ export function initFilePreview(wurzel = document) {
|
||||
// Zeile bleibt offen: meist ist es ein Name, der schon vergeben ist.
|
||||
console.error("Formular speichern", fehler);
|
||||
window.tesm.showToast(fehler.message || "Speichern fehlgeschlagen.", "danger");
|
||||
// Genau dieser Fall hat eine Antwort auf der Zeile -- dann zeigen wir
|
||||
// auch darauf, statt es bei einer Meldung zu belassen.
|
||||
if (fehler.status === 409) {
|
||||
ersetzenKasten?.classList.add("is-gefragt");
|
||||
ersetzenFeld?.focus();
|
||||
}
|
||||
} finally {
|
||||
jetzt.disabled = false;
|
||||
jetzt.textContent = vorher;
|
||||
|
||||
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "tesm-licensing"
|
||||
version = "2.6.0"
|
||||
version = "2.6.1"
|
||||
description = "Ed25519-basiertes Lizenz- und Aktivierungsprotokoll fuer TESM und TESM-Lizenzserver"
|
||||
requires-python = ">=3.11"
|
||||
dependencies = ["cryptography>=42"]
|
||||
|
||||
Reference in new issue
Block a user