4.11.0 dev - #274
Merged
Merged
Conversation
…s in mail subjects
…vation overview, make reservations have rounded corners
… token can be used for calendar requests as well in basic auth way
…s, custom calendars
Workflow mail actions can now attach PDF templates and invoices. The new WorkflowAttachmentResolver centralises rendering, filenames and the correspondence entries for send_template_email, send_general_email and send_invoice_email. - new attachment_list schema type with repeatable rows in the form - invoice attachment as all (excluding cancelled) or unpaid only - new condition "invoice exists" for reservation triggers - send_template_email now records correspondence for invoice based mails too
…pover, fixed category image preview position
- invoice numbers follow a pattern: global default plus per-subsidiary override, empty keeps the previous "increment the last number" behaviour - invoices carry their subsidiary now, existing ones backfilled where unambiguous - invoice settings can be assigned to a subsidiary; the misleading "active" flag became a scope selector (default / branch / not in use) - bank import builds its matcher from the configured ranges instead of three sample numbers, settings tab is read-only - duplicate invoice numbers are rejected, fixed crash in the change-number dialog
Move request parsing into PublicBookingRequestMapper and the $view assembly, including the error-recovery path, into PublicBookingViewModelFactory. book() shrinks from 272 to 93 lines and the unit tests now exercise the mapper's public API instead of reflecting on controller privates. Replace the untested DP knapsack in the public availability with a plain min(available, requested rooms) cap. Consequence: a room type that cannot seat the party stays listed, and an impossible pick is rejected by the existing selection validation with a message the guest can act on. Also: drop the undocumented guestCounts POST fallback, share one room-total calculation between the price table and the preview, move the public bed predicate to AvailabilityService (its semantics differ from isRoomAvailable(), which a test now pins), and memoize OnlineBookingRestrictionService.
Step 2 now always quotes the list price and flags a differing rate per room type via an info popover; the amount stays out of it, because which room a discounted guest ends up in is decided one step later. The summary reports the adjustment as its own line, worded like the invoice position. Direction is derived exactly, except with minFullPayers set, where it depends on the allocation.
The "Storniert / No-Show" status was inserted with hardcoded German text in a migration, so English installations showed German with no way to correct it — the edit form is disabled for system statuses. DisplayNameResolver derives the label from the immutable `code` at render time (translation key `status.<code>`), falling back to the stored name when a key has no translation. Existing installations benefit without any data migration. Exposed to templates as the `display_name` Twig filter, which also covers user-authored PDF and mail templates.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.