Lizenzserver 2.8.16: kein Abgleich in die Vergangenheit
This commit is contained in:
1 parent
0024a116ce
commit
f0f0d05e19
2 files changed
+19
-1
No files matched your search
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "tesm-license"
|
name = "tesm-license"
|
||||||
version = "2.8.15"
|
version = "2.8.16"
|
||||||
description = "TESM-Lizenzserver -- Kunden, Tickets, Lizenzen, Aktivierung"
|
description = "TESM-Lizenzserver -- Kunden, Tickets, Lizenzen, Aktivierung"
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|||||||
@@ -970,6 +970,24 @@ def lizenz_auf_ticket_setzen(
|
|||||||
# gibt etwas -- hier ist nichts zurueckzunehmen.
|
# gibt etwas -- hier ist nichts zurueckzunehmen.
|
||||||
changes: dict[str, Any] = {"lifetime": True}
|
changes: dict[str, Any] = {"lifetime": True}
|
||||||
else:
|
else:
|
||||||
|
# Ein Abgleich, der in die Vergangenheit zeigt, ist kein Abgleich: er
|
||||||
|
# laesst die Lizenz beim naechsten Heartbeat sofort ablaufen. Das mag
|
||||||
|
# gewollt sein -- dann heisst es Widerruf und hat einen eigenen Knopf,
|
||||||
|
# eine eigene Rueckfrage und einen eigenen Eintrag. Hier wird es
|
||||||
|
# abgewiesen, denn wer "auf die Ticketlaufzeit setzen" drueckt, will
|
||||||
|
# zwei Angaben zur Deckung bringen und nicht eine Installation
|
||||||
|
# stilllegen.
|
||||||
|
# Verglichen wird auf Zeitpunkten, nicht auf Zeichenketten: die
|
||||||
|
# Lizenzdaten enden auf "Z", ``_now()`` schreibt "+00:00" -- als Text
|
||||||
|
# sortiert sich das falsch herum.
|
||||||
|
if lic.parse_iso(str(abweichung["grenze"])) <= datetime.now(timezone.utc):
|
||||||
|
raise IssuanceError(
|
||||||
|
"Die Ticketlaufzeit ist bereits abgelaufen "
|
||||||
|
f"({lic.parse_iso(str(abweichung['grenze'])).strftime('%d.%m.%Y')}) -- ein "
|
||||||
|
"Abgleich würde diese Lizenz sofort ungültig machen. Verlängern Sie zuerst "
|
||||||
|
"das Ticket, oder widerrufen Sie die Lizenz bewusst."
|
||||||
|
)
|
||||||
|
|
||||||
# Auch aus einer unbefristeten Lizenz wird hier wieder eine befristete.
|
# Auch aus einer unbefristeten Lizenz wird hier wieder eine befristete.
|
||||||
# Das ist die schaerfste Ruecknahme, die dieses System kennt, und
|
# Das ist die schaerfste Ruecknahme, die dieses System kennt, und
|
||||||
# genau deshalb hat sie einen eigenen Knopf mit eigener Rueckfrage --
|
# genau deshalb hat sie einen eigenen Knopf mit eigener Rueckfrage --
|
||||||
|
|||||||
Reference in new issue
Block a user