|
|
|
|
@@ -19,6 +19,8 @@ import { ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_st
|
|
|
|
|
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;
|
|
|
|
|
@@ -33,6 +35,10 @@ ae_tmp.show__file_li = true;
|
|
|
|
|
|
|
|
|
|
let ae_triggers: key_val = {};
|
|
|
|
|
|
|
|
|
|
let lq__event_obj = liveQuery(
|
|
|
|
|
() => db_events.events.get($events_slct.event_id)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// let lq__event_session_obj = liveQuery(
|
|
|
|
|
// () => db_events.sessions.get($events_slct.event_session_id)
|
|
|
|
|
// );
|
|
|
|
|
@@ -463,7 +469,7 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.external_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}
|
|
|
|
|
@@ -479,11 +485,88 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
External ID:
|
|
|
|
|
{$lq__event_obj?.mod_pres_mgmt_json?.external_id_label ?? 'External ID'}:
|
|
|
|
|
<span class="font-bold">
|
|
|
|
|
{$lq__event_presenter_obj?.external_id ?? '-- not set --'}
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
{#if $lq__event_presenter_obj.external_id != $lq__event_presenter_obj.person_external_id}
|
|
|
|
|
<div>
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'external_id'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.person_external_id}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={!$ae_loc.administrator_access || !$ae_loc.edit_mode}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-star-of-life"></span>
|
|
|
|
|
Person External ID:
|
|
|
|
|
<span class="font-bold">
|
|
|
|
|
{$lq__event_presenter_obj.person_external_id ?? '-- not set --'}
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
trigger_patch={ae_triggers.update_person_external_id}
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'external_id'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.external_id}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={true}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
on:click={() => {
|
|
|
|
|
console.log('*** Sync external ID button clicked ***');
|
|
|
|
|
if (!confirm('Are you sure you want to sync the external IDs?')) {return false;}
|
|
|
|
|
|
|
|
|
|
ae_triggers.update_person_external_id = true;
|
|
|
|
|
}}
|
|
|
|
|
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
|
|
|
|
|
title="Use the external ID from this presenter record to overwrite the person record."
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-sync-alt mx-1"></span>
|
|
|
|
|
Sync
|
|
|
|
|
</button>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
</div>
|
|
|
|
|
{/if}
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
<span class="fas fa-user"></span>
|
|
|
|
|
<!-- {#if !$events_sess.pres_mgmt.show_edit__event_presenter_name}
|
|
|
|
|
@@ -552,6 +635,7 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li
|
|
|
|
|
class:hidden={!$ae_loc.trusted_access && !$events_loc.auth__kv.presenter[$lq__event_presenter_obj.event_presenter_id_random] && !$events_loc.auth__kv.session[$lq__event_presenter_obj.event_session_id_random]}
|
|
|
|
|
>
|
|
|
|
|
@@ -589,86 +673,90 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
{#if $lq__event_presenter_obj.person_primary_email != $lq__event_presenter_obj.email}
|
|
|
|
|
<div>
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'primary_email'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.person_primary_email}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
<div>
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'primary_email'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.person_primary_email}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-star-of-life"></span>
|
|
|
|
|
<span class="fas fa-envelope"></span>
|
|
|
|
|
<span class="font-bold">
|
|
|
|
|
<a
|
|
|
|
|
href="mailto:{$lq__event_presenter_obj.person_primary_email}"
|
|
|
|
|
class="text-blue-500 underline hover:text-blue-800"
|
|
|
|
|
title="Person's primary email address"
|
|
|
|
|
>{$lq__event_presenter_obj.person_primary_email}</a>
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
<!-- We need a way to let them re-sync the email addresses. The update here should flow back to the person.primary_email. -->
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
trigger_patch={ae_triggers.update_person_primary_email}
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'primary_email'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.email}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={true}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
on:click={() => {
|
|
|
|
|
console.log('*** Sync email button clicked ***');
|
|
|
|
|
if (!confirm('Are you sure you want to sync the email addresses?')) {return false;}
|
|
|
|
|
|
|
|
|
|
ae_triggers.update_person_primary_email = true;
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
|
|
|
|
|
title="Use the email address from this presenter record to overwrite the person record."
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-sync-alt mx-1"></span>
|
|
|
|
|
Sync
|
|
|
|
|
</button>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
</div>
|
|
|
|
|
<span class="fas fa-star-of-life"></span>
|
|
|
|
|
<span class="fas fa-envelope"></span>
|
|
|
|
|
<span class="font-bold">
|
|
|
|
|
<a
|
|
|
|
|
href="mailto:{$lq__event_presenter_obj.person_primary_email}"
|
|
|
|
|
class="text-blue-500 underline hover:text-blue-800"
|
|
|
|
|
title="Person's primary email address"
|
|
|
|
|
>{$lq__event_presenter_obj.person_primary_email}</a>
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
{#if $ae_loc.trusted_access}
|
|
|
|
|
<!-- We need a way to let them re-sync the email addresses. The update here should flow back to the person.primary_email. -->
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
trigger_patch={ae_triggers.update_person_primary_email}
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'primary_email'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.email}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={true}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
on:click={() => {
|
|
|
|
|
console.log('*** Sync email button clicked ***');
|
|
|
|
|
if (!confirm('Are you sure you want to sync the email addresses?')) {return false;}
|
|
|
|
|
|
|
|
|
|
ae_triggers.update_person_primary_email = true;
|
|
|
|
|
}}
|
|
|
|
|
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
|
|
|
|
|
title="Use the email address from this presenter record to overwrite the person record."
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-sync-alt mx-1"></span>
|
|
|
|
|
Sync
|
|
|
|
|
</button>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
{/if}
|
|
|
|
|
</div>
|
|
|
|
|
{/if}
|
|
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'event_presenter'}
|
|
|
|
|
@@ -687,8 +775,6 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
@@ -699,81 +785,81 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
{#if $lq__event_presenter_obj.person_affiliations != $lq__event_presenter_obj.affiliations}
|
|
|
|
|
<div>
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'affiliations'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.person_affiliations}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
<div>
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'affiliations'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.person_affiliations}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-star-of-life"></span>
|
|
|
|
|
<span class="fas fa-building"></span>
|
|
|
|
|
<span class="font-bold">
|
|
|
|
|
{$lq__event_presenter_obj.person_affiliations ?? '-- affiliations not set --'}
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
trigger_patch={ae_triggers.update_person_affiliations}
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'affiliations'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.affiliations}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={true}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
on:click={() => {
|
|
|
|
|
console.log('*** Sync affiliations button clicked ***');
|
|
|
|
|
if (!confirm('Are you sure you want to sync the affiliations?')) {return false;}
|
|
|
|
|
|
|
|
|
|
ae_triggers.update_person_affiliations = true;
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random, log_lvl: 0});
|
|
|
|
|
}}
|
|
|
|
|
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
|
|
|
|
|
title="Use the affiliations from this presenter record to overwrite the person record."
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-sync-alt mx-1"></span>
|
|
|
|
|
Sync
|
|
|
|
|
</button>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
</div>
|
|
|
|
|
<span class="fas fa-star-of-life"></span>
|
|
|
|
|
<span class="fas fa-building"></span>
|
|
|
|
|
<span class="font-bold">
|
|
|
|
|
{$lq__event_presenter_obj.person_affiliations ?? '-- affiliations not set --'}
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
{#if $ae_loc.trusted_access}
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
trigger_patch={ae_triggers.update_person_affiliations}
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'affiliations'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.affiliations}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={true}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
on:click={() => {
|
|
|
|
|
console.log('*** Sync affiliations button clicked ***');
|
|
|
|
|
if (!confirm('Are you sure you want to sync the affiliations?')) {return false;}
|
|
|
|
|
|
|
|
|
|
ae_triggers.update_person_affiliations = true;
|
|
|
|
|
}}
|
|
|
|
|
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
|
|
|
|
|
title="Use the affiliations from this presenter record to overwrite the person record."
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-sync-alt mx-1"></span>
|
|
|
|
|
Sync
|
|
|
|
|
</button>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
{/if}
|
|
|
|
|
</div>
|
|
|
|
|
{/if}
|
|
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'event_presenter'}
|
|
|
|
|
@@ -792,8 +878,6 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
@@ -802,54 +886,79 @@ $: 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 --'}
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
</li>
|
|
|
|
|
<li
|
|
|
|
|
class:hidden={!$ae_loc.trusted_access && !$events_loc.auth__kv.presenter[$lq__event_presenter_obj.event_presenter_id_random]}
|
|
|
|
|
>
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'passcode'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.person_passcode}
|
|
|
|
|
allow_null={true}
|
|
|
|
|
hide_edit_btn={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={false}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-user-secret"></span>
|
|
|
|
|
Passcode:
|
|
|
|
|
<span
|
|
|
|
|
class="font-bold"
|
|
|
|
|
{#if $lq__event_presenter_obj.person_professional_title != $lq__event_presenter_obj.professional_title}
|
|
|
|
|
<div>
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'professional_title'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.person_professional_title}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random, log_lvl: 0});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
{$lq__event_presenter_obj.person_passcode ?? '-- passcode not set --'}
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
<span class="fas fa-star-of-life"></span>
|
|
|
|
|
<span class="fas fa-user-tag"></span>
|
|
|
|
|
<span class="font-bold">
|
|
|
|
|
{$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 --'}
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
<!-- <span class="fas fa-user-secret"></span>
|
|
|
|
|
{$lq__event_presenter_obj.person_passcode} (your passcode)
|
|
|
|
|
{#if $ae_loc.trusted_access}
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
trigger_patch={ae_triggers.update_person_professional_title}
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'professional_title'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.professional_title}
|
|
|
|
|
allow_null={false}
|
|
|
|
|
hide_edit_btn={true}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={true}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
on:click={() => {
|
|
|
|
|
console.log('*** Sync professional title button clicked ***');
|
|
|
|
|
if (!confirm('Are you sure you want to sync the professional title?')) {return false;}
|
|
|
|
|
|
|
|
|
|
ae_triggers.update_person_professional_title = true;
|
|
|
|
|
}}
|
|
|
|
|
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
|
|
|
|
|
title="Use the professional title from this presenter record to overwrite the person record."
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-sync-alt mx-1"></span>
|
|
|
|
|
Sync
|
|
|
|
|
</button>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
{/if}
|
|
|
|
|
</div>
|
|
|
|
|
{/if}
|
|
|
|
|
|
|
|
|
|
<button
|
|
|
|
|
title="Edit your passcode"
|
|
|
|
|
class="btn btn-sm variant-soft-warning"
|
|
|
|
|
class:hidden={!$ae_loc.trusted_access}
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-edit">
|
|
|
|
|
</span>
|
|
|
|
|
Edit
|
|
|
|
|
</button> -->
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li>
|
|
|
|
|
@@ -968,6 +1077,7 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
console.log('*** Sync person button clicked ***');
|
|
|
|
|
if (!confirm('Are you sure you want to sync from the person record?')) {return false;}
|
|
|
|
|
|
|
|
|
|
// NOTE: The external_id should not really be changed once it is set. The person.external_sys_id may need to be updated as well.
|
|
|
|
|
let event_presenter_data = {
|
|
|
|
|
'external_id': $lq__event_presenter_obj.person_external_id,
|
|
|
|
|
'given_name': $lq__event_presenter_obj.person_given_name,
|
|
|
|
|
@@ -1008,7 +1118,7 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
let person_data = {
|
|
|
|
|
account_id_random: $slct.account_id,
|
|
|
|
|
source_code: 'manual:SK',
|
|
|
|
|
external_id: $lq__event_presenter_obj?.external_id?? 'new_presenter',
|
|
|
|
|
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',
|
|
|
|
|
@@ -1048,6 +1158,93 @@ $: if ($lq__event_presenter_obj) {
|
|
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li
|
|
|
|
|
class:hidden={!$ae_loc.trusted_access && !$events_loc.auth__kv.presenter[$lq__event_presenter_obj.event_presenter_id_random]}
|
|
|
|
|
>
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'passcode'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.person_passcode}
|
|
|
|
|
allow_null={true}
|
|
|
|
|
hide_edit_btn={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={false}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-star-of-life"></span>
|
|
|
|
|
<span class="fas fa-user-secret"></span>
|
|
|
|
|
Passcode:
|
|
|
|
|
<span
|
|
|
|
|
class="font-bold"
|
|
|
|
|
>
|
|
|
|
|
{$lq__event_presenter_obj.person_passcode ?? '-- passcode not set --'}
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
|
|
|
|
|
<!-- <span class="fas fa-user-secret"></span>
|
|
|
|
|
{$lq__event_presenter_obj.person_passcode} (your passcode)
|
|
|
|
|
|
|
|
|
|
<button
|
|
|
|
|
title="Edit your passcode"
|
|
|
|
|
class="btn btn-sm variant-soft-warning"
|
|
|
|
|
class:hidden={!$ae_loc.trusted_access}
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-edit">
|
|
|
|
|
</span>
|
|
|
|
|
Edit
|
|
|
|
|
</button> -->
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li
|
|
|
|
|
class:hidden={!$ae_loc.trusted_access || !$ae_loc.edit_mode}
|
|
|
|
|
>
|
|
|
|
|
<Element_ae_crud
|
|
|
|
|
api_cfg={$ae_api}
|
|
|
|
|
object_type={'person'}
|
|
|
|
|
object_id={$lq__event_presenter_obj.person_id_random}
|
|
|
|
|
field_name={'external_sys_id'}
|
|
|
|
|
field_type={'text'}
|
|
|
|
|
field_value={$lq__event_presenter_obj.person_external_sys_id}
|
|
|
|
|
allow_null={true}
|
|
|
|
|
hide_edit_btn={!$ae_loc.administrator_access || !$ae_loc.edit_mode}
|
|
|
|
|
outline_element={false}
|
|
|
|
|
show_crud={false}
|
|
|
|
|
display_inline={false}
|
|
|
|
|
class_li={''}
|
|
|
|
|
on:ae_crud_updated={e => {
|
|
|
|
|
console.log(`ae_crud_updated:`, e.detail);
|
|
|
|
|
|
|
|
|
|
events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 0})
|
|
|
|
|
.then(function (load_results) {
|
|
|
|
|
// Maybe reload page?
|
|
|
|
|
// window.location.reload();
|
|
|
|
|
});
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<span class="fas fa-star-of-life"></span>
|
|
|
|
|
<span class="fas fa-fingerprint"></span>
|
|
|
|
|
External Sys ID:
|
|
|
|
|
<span
|
|
|
|
|
class="font-bold"
|
|
|
|
|
>
|
|
|
|
|
{$lq__event_presenter_obj.person_external_sys_id ?? '-- external_sys_id not set --'}
|
|
|
|
|
</span>
|
|
|
|
|
</Element_ae_crud>
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<!-- The presenters biography. There should be a character counter. -->
|
|
|
|
|
<li>
|
|
|
|
|
<div class="label event_presenter__biography required space-y-4">
|
|
|
|
|
|