General clean up related to permissions and updating fields.
This commit is contained in:
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user