{{-- PC-IV Location: scheme read-only fields + editable Admin Dept / Executing Agency --}} @php $authShowExecuting = canField('pc-forms', 'executing_agency', 'view'); $authEditExecuting = canField('pc-forms', 'executing_agency', 'edit'); $authEditAdminDept = canField('pc-forms', 'project_brief_descriptions', 'edit'); $executingValue = old('executing_agency', $pcForm?->executing_agency ?? ($pciCrudDraftFill['executing_agency'] ?? '')); if ($executingValue !== '' && ! array_key_exists($executingValue, $agencyOptions ?? [])) { $agencyOptions = [$executingValue => $executingValue] + ($agencyOptions ?? []); } $pciIvForumFill = old('pc_iv_approval_forums'); if (! is_array($pciIvForumFill)) { $pciIvForumFill = $pcForm?->pc_iv_approval_forums ?? ($pciCrudDraftFill['pc_iv_approval_forums'] ?? []); if (! is_array($pciIvForumFill)) { $pciIvForumFill = []; } } $adminDeptSelected = trim((string) ($pciIvForumFill['administrative_department'] ?? '')); if ($adminDeptSelected === '' && ! empty($pcForm?->authoritiesResponsibility?->sponsoring_agency)) { $adminDeptSelected = trim((string) $pcForm->authoritiesResponsibility->sponsoring_agency); } $deptNameOptions = []; try { foreach (\App\Models\Core\Department::activeTopLevelSelectOptions() as $deptId => $deptName) { $name = trim((string) $deptName); if ($name !== '') { $deptNameOptions[$name] = $name; } } } catch (\Throwable $e) { $deptNameOptions = []; } if ($adminDeptSelected !== '' && ! array_key_exists($adminDeptSelected, $deptNameOptions)) { $deptNameOptions = [$adminDeptSelected => $adminDeptSelected] + $deptNameOptions; } @endphp