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]
|
||||
name = "tesm-license"
|
||||
version = "2.8.15"
|
||||
version = "2.8.16"
|
||||
description = "TESM-Lizenzserver -- Kunden, Tickets, Lizenzen, Aktivierung"
|
||||
requires-python = ">=3.11"
|
||||
dependencies = [
|
||||
|
||||
@@ -970,6 +970,24 @@ def lizenz_auf_ticket_setzen(
|
||||
# gibt etwas -- hier ist nichts zurueckzunehmen.
|
||||
changes: dict[str, Any] = {"lifetime": True}
|
||||
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.
|
||||
# Das ist die schaerfste Ruecknahme, die dieses System kennt, und
|
||||
# genau deshalb hat sie einen eigenen Knopf mit eigener Rueckfrage --
|
||||
|
||||
Reference in new issue
Block a user