diff --git a/src/lib/ae_core__person.ts b/src/lib/ae_core__person.ts
index 0064e528..fd9c9602 100644
--- a/src/lib/ae_core__person.ts
+++ b/src/lib/ae_core__person.ts
@@ -273,6 +273,8 @@ export function handle_db_save_ae_obj_li__person(
agree: obj.agree,
comments: obj.comments,
+ allow_auth_key: obj.allow_auth_key, // For sign in without password
+ // auth_key: obj.auth_key,
passcode: obj.passcode,
data_json: obj.data_json,
diff --git a/src/lib/ae_core_functions.ts b/src/lib/ae_core_functions.ts
index 842a2638..d024b745 100644
--- a/src/lib/ae_core_functions.ts
+++ b/src/lib/ae_core_functions.ts
@@ -7,7 +7,7 @@ import {
handle_load_ae_obj_id__person,
handle_load_ae_obj_li__person,
handle_create_ae_obj__person,
- // handle_update_ae_obj__person,
+ handle_update_ae_obj__person,
// handle_db_save_ae_obj_li__person
} from "$lib/ae_core__person";
@@ -369,6 +369,7 @@ let export_obj = {
handle_load_ae_obj_id__person: handle_load_ae_obj_id__person,
handle_load_ae_obj_li__person: handle_load_ae_obj_li__person,
handle_create_ae_obj__person: handle_create_ae_obj__person,
+ handle_update_ae_obj__person: handle_update_ae_obj__person,
handle_update_ae_obj_id_crud: handle_update_ae_obj_id_crud,
handle_download_export__obj_type: handle_download_export__obj_type,
generate_qr_code: generate_qr_code
diff --git a/src/lib/db_core.ts b/src/lib/db_core.ts
index fd913541..a8b233a0 100644
--- a/src/lib/db_core.ts
+++ b/src/lib/db_core.ts
@@ -44,6 +44,8 @@ export interface Person {
agree?: null|boolean;
comments?: null|string;
+ allow_auth_key?: null|boolean; // For sign in without password
+ auth_key?: null|string;
passcode?: null|string;
data_json?: null|string;
diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts
index 69079c84..fe59bb65 100644
--- a/src/lib/db_events.ts
+++ b/src/lib/db_events.ts
@@ -28,11 +28,11 @@ export interface Event {
timezone: null|string;
location_address_json: null|string;
- mod_abstracts_json: null|string;
- mod_badges_json: null|string;
- mod_exhibits_json: null|string;
- mod_pres_mgmt_json: null|string;
- cfg_json: string;
+ mod_abstracts_json: null|key_val;
+ mod_badges_json: null|key_val;
+ mod_exhibits_json: null|key_val;
+ mod_pres_mgmt_json: null|key_val;
+ cfg_json: null|key_val;
enable: null|boolean;
hide: null|boolean;
diff --git a/src/routes/core/+page.svelte b/src/routes/core/+page.svelte
index 39db535d..28f715b0 100644
--- a/src/routes/core/+page.svelte
+++ b/src/routes/core/+page.svelte
@@ -125,16 +125,21 @@ let person_id_random_li: string[] = [];
type="button"
on:click={async () => {
console.log('Add Person');
+ if (!confirm(`Add a new person to the account?\n${$ae_loc.account_name}\nID: ${$slct.account_id}`)) {
+ return;
+ }
let person_data = {
account_id_random: $slct.account_id,
// user_id_random: user_obj.user_id_random,
- source_code: 'manual:SK',
+ source_code: 'manual:SK-core',
given_name: 'New',
family_name: 'Person',
- professional_title: 'Temp Prof Title',
- affiliations: 'Temp Org',
- primary_email: 'tmp+person@oneskyit.com',
+ // professional_title: 'Temp Prof Title',
+ // affiliations: 'Temp Org',
+ // primary_email: 'tmp+person@oneskyit.com',
+ // allow_auth_key: false,
+ auth_key: Math.floor(Math.random() * 90000000) + 10000000,
// Random number between 100000 and 999999
passcode: Math.floor(Math.random() * 900000) + 100000,
enable: true,
@@ -149,10 +154,9 @@ let person_id_random_li: string[] = [];
console.log('new_person_obj:', new_person_obj);
- if (confirm(`Person created: ${new_person_obj.full_name} (${new_person_obj.primary_email})`)) {
+ if (confirm(`Person created:\n${new_person_obj.full_name} (${new_person_obj.primary_email ?? 'no email'})\nID: ${new_person_obj.person_id_random}\n\nView this person?`)) {
// window.location.reload();
// invalidateAll();
- // goto(`/core/person/${new_person_obj.person_id_random}`);
goto(`/core/person/${new_person_obj.person_id_random}`, { replaceState: true });
// pushState(`/core/person/${new_person_obj.person_id_random}`, { replace: true });
// replaceState(`/core/person/${new_person_obj.person_id_random}`);
diff --git a/src/routes/core/ae_comp__person_obj_tbl.svelte b/src/routes/core/ae_comp__person_obj_tbl.svelte
index 7ad0cc8f..67f356d3 100644
--- a/src/routes/core/ae_comp__person_obj_tbl.svelte
+++ b/src/routes/core/ae_comp__person_obj_tbl.svelte
@@ -64,21 +64,25 @@ let lq_kv__person_obj_li = liveQuery(
href="/core/person/{person_obj?.person_id_random}"
class="text-blue-500 underline hover:text-blue-800"
>
- {person_obj?.full_name}
+ {@html person_obj?.full_name ?? ae_snip.html__not_set}
+ {#if person_obj?.primary_email}
- {person_obj?.primary_email}
+ {@html person_obj?.primary_email ?? ae_snip.html__not_set}
+ {:else}
+ {@html ae_snip.html__not_set}
+ {/if}
|
- {person_obj?.affiliations}
+ {@html person_obj?.affiliations ?? ae_snip.html__not_set}
|
{#if show_user_fields}
@@ -89,7 +93,7 @@ let lq_kv__person_obj_li = liveQuery(
href="/core/user/{person_obj?.user_id_random}"
class="text-blue-500 underline hover:text-blue-800"
>
- {person_obj?.username ?? '-- not set --'}
+ {@html person_obj?.username ?? 'username'+ae_snip.html__not_set}
{:else}
{@html ae_snip.html__not_set}
diff --git a/src/routes/core/person_view.svelte b/src/routes/core/person_view.svelte
index 64203b3e..3c420e85 100644
--- a/src/routes/core/person_view.svelte
+++ b/src/routes/core/person_view.svelte
@@ -12,10 +12,9 @@ import { ae_util } from '$lib/ae_utils';
import { api } from '$lib/api';
import Element_ae_crud from '$lib/element_ae_crud.svelte';
// import Element_data_store from '$lib/element_data_store.svelte';
-// import Element_manage_event_file_li from '$lib/element_manage_event_file_li.svelte';
import { core_func } from '$lib/ae_core_functions';
-import { ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
+import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
import { db_core } from "$lib/db_core";
// import { db_events } from "$lib/db_events";
// import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores';
@@ -28,6 +27,7 @@ export let display_mode: string = 'default'; // 'default', 'compact', 'minimal',
let ae_placeholder_li: key_val = {};
let ae_promises: key_val = {}; // Promise;
let ae_tmp: key_val = {};
+ae_tmp.value__hide = null;
let ae_triggers: key_val = {};
@@ -36,10 +36,12 @@ let lq__person_obj = liveQuery(
async () => await db_core.person.get(person_id)
);
-// ae_tmp.biography = null;
-// $: if ($lq__person_obj?.biography && ae_tmp.biography === null) {
-// ae_tmp.biography = JSON.parse(JSON.stringify($lq__person_obj.biography));
-// }
+ae_tmp.value__data_json = null;
+$: if ($lq__person_obj?.data_json && ae_tmp.value__data_json === null) {
+ ae_tmp.value__data_json = JSON.stringify($lq__person_obj.data_json, null, 4);
+ // ae_tmp.value__data_json = JSON.parse(JSON.stringify($lq__person_obj.data_json));
+ // JSON.stringify(jsObj, null, 4);
+}
// $events_slct.person_obj = $lq__person_obj;
@@ -64,9 +66,9 @@ onMount(() => {
{#if $lq__person_obj}
- Presenter Details for:
+ Person Details for:
- {$lq__person_obj.full_name}
+ "{$lq__person_obj.full_name}"
@@ -103,7 +105,7 @@ onMount(() => {
External ID:
- {$lq__person_obj.external_id ?? '-- external_id not set --'}
+ {@html $lq__person_obj.external_id ?? ae_snip.html__not_set}
@@ -119,7 +121,7 @@ onMount(() => {
field_type={'text'}
field_value={$lq__person_obj.external_sys_id}
allow_null={false}
- hide_edit_btn={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
+ hide_edit_btn={!$ae_loc.administrator_access || !$ae_loc.edit_mode}
outline_element={false}
show_crud={false}
display_inline={true}
@@ -134,10 +136,10 @@ onMount(() => {
});
}}
>
-
+
External System ID:
- {$lq__person_obj.external_sys_id ?? '-- external_sys_id not set --'}
+ {@html $lq__person_obj.external_sys_id ?? ae_snip.html__not_set}
@@ -170,7 +172,7 @@ onMount(() => {
}}
>
- {$lq__person_obj.given_name}
+ {@html $lq__person_obj.given_name ?? ae_snip.html__not_set}
{
}}
>
- {$lq__person_obj.family_name}
+ {@html $lq__person_obj.family_name ?? ae_snip.html__not_set}
@@ -227,13 +229,17 @@ onMount(() => {
>
-
- {$lq__person_obj.primary_email}
-
+ {#if $lq__person_obj.primary_email}
+
+ {@html $lq__person_obj.primary_email ?? 'email'+ae_snip.html__not_set}'
+
+ {:else}
+ email {@html ae_snip.html__not_set}
+ {/if}
@@ -263,7 +269,7 @@ onMount(() => {
>
- {$lq__person_obj.affiliations ?? '-- affiliations not set --'}
+ {@html $lq__person_obj.affiliations ?? 'affiliations'+ae_snip.html__not_set}
@@ -293,7 +299,7 @@ onMount(() => {
>
- {$lq__person_obj.professional_title && $lq__person_obj.professional_title.length ? $lq__person_obj.professional_title : '-- professional title not set --'}
+ {@html $lq__person_obj.professional_title && $lq__person_obj.professional_title.length ? $lq__person_obj.professional_title : 'professional title'+ae_snip.html__not_set}
@@ -327,9 +333,271 @@ onMount(() => {
- {$lq__person_obj.passcode ?? '-- passcode not set --'}
+ {@html $lq__person_obj.passcode ?? 'passcode'+ae_snip.html__not_set}
+
+
+
+
+ {
+ console.log(`ae_crud_updated:`, e.detail);
+
+ core_func.handle_load_ae_obj_id__person({api_cfg: $ae_api, person_id: $lq__person_obj?.person_id_random, log_lvl: 1})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
+ >
+ {#if $ae_loc.trusted_access}
+ {($lq__person_obj?.hide ? 'Hidden' : 'Not Hidden')}
+ {/if}
+
+
+
+
+
+ {
+ console.log(`ae_crud_updated:`, e.detail);
+
+ core_func.handle_load_ae_obj_id__person({api_cfg: $ae_api, person_id: $lq__person_obj?.person_id_random, log_lvl: 1})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
+ >
+ {#if $ae_loc.trusted_access}
+ {($lq__person_obj?.enable ? 'Enabled' : 'Disabled')}
+ {/if}
+
+
+
+
+
+ {
+ console.log(`ae_crud_updated:`, e.detail);
+
+ core_func.handle_load_ae_obj_id__person({api_cfg: $ae_api, person_id: $lq__person_obj?.person_id_random, log_lvl: 1})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
+ >
+ {#if $ae_loc.trusted_access}
+ {($lq__person_obj?.priority ? 'Priority' : 'Not Priority')}
+ {/if}
+
+
+
+
+
+ {
+ console.log(`ae_crud_updated:`, e.detail);
+
+ core_func.handle_load_ae_obj_id__person({api_cfg: $ae_api, person_id: $lq__person_obj?.person_id_random, log_lvl: 1})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
+ >
+ {#if $ae_loc.trusted_access}
+ {($lq__person_obj?.allow_auth_key ? 'Allow Auth Key' : 'Not Allow Auth Key')}
+ {/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JSON length: {(ae_tmp.value__data_json ? ae_util.number_w_commas(ae_tmp.value__data_json.length) : 0)} characters
+
+
+
+
+
+
+
diff --git a/src/routes/events_pres_mgmt/presenter_view.svelte b/src/routes/events_pres_mgmt/presenter_view.svelte
index b00a6ca7..3a223a64 100644
--- a/src/routes/events_pres_mgmt/presenter_view.svelte
+++ b/src/routes/events_pres_mgmt/presenter_view.svelte
@@ -15,12 +15,11 @@ import Element_ae_crud from '$lib/element_ae_crud.svelte';
import Element_manage_event_file_li from '$lib/element_manage_event_file_li.svelte';
import { core_func } from '$lib/ae_core_functions';
-import { ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
+import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
import { db_events } from "$lib/db_events";
import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores';
import { events_func } from '$lib/ae_events_functions';
- import { handle_load_ae_obj_id__event_presentation } from '$lib/ae_events__event_presentation';
- import { handle_load_ae_obj_id__event_presenter } from '$lib/ae_events__event_presenter';
+
// Exports
export let event_presenter_id: string;
@@ -485,11 +484,11 @@ $: if ($lq__event_presenter_obj) {
});
}}
>
+
{$lq__event_obj?.mod_pres_mgmt_json?.external_id_label ?? 'External ID'}:
- {$lq__event_presenter_obj?.external_id ?? '-- not set --'}
+ {@html $lq__event_presenter_obj?.external_id ?? ae_snip.html__not_set}
-
{#if $lq__event_presenter_obj.external_id != $lq__event_presenter_obj.person_external_id}
@@ -520,7 +519,7 @@ $: if ($lq__event_presenter_obj) {
Person External ID:
- {$lq__event_presenter_obj.person_external_id ?? '-- not set --'}
+ {@html $lq__event_presenter_obj.person_external_id ?? ae_snip.html__not_set}
@@ -646,7 +645,7 @@ $: if ($lq__event_presenter_obj) {
field_name={'email'}
field_type={'text'}
field_value={$lq__event_presenter_obj.email}
- allow_null={false}
+ allow_null={true}
hide_edit_btn={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
outline_element={false}
show_crud={false}
@@ -664,15 +663,20 @@ $: if ($lq__event_presenter_obj) {
>
- {$lq__event_presenter_obj.email}
+ {#if $lq__event_presenter_obj.email}
+ {$lq__event_presenter_obj.email}
+ {:else}
+ email
+ {@html ae_snip.html__not_set}
+ {/if}
- {#if $lq__event_presenter_obj.person_primary_email != $lq__event_presenter_obj.email}
+ {#if $lq__event_presenter_obj.person_primary_email && $lq__event_presenter_obj.person_primary_email != $lq__event_presenter_obj.email}
- {$lq__event_presenter_obj.person_primary_email}
+ {:else}
+ email
+ {@html ae_snip.html__not_set}
+ {/if}
+
{#if $ae_loc.trusted_access}
@@ -780,7 +794,7 @@ $: if ($lq__event_presenter_obj) {
>
- {$lq__event_presenter_obj.affiliations ?? '-- affiliations not set --'}
+ {@html $lq__event_presenter_obj.affiliations ?? 'affiliations'+ae_snip.html__not_set}
@@ -808,7 +822,7 @@ $: if ($lq__event_presenter_obj) {
- {$lq__event_presenter_obj.person_affiliations ?? '-- affiliations not set --'}
+ {@html $lq__event_presenter_obj.person_affiliations ?? 'affiliations'+ae_snip.html__not_set}
@@ -883,7 +897,7 @@ $: if ($lq__event_presenter_obj) {
>
- {$lq__event_presenter_obj.professional_title && $lq__event_presenter_obj.professional_title.length ? $lq__event_presenter_obj.professional_title : '-- professional title not set --'}
+ {@html $lq__event_presenter_obj.professional_title && $lq__event_presenter_obj.professional_title.length ? $lq__event_presenter_obj.professional_title : 'professional title'+ae_snip.html__not_set}
@@ -911,7 +925,7 @@ $: if ($lq__event_presenter_obj) {
- {$lq__event_presenter_obj.person_professional_title && $lq__event_presenter_obj.person_professional_title.length ? $lq__event_presenter_obj.person_professional_title : '-- professional title not set --'}
+ {@html $lq__event_presenter_obj.person_professional_title && $lq__event_presenter_obj.person_professional_title.length ? $lq__event_presenter_obj.person_professional_title : 'professional title'+ae_snip.html__not_set}
@@ -962,8 +976,10 @@ $: if ($lq__event_presenter_obj) {
+
+ Person link:
- {#if $ae_loc.administrator_access}
+ {#if $ae_loc.trusted_access}
-
+
- Person link
+
{#if $lq__event_presenter_obj.person_id_random}
+
{$lq__event_presenter_obj.person_id_random}
+
{:else}
- -- person not set --
+ person
+ {@html ae_snip.html__not_set}
{/if}
- {#if ae_tmp?.show__edit_person}
+ {#if $ae_loc.administrator_access && $ae_loc.edit_mode}
- {#await $slct.person_obj_li}
-
- {:then person_obj_li}
-
- {/await}
+ {#if ae_tmp?.show__edit_person}
-
+ {#await $slct.person_obj_li}
+
+ {:then person_obj_li}
+
+ {/await}
-
-
- {/if}
{/if}
@@ -1110,56 +1138,56 @@ $: if ($lq__event_presenter_obj) {
{/if}
{#if $ae_loc.administrator_access && !$lq__event_presenter_obj?.person_id_random}
- {
- console.log('Add Person');
+ {
+ console.log('Add Person');
- let person_data = {
- account_id_random: $slct.account_id,
- source_code: 'manual:SK',
- external_id: $lq__event_presenter_obj?.external_id?? 'AE-temp-ID',
- // user_id_random: user_obj.user_id_random,
- given_name: $lq__event_presenter_obj.given_name?? 'New',
- family_name: $lq__event_presenter_obj?.family_name?? 'Presenter',
- primary_email: $lq__event_presenter_obj?.email?? 'test+newpres@oneskyit.com',
- code: $lq__event_presenter_obj?.code?? 'new_presenter',
- // Random number between 100000 and 999999
- passcode: Math.floor(Math.random() * 900000) + 100000,
- professional_title: $lq__event_presenter_obj?.professional_title?? 'Presenter',
- affiliations: $lq__event_presenter_obj?.affiliations?? '',
- enable: true,
- }
+ let person_data = {
+ account_id_random: $slct.account_id,
+ source_code: 'manual:SK',
+ external_id: $lq__event_presenter_obj?.external_id?? 'AE-temp-ID',
+ // user_id_random: user_obj.user_id_random,
+ given_name: $lq__event_presenter_obj.given_name?? 'New',
+ family_name: $lq__event_presenter_obj?.family_name?? 'Presenter',
+ primary_email: $lq__event_presenter_obj?.email?? 'test+newpres@oneskyit.com',
+ code: $lq__event_presenter_obj?.code?? 'new_presenter',
+ // Random number between 100000 and 999999
+ passcode: Math.floor(Math.random() * 900000) + 100000,
+ professional_title: $lq__event_presenter_obj?.professional_title?? 'Presenter',
+ affiliations: $lq__event_presenter_obj?.affiliations?? '',
+ enable: true,
+ }
- let new_person_obj = await core_func.handle_create_ae_obj__person({
- api_cfg: $ae_api,
- // user_id: $ae_loc.user_id,
- data_kv: person_data,
- log_lvl: 0,
- })
+ let new_person_obj = await core_func.handle_create_ae_obj__person({
+ api_cfg: $ae_api,
+ // user_id: $ae_loc.user_id,
+ data_kv: person_data,
+ log_lvl: 0,
+ })
- console.log('new_person_obj:', new_person_obj);
+ console.log('new_person_obj:', new_person_obj);
- // We then need to update the event_presenter with the new person_id.
- events_func.handle_update_ae_obj__event_presenter({
- api_cfg: $ae_api,
- event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random,
- data_kv: {person_id_random: new_person_obj.person_id_random},
- log_lvl: 0,
- })
- }}
- class:hidden={!$ae_loc.edit_mode}
- class="btn btn-sm variant-soft-warning hover:variant-filled-warning"
- >
-
- Add Person
-
- {/if}
+ // We then need to update the event_presenter with the new person_id.
+ events_func.handle_update_ae_obj__event_presenter({
+ api_cfg: $ae_api,
+ event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random,
+ data_kv: {person_id_random: new_person_obj.person_id_random},
+ log_lvl: 0,
+ })
+ }}
+ class:hidden={!$ae_loc.edit_mode}
+ class="btn btn-sm variant-soft-warning hover:variant-filled-warning"
+ >
+
+ Add Person
+
+ {/if}
- {$lq__event_presenter_obj.person_passcode ?? '-- passcode not set --'}
+ {@html $lq__event_presenter_obj.person_passcode ?? ae_snip.html__not_set }
@@ -1209,7 +1237,7 @@ $: if ($lq__event_presenter_obj) {
- External Sys ID:
+ External System ID:
- {$lq__event_presenter_obj.person_external_sys_id ?? '-- external_sys_id not set --'}
+ {@html $lq__event_presenter_obj.person_external_sys_id ?? ae_snip.html__not_set}
diff --git a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte
index 72916fc8..1ecc2a03 100644
--- a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte
+++ b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte
@@ -797,9 +797,29 @@ $: if ($lq__event_session_obj) {
Moderator/Champion:
-
+ {#if $lq__event_session_obj?.poc_person_id_random}
+ {#if $ae_loc.trusted_access}
+
+ {@html $lq__event_session_obj.poc_person_full_name ? $lq__event_session_obj.poc_person_full_name : ae_snip.html__not_set}
+
+ {:else}
+
+ {@html $lq__event_session_obj.poc_person_full_name ? $lq__event_session_obj.poc_person_full_name : ae_snip.html__not_set}
+
+ {/if}
+ {:else}
+ {@html ae_snip.html__not_set}
+ {/if}
+
+
+
+
{#if $ae_loc.trusted_access && $ae_loc.edit_mode}