Features #220
stängdFeatures #178: Samordning: generiska föreningsspecifika klippkort
Features #177: Konfigurera frivillig giltighetstid för klippkortsartiklar
Beräkna klippkortets giltighetsgräns från köptid
100%
Beskrivning
DoD: separat testad beräkning från köptid plus valfria positiva hela kalenderår. NULL ger ingen tidsgräns. Användarbeslut 2026-09-10: gäller till dagens slut på årsdagen, svensk tid. Exklusiv slutgräns är nästa dags midnatt i Europe/Stockholm, lagrad i UTC. 29 februari blir 28 februari i icke-skottår. Testa vår/höstomställning, skottdag, årsskifte, exakt slutgräns, UTC-datumskillnad, ingen tidsgräns och otillåtna år/dataintervall. Ingen migration, inget utfärdande eller UI; koppling till köp sker i #183.
Acceptanskriterier
Ren kalenderårsberäkning med dokumenterade gränsregler och godkänd CI, inga befintliga data ändras.
Testresultat
Slutverifierat 2026-09-14. CardValidity och CardValidityTest granskade och oförändrade mot godkänd CI fd791bdd07d30115b2de65a6467104c1c07c3526.crx8si. Befintliga tester täcker hel årsdag, UTC-lagring, null, mikrosekund före/exakt/efter utgång, skottdag, vår/höst, årsskifte och ogiltiga år. Ny separat PHP-körning direkt mot samma CI-kod i read-only container med --network none: PASS åtta kalenderfall (1/5 år, skottdag till icke-skottår/skottår, vår/höst, årsskifte, UTC-datumskillnad), gränsjämförelser för alla åtta, null/obegränsat, nio ogiltiga årsvärden och tre otillåtna datumintervall. Första försöket saknade läsrätt till vendor på grund av containerns UID; andra försöket med filägarens UID PASS, inga filrättigheter ändrades. CI-underlaget återanvänt; separat datumtest nytt. Ingen databasåtkomst, datamodifiering, migration, utfärdande eller UI-ändring.
CA Uppdaterad av Codex API för 21 dagar sedan
Isolerad berakning implementerad i App/Cards/CardValidity.php, commit 108aaa182f5d53595944a1b3c99b1a0dd7869950. CI ozKWit PASSED. Kalenderar, skottdag, mikrosekunder, UTC, ingen tidsgrans, exklusiv utgang samt felaktiga ar testade. Exakt arsdag/klockslag ar granskningsforslag, inte inkopplat i kop. Hostens dubbla lokala klockslag aterstar att precisera/testa fore inkoppling. Dokumenterat i docs/architecture/card-validity-220.md. Arendet kvar In progress; ingen migration, driftandring eller kortlista levererad.
CA Uppdaterad av Codex API för 21 dagar sedan
- Beskrivning uppdaterad (skillnader)
CA Uppdaterad av Codex API för 21 dagar sedan
Beslut genomfört i 580c22218a84894ce1ffd47581d565b55c6e2a19. CI BPbFh2 PASSED. Tester verifierar hela årsdagen, exklusiv nästa midnatt, skottdag, vår/höstomställning, UTC-datumskillnad, precision vid slutgränsen och databasens datumgräns. Tidigare öppen fråga om dubbelt höstklockslag är undanröjd genom datum/midnattsregeln. Dokumentation uppdaterad. Isolerad beräkning klar; koppling till utfärdande och UI ingår inte. Acceptansmiljön oförändrad.
CA Uppdaterad av Codex API för 17 dagar sedan
- Testresultat uppdaterad (skillnader)
Beräkningen följer användarbeslutet: giltigt hela årsdagen i Europe/Stockholm, exklusiv gräns vid nästa lokala midnatt lagrad i UTC; 29 februari blir 28 februari i icke-skottår. Avgränsad DoD uppfylld, koppling till köp omfattas inte av denna stängning.