feat(admin): Settings/PublicTickets.vue for guest policy (Task 6.3)#32
Open
mpge wants to merge 2 commits intofeat/public-ticket-systemfrom
Open
feat(admin): Settings/PublicTickets.vue for guest policy (Task 6.3)#32mpge wants to merge 2 commits intofeat/public-ticket-systemfrom
mpge wants to merge 2 commits intofeat/public-ticket-systemfrom
Conversation
Form with radio picker for guest policy mode (unassigned / guest_user / prompt_signup), conditional number input for the shared guest-user id, and conditional text input for the signup URL template. PUTs to escalated.admin.settings.public-tickets.update — host adapters (Laravel, NestJS, Rails, etc.) register the route and the shared SettingsService persists the values so admins can change the policy at runtime without a redeploy. Marks Task 6.3 complete in the plan. The backend side (SettingsService + widget controller reading from it) landed in previous iterations.
Admins toggling Guest Tickets on now see a "Configure guest policy →" link below the switch that routes to the new per-feature settings page. Without this, admins would have no way to find the page. The link only renders when guest tickets are enabled, so it stays out of the way for hosts that don't use the public widget / inbound email flows.
This was referenced Apr 24, 2026
Open
feat(admin): public-ticket guest policy fields in settings page
escalated-dev/escalated-wordpress#34
Open
mpge
added a commit
that referenced
this pull request
Apr 24, 2026
Updates the status doc to reflect everything shipped since the original append: - workflows.md (#9) description now matches what the doc actually says after 11 rounds of factual-error corrections (5 trigger events not 14, real condition model, unit divergence called out, etc.) - public-tickets.md (#10) description matches after 10 rounds of corrections (4-priority chain, real widget snippet, provider coverage split, etc.) - New 'Infrastructure fixes surfaced along the way' section documents the Phoenix CI config fix (#46 — lint.yml was broken, never ran on any PR since repo creation), the .NET PR #32 accidental stacking rebase, and the three earlier settings-PR lint fixes (Django / Adonis / Symfony). Noted that the 20+ factual corrections in the docs were caught via self-review, not user-reported — keeping that visible in the status doc so future iterations know the docs were hand-audited against source, not just generated.
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.
Summary
Closes plan Task 6.3: a frontend settings page for configuring the public-ticket guest policy at runtime.
Form covers all three modes:
{{email}}interpolation). The outbound-email listener uses this to build the invite link.Save button PUTs to `route('escalated.admin.settings.public-tickets.update')`. Host adapters (Laravel, NestJS, Rails, etc.) register the named route; the shared `SettingsService` persists the values so admins can change the policy at runtime without a redeploy.
Visual style
Matches `Admin/Settings/CsatSettings.vue` — same border tokens, accent color, hover states. Fits in alongside the other per-feature settings pages (CSAT, Email, SSO, Data Retention, 2FA).
Stacked PR
Based on `feat/public-ticket-system` — sits alongside the other public-ticket work already committed to that branch.
Test plan