CluPilotCloud/resources/views
nexxo c6ead1afc9 Deckel haelt auch am Rand: Warenkorb und Bestaetigungsdialog
Zwei Luecken aus der Durchsicht von Task 2, beide am selben Rand: genau am
erreichten Deckel.

purchase() klemmte $lines mit max(1, min(..., bookableQuantity, ...)) — bei
bookableQuantity=0 floort das auf eine Bestellzeile statt auf keine, und der
Speicher-Knopf war bedingungslos gerendert. Jetzt bricht purchase() fuer
type=storage frueh ab, wenn AddonCatalogue::quantityRefusal() ablehnt, und der
Knopf verschwindet zugunsten des Ablehnungssatzes.

ConfirmBookStorage klemmte an der absoluten Grenze (3), nicht an der
Restmenge — ein Vertrag mit einem gebuchten Block haette drei weitere
versprochen bekommen, obwohl nur zwei noch buchbar sind. Das Modal loest jetzt
seinen eigenen Vertrag auf (wie ConfirmCancelAddon und ConfirmRevokeSeat) und
klemmt an bookableQuantity().

Beide Faelle waren ungetestet; zwei neue Tests in StoragePackLimitTest.php
belegen sie und wurden vor dem Fix gegen den alten Stand als rot verifiziert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 13:50:07 +02:00
..
components Release v1.3.94 — die Kurven zeigen wieder, wie ausgelastet der Host ist 2026-08-01 11:56:10 +02:00
errors One wordmark, one typeface, and the address the server actually issues 2026-07-29 14:30:44 +02:00
layouts Put the switch where it governs, and say when it is thrown 2026-07-30 15:09:38 +02:00
legal Stop asking for a signature the law does not want, and lay out the tab 2026-07-30 17:30:55 +02:00
livewire Deckel haelt auch am Rand: Warenkorb und Bestaetigungsdialog 2026-08-01 13:50:07 +02:00
mail Mahnwesen: die sechs Kundenmails 2026-07-31 22:31:04 +02:00
partials Show that the update is running, and stop showing the rsync log 2026-07-29 20:33:02 +02:00
pdf Issue an invoice from what somebody bought, and freeze it there 2026-07-29 02:09:05 +02:00
vendor/wire-elements-modal R24: a modal is never taller than the screen 2026-07-29 23:33:57 +02:00
coming-soon.blade.php One wordmark, one typeface, and the address the server actually issues 2026-07-29 14:30:44 +02:00
landing.blade.php Fix the checkout link, and stop the switch moving under the cursor 2026-07-30 16:05:56 +02:00
legal.blade.php Accept terms instead of a start date, and fix the sender no server accepts 2026-07-30 15:22:35 +02:00
security.blade.php Put customer instances on their own domain, and say which domains are ours 2026-07-29 16:03:13 +02:00
status.blade.php Rebuild the status page as a status page 2026-07-29 12:45:18 +02:00