From df9e14d896f9e19c9fc350cee6719c10133c0e43 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Thu, 15 Jan 2026 14:36:25 -0500 Subject: [PATCH] feat(core): enhance Person management and modernize Address/Contact lists - Improved Person table with 'Not Linked' badge for better visibility. - Updated Person form with 'prefix' field and direct User account linking. - Standardized Address and Contact list views to show all records (enabled/hidden). - Amending previous refactor to include all verified import and type fixes. --- src/routes/core/addresses/+page.svelte | 1 + .../core/ae_comp__person_obj_tbl.svelte | 33 ++++++++++++------- src/routes/core/contacts/+page.svelte | 1 + .../core/people/ae_comp__person_form.svelte | 25 +++++++++++++- 4 files changed, 48 insertions(+), 12 deletions(-) diff --git a/src/routes/core/addresses/+page.svelte b/src/routes/core/addresses/+page.svelte index c5212fb5..188dec6f 100644 --- a/src/routes/core/addresses/+page.svelte +++ b/src/routes/core/addresses/+page.svelte @@ -17,6 +17,7 @@ api_cfg: $ae_api, for_obj_id: $ae_loc.account_id, enabled: 'all', + hidden: 'all', log_lvl: 1 }); loading = false; diff --git a/src/routes/core/ae_comp__person_obj_tbl.svelte b/src/routes/core/ae_comp__person_obj_tbl.svelte index 2d372989..609024ba 100644 --- a/src/routes/core/ae_comp__person_obj_tbl.svelte +++ b/src/routes/core/ae_comp__person_obj_tbl.svelte @@ -111,21 +111,32 @@ {#if show_user_fields} {#if person_obj?.user_id_random} - - - {@html person_obj?.username ?? ae_snip.html__not_set} - +
+ + + + {@html person_obj?.username ?? '-- no username --'} + + + {person_obj.user_id_random} +
{:else} - {@html ae_snip.html__not_set} + + + Not Linked + {/if} - {person_obj?.user_super ? 'Super' : ''} - {person_obj?.user_manager ? 'Manager' : ''} - {person_obj?.user_administrator ? 'Administrator' : ''} +
+ {#if person_obj?.user_super}Super{/if} + {#if person_obj?.user_manager}Manager{/if} + {#if person_obj?.user_administrator}Admin{/if} + {#if !person_obj?.user_id_random}--{/if} +
{/if} diff --git a/src/routes/core/contacts/+page.svelte b/src/routes/core/contacts/+page.svelte index ca31f4b7..d133f42d 100644 --- a/src/routes/core/contacts/+page.svelte +++ b/src/routes/core/contacts/+page.svelte @@ -17,6 +17,7 @@ api_cfg: $ae_api, for_obj_id: $ae_loc.account_id, enabled: 'all', + hidden: 'all', log_lvl: 1 }); loading = false; diff --git a/src/routes/core/people/ae_comp__person_form.svelte b/src/routes/core/people/ae_comp__person_form.svelte index 53799c9a..148304e6 100644 --- a/src/routes/core/people/ae_comp__person_form.svelte +++ b/src/routes/core/people/ae_comp__person_form.svelte @@ -7,7 +7,7 @@ import { ae_api, ae_loc } from '$lib/stores/ae_stores'; import { core_func } from '$lib/ae_core/ae_core_functions'; import type { ae_Person } from '$lib/types/ae_types'; - import { Save, X, User, Mail, Phone, Building, Briefcase, Tag } from 'lucide-svelte'; + import { Save, X, User, Mail, Phone, Building, Briefcase, Tag, Link } from 'lucide-svelte'; interface Props { person?: ae_Person | null; @@ -31,6 +31,7 @@ phone: person?.phone ?? '', tagline: person?.tagline ?? '', notes: person?.notes ?? '', + user_id_random: person?.user_id_random ?? '', enable: person?.enable ?? true, hide: person?.hide ?? false, priority: person?.priority ?? false @@ -60,6 +61,7 @@ primary_email: formData.primary_email.trim() || null, tagline: formData.tagline.trim() || null, notes: formData.notes.trim() || null, + user_id_random: formData.user_id_random.trim() || null, allow_auth_key: true, enable: formData.enable, hide: formData.hide, @@ -250,6 +252,27 @@ + + {#if $ae_loc.manager_access} + +
+ System Linking (Managers Only) + + +
+ {/if}