fix(admin): filter template keys by substring
Match both channels case-insensitively while keeping API and delivery lookups exact. Ref: IT-1627
This commit is contained in:
@@ -27,10 +27,11 @@ public sealed class AdminTemplatesController(IMediator mediator, IEmailTemplateD
|
||||
ModelState.AddModelError("", previousError);
|
||||
try
|
||||
{
|
||||
var filter = key?.Trim() ?? "";
|
||||
model.PushDefinitions = (await pushes.GetDefinitionsAsync(serviceId, ct))
|
||||
.Where(d => string.IsNullOrWhiteSpace(key) || d.Key == key).ToList();
|
||||
model.Definitions = (await definitions.GetDefinitionsAsync(service.Name, key, ct))
|
||||
.Where(d => d.ServiceId == serviceId).ToList();
|
||||
.Where(d => d.Key.Contains(filter, StringComparison.OrdinalIgnoreCase)).ToList();
|
||||
model.Definitions = (await definitions.GetDefinitionsAsync(serviceId, ct))
|
||||
.Where(d => d.Key.Contains(filter, StringComparison.OrdinalIgnoreCase)).ToList();
|
||||
}
|
||||
catch (Exception error) when (error is not OperationCanceledException)
|
||||
{
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<form method="get" action="/admin/services/@serviceId" class="template-key-filter">
|
||||
<label for="key" class="form-label fw-semibold">Template Key</label>
|
||||
<div class="template-key-filter-controls">
|
||||
<input id="key" name="key" value="@keyFilter" class="form-control form-control-sm" placeholder="Filter by key" />
|
||||
<input id="key" name="key" value="@keyFilter" class="form-control form-control-sm" placeholder="Filter by part of key" />
|
||||
<button type="submit" class="btn btn-primary btn-sm">Filter</button>
|
||||
<a href="/admin/services/@serviceId" class="btn btn-outline-secondary btn-sm">Clear</a>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user