first response initial pass
This commit is contained in:
@@ -469,14 +469,40 @@
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
@if ($canSeeInternalNotes)
|
||||
<label
|
||||
class="mt-3 flex items-center gap-2 text-xs font-semibold text-zinc-700 dark:text-zinc-200">
|
||||
<input type="checkbox" name="internal" value="1" @checked(old('internal'))
|
||||
class="rounded border-zinc-300">
|
||||
MPBA internal note only
|
||||
</label>
|
||||
@endif
|
||||
<div class="rounded-xl border border-zinc-200 bg-white p-3 shadow-sm dark:border-zinc-700 dark:bg-zinc-950">
|
||||
<div class="mb-3 flex items-start justify-between gap-3">
|
||||
<div>
|
||||
<p class="text-xs font-extrabold uppercase tracking-[0.16em] text-zinc-500 dark:text-zinc-400">Visibility</p>
|
||||
<p class="mt-1 text-sm font-semibold text-zinc-700 dark:text-zinc-200">Choose whether this response is customer visible.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($canSeeInternalNotes)
|
||||
<div class="grid gap-3 sm:grid-cols-2">
|
||||
<label class="flex cursor-pointer items-start gap-3 rounded-xl border border-emerald-300 bg-emerald-50 p-3 text-emerald-950 shadow-sm transition hover:bg-emerald-100 dark:border-emerald-900 dark:bg-emerald-950/60 dark:text-emerald-100">
|
||||
<input type="radio" name="internal" value="0" @checked(! old('internal')) class="mt-1 border-emerald-400 text-emerald-600 focus:ring-emerald-500">
|
||||
<span>
|
||||
<span class="block text-sm font-extrabold">Public reply</span>
|
||||
<span class="mt-1 block text-xs font-semibold opacity-80">Visible to the requester and counts as the first SLA response.</span>
|
||||
</span>
|
||||
</label>
|
||||
|
||||
<label class="flex cursor-pointer items-start gap-3 rounded-xl border border-purple-300 bg-purple-50 p-3 text-purple-950 shadow-sm transition hover:bg-purple-100 dark:border-purple-900 dark:bg-purple-950/60 dark:text-purple-100">
|
||||
<input type="radio" name="internal" value="1" @checked((bool) old('internal')) class="mt-1 border-purple-400 text-purple-600 focus:ring-purple-500">
|
||||
<span>
|
||||
<span class="block text-sm font-extrabold">Internal note</span>
|
||||
<span class="mt-1 block text-xs font-semibold opacity-80">MPBA/support-only note. Does not count as a public SLA response.</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
@else
|
||||
<input type="hidden" name="internal" value="0">
|
||||
<div class="rounded-xl border border-emerald-300 bg-emerald-50 p-3 text-sm font-semibold text-emerald-950 dark:border-emerald-900 dark:bg-emerald-950/60 dark:text-emerald-100">
|
||||
<i class="fa-solid fa-envelope-circle-check mr-2" aria-hidden="true"></i>
|
||||
This will be posted as a public reply and will count towards the first-response SLA.
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
<div class="flex justify-end">
|
||||
|
||||
@@ -111,7 +111,10 @@
|
||||
@endif
|
||||
@if ($isInternal)
|
||||
<span
|
||||
class="rounded-full bg-red-600 px-2.5 py-1 text-[11px] font-extrabold uppercase tracking-wide text-white">Internal</span>
|
||||
class="rounded-full bg-purple-600 px-2.5 py-1 text-[11px] font-extrabold uppercase tracking-wide text-white">Internal</span>
|
||||
@else
|
||||
<span
|
||||
class="rounded-full bg-emerald-600 px-2.5 py-1 text-[11px] font-extrabold uppercase tracking-wide text-white">Public</span>
|
||||
@endif
|
||||
</div>
|
||||
<div
|
||||
@@ -216,16 +219,39 @@
|
||||
class="block w-full rounded-xl border border-zinc-300 bg-white p-3 text-sm text-zinc-900 shadow-sm focus:border-blue-500 focus:ring-blue-500 dark:border-zinc-700 dark:bg-zinc-950 dark:text-zinc-100"
|
||||
placeholder="Write a threaded Lotus Notes-style response..."></textarea>
|
||||
|
||||
@can('update', $currentTicket)
|
||||
@if ($canSeeInternalNotes)
|
||||
<label
|
||||
class="mt-3 flex items-center gap-2 text-sm font-semibold text-zinc-700 dark:text-zinc-200">
|
||||
<input type="checkbox" name="internal" value="1"
|
||||
class="rounded border-zinc-300">
|
||||
MPBA internal note only
|
||||
</label>
|
||||
@endif
|
||||
@endcan
|
||||
<div class="mt-4 rounded-xl border border-zinc-200 bg-white p-3 shadow-sm dark:border-zinc-700 dark:bg-zinc-950">
|
||||
<p class="text-xs font-extrabold uppercase tracking-[0.16em] text-zinc-500 dark:text-zinc-400">Visibility</p>
|
||||
|
||||
@can('update', $currentTicket)
|
||||
@if ($canSeeInternalNotes)
|
||||
<div class="mt-3 grid gap-3 sm:grid-cols-2">
|
||||
<label class="flex cursor-pointer items-start gap-3 rounded-xl border border-emerald-300 bg-emerald-50 p-3 text-emerald-950 shadow-sm transition hover:bg-emerald-100 dark:border-emerald-900 dark:bg-emerald-950/60 dark:text-emerald-100">
|
||||
<input type="radio" name="internal" value="0" checked class="mt-1 border-emerald-400 text-emerald-600 focus:ring-emerald-500">
|
||||
<span>
|
||||
<span class="block text-sm font-extrabold">Public reply</span>
|
||||
<span class="mt-1 block text-xs font-semibold opacity-80">Visible to the requester and counts towards SLA.</span>
|
||||
</span>
|
||||
</label>
|
||||
|
||||
<label class="flex cursor-pointer items-start gap-3 rounded-xl border border-purple-300 bg-purple-50 p-3 text-purple-950 shadow-sm transition hover:bg-purple-100 dark:border-purple-900 dark:bg-purple-950/60 dark:text-purple-100">
|
||||
<input type="radio" name="internal" value="1" class="mt-1 border-purple-400 text-purple-600 focus:ring-purple-500">
|
||||
<span>
|
||||
<span class="block text-sm font-extrabold">Internal note</span>
|
||||
<span class="mt-1 block text-xs font-semibold opacity-80">Support-only note. Does not count as public SLA response.</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
@else
|
||||
<input type="hidden" name="internal" value="0">
|
||||
<div class="mt-3 rounded-xl border border-emerald-300 bg-emerald-50 p-3 text-sm font-semibold text-emerald-950 dark:border-emerald-900 dark:bg-emerald-950/60 dark:text-emerald-100">
|
||||
<i class="fa-solid fa-envelope-circle-check mr-2" aria-hidden="true"></i>
|
||||
This threaded response will be public.
|
||||
</div>
|
||||
@endif
|
||||
@else
|
||||
<input type="hidden" name="internal" value="0">
|
||||
@endcan
|
||||
</div>
|
||||
|
||||
<details
|
||||
class="mt-4 overflow-hidden rounded-xl border border-zinc-200 bg-white/80 shadow-sm dark:border-zinc-800 dark:bg-zinc-950/50">
|
||||
|
||||
@@ -41,3 +41,12 @@
|
||||
changes:
|
||||
- Updated the active End timer action with the same minimum width and no-wrap text treatment as the Start timer button.
|
||||
- Preserved the inline timer updater and avoided adding unused standalone JavaScript files.
|
||||
- version: 1.9.34
|
||||
date: 2026-06-23
|
||||
type: bugfix
|
||||
summary: Add explicit public/internal response controls to Helpdesk ticket conversations.
|
||||
changes:
|
||||
- Added a clear Public reply versus Internal note visibility selector to the main ticket response form.
|
||||
- Added the same visibility selector to threaded response forms so replies can be made public deliberately.
|
||||
- Added public/internal badges to conversation entries so response visibility is obvious after posting.
|
||||
- Preserved append-only changelog history and avoided adding unused JavaScript or orphan files.
|
||||
|
||||
@@ -22,5 +22,5 @@
|
||||
"Modules\\Helpdesk\\Providers\\HelpdeskServiceProvider"
|
||||
],
|
||||
"files": [],
|
||||
"version": "1.9.33"
|
||||
"version": "1.9.34"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user