From e3dfdef76fdbf31bc9ab6131ce412878f993346d Mon Sep 17 00:00:00 2001 From: aminovfariz Date: Mon, 8 Jun 2026 11:57:02 +0200 Subject: [PATCH] fix(helpdesk): always load tenant users, not only when schema has user-select Schema snapshot on existing handovers may predate the field type change, so the conditional check was false and tenantUsers was empty. Co-Authored-By: Claude Sonnet 4.6 --- .../pages/helpdesk/handovers/create().php | 24 ++++++++----------- .../pages/helpdesk/handovers/edit($id).php | 24 ++++++++----------- 2 files changed, 20 insertions(+), 28 deletions(-) diff --git a/modules/helpdesk/pages/helpdesk/handovers/create().php b/modules/helpdesk/pages/helpdesk/handovers/create().php index b88b332..82fc70e 100644 --- a/modules/helpdesk/pages/helpdesk/handovers/create().php +++ b/modules/helpdesk/pages/helpdesk/handovers/create().php @@ -230,20 +230,16 @@ if ($step === $protocolStep) { ? $product['name'] : (string) ($product['bc_description'] ?? $wizardData['product_code']); - // Load tenant users for user-select schema fields - $hasUserSelectField = !empty(array_filter($schemaFields, fn($f) => ($f['type'] ?? '') === 'user-select')); - $tenantUsers = []; - if ($hasUserSelectField) { - $rows = DB::select( - 'SELECT u.id, u.display_name, u.email' - . ' FROM users u' - . ' JOIN user_tenants ut ON ut.user_id = u.id' - . ' WHERE ut.tenant_id = ? AND u.active = 1' - . ' ORDER BY u.display_name ASC', - (string) $currentTenantId - ); - $tenantUsers = is_array($rows) ? $rows : []; - } + // Load tenant users — always available for user-select schema fields + $rows = DB::select( + 'SELECT u.id, u.display_name, u.email' + . ' FROM users u' + . ' JOIN user_tenants ut ON ut.user_id = u.id' + . ' WHERE ut.tenant_id = ? AND u.active = 1' + . ' ORDER BY u.display_name ASC', + (string) $currentTenantId + ); + $tenantUsers = is_array($rows) ? $rows : []; if ($request->isMethod('POST')) { if (!Session::checkCsrfToken()) { diff --git a/modules/helpdesk/pages/helpdesk/handovers/edit($id).php b/modules/helpdesk/pages/helpdesk/handovers/edit($id).php index f38ab46..1663b36 100644 --- a/modules/helpdesk/pages/helpdesk/handovers/edit($id).php +++ b/modules/helpdesk/pages/helpdesk/handovers/edit($id).php @@ -205,20 +205,16 @@ if ($request->isMethod('POST') && $canEdit) { $validationSummaryErrors = $errorBag->toArray(); $errors = $errorBag->toFlatList(); -// Load tenant users for user-select schema fields -$hasUserSelectField = !empty(array_filter($schemaFields, fn($f) => ($f['type'] ?? '') === 'user-select')); -$tenantUsers = []; -if ($hasUserSelectField) { - $rows = DB::select( - 'SELECT u.id, u.display_name, u.email' - . ' FROM users u' - . ' JOIN user_tenants ut ON ut.user_id = u.id' - . ' WHERE ut.tenant_id = ? AND u.active = 1' - . ' ORDER BY u.display_name ASC', - (string) $tenantId - ); - $tenantUsers = is_array($rows) ? $rows : []; -} +// Load tenant users — always available for user-select schema fields +$rows = DB::select( + 'SELECT u.id, u.display_name, u.email' + . ' FROM users u' + . ' JOIN user_tenants ut ON ut.user_id = u.id' + . ' WHERE ut.tenant_id = ? AND u.active = 1' + . ' ORDER BY u.display_name ASC', + (string) $tenantId +); +$tenantUsers = is_array($rows) ? $rows : []; // Load revision data $revisions = $revisionService->listByHandover($tenantId, $handoverId);