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} + + + + +
  • +
    + + + + +
    + +

    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} - - + + {:else} + + - {:else} - - - + {/if} + + {/if} - ae_tmp.person_id = $lq__event_presenter_obj?.person_id_random; - ae_tmp.show__edit_person = true; - }} - class="btn btn-sm variant-soft-warning hover:variant-ghost-warning" - > - - Edit - - {/if} {/if} @@ -1110,56 +1138,56 @@ $: if ($lq__event_presenter_obj) { {/if} {#if $ae_loc.administrator_access && !$lq__event_presenter_obj?.person_id_random} - - {/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}