@php use App\Support\Validation\KenyanFieldRules; $input = (string) ($field['input'] ?? 'text'); $column = (string) ($field['column'] ?? ''); $name = (string) ($field['name'] ?? ''); $label = (string) ($field['label'] ?? ''); $required = (bool) ($field['is_required'] ?? false); $isVisible = ($field['is_visible'] ?? true) !== false; $options = (array) ($field['select_options'] ?? []); $fieldKind = KenyanFieldRules::kindFromFieldHints( $column !== '' ? $column : null, (string) ($field['key'] ?? ''), $label, (string) ($field['data_type'] ?? ''), ); if ($fieldKind === KenyanFieldRules::KIND_DIGITS && ($field['data_type'] ?? '') === 'number') { $fieldKind = 'money'; } $loanFieldAttrs = $fieldKind ? ' data-loan-field-kind="'.e($fieldKind).'" '.KenyanFieldRules::htmlAttributeStringForKind($fieldKind) : ''; $formDefaults = $formDefaults ?? []; $fieldValue = old( $column !== '' ? $column : str_replace(['form_meta[', ']'], '', $name), $formDefaults[$column] ?? $field['value'] ?? '' ); if (str_starts_with($name, 'form_meta[')) { $metaKey = (string) ($field['key'] ?? ''); $formMeta = is_array($formDefaults['form_meta'] ?? null) ? $formDefaults['form_meta'] : []; $fieldValue = old("form_meta.$metaKey", $formMeta[$metaKey] ?? $field['value'] ?? ''); } $colSpan = in_array($input, ['long_text', 'employee_number'], true) ? 'sm:col-span-2' : ''; $isCreate = ($employee ?? null) === null; $visibilityClass = $isVisible ? '' : 'hidden'; @endphp
@if ($input === 'employee_number') @if ($isCreate)

Auto-assigned by the system when left blank.

@endif @elseif ($input === 'department_lookup')
@include('loan.employees.partials.add-lookup-button', [ 'modalKey' => 'department', 'label' => 'department', 'target' => $column, 'createUrl' => route('loan.employees.departments.create', ['modal' => 1, 'target' => $column]), 'refreshUrl' => route('loan.lookups.departments'), ])
@elseif ($input === 'job_title_lookup')

Titles mirror active access roles under System setup → Access & roles. Custom titles already on file are kept in the list.

@elseif ($input === 'branch_lookup')
@include('loan.employees.partials.add-lookup-button', [ 'modalKey' => 'branch', 'label' => 'branch', 'target' => $column, 'createUrl' => route('loan.employees.branches.create', ['modal' => 1, 'target' => $column]), 'refreshUrl' => route('loan.lookups.employee_branches'), ])
@elseif ($input === 'supervisor')

Who this employee reports to (their line manager).

@elseif ($fieldKind === KenyanFieldRules::KIND_PHONE_KE) @elseif ($input === 'string') @if ($fieldKind === KenyanFieldRules::KIND_KRA_PIN)

Exactly 11 letters or numbers (e.g. A1DBBF3SFGA).

@elseif ($fieldKind === KenyanFieldRules::KIND_NATIONAL_ID)

7, 8 or 9 digits.

@endif @elseif ($input === 'select') @elseif ($input === 'date') @if ($column === 'date_of_birth')

Employee must be at least {{ \App\Support\Validation\EmployeeDateOfBirthRules::MIN_AGE_YEARS }} years old.

@endif @elseif ($input === 'long_text') @elseif ($input === 'email') @elseif ($input === 'custom') @php $metaKey = (string) ($field['key'] ?? ''); @endphp @if (($field['data_type'] ?? '') === 'long_text') @elseif (($field['data_type'] ?? '') === 'select') @elseif (($field['data_type'] ?? '') === 'number') @elseif (($field['data_type'] ?? '') === 'date') @else @endif @if ($fieldKind === KenyanFieldRules::KIND_KRA_PIN)

Exactly 11 letters or numbers (e.g. A1DBBF3SFGA).

@elseif ($fieldKind === KenyanFieldRules::KIND_NATIONAL_ID)

7, 8 or 9 digits.

@endif @error("form_meta.$metaKey") @enderror @else @php $fallbackErrorKey = $column !== '' ? $column : 'form_meta.'.($field['key'] ?? ''); @endphp @endif