Work on new core person list, view, and edit
This commit is contained in:
@@ -82,7 +82,7 @@ $slct.person_obj_kv = {}; // This is intended for the POC lookup list when gener
|
||||
// };
|
||||
|
||||
onMount(() => {
|
||||
console.log('Events Session [slug]: presenter_view.svelte');
|
||||
console.log('Events Pres Mgmt: presenter_view.svelte');
|
||||
console.log(`event_presenter_id:`, event_presenter_id);
|
||||
|
||||
$slct_trigger = 'load__event_file_obj_li';
|
||||
@@ -344,7 +344,7 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
</span>
|
||||
<a
|
||||
href="/events_pres_mgmt/session/{$lq__event_presenter_obj.event_session_id_random}"
|
||||
class="text-blue-500 hover:underline"
|
||||
class="text-blue-500 hover:text-blue-800 hover:underline"
|
||||
title="ID: {$lq__event_presentation_obj?.event_session_id_random}"
|
||||
>{$lq__event_presenter_obj.event_session_name}</a>
|
||||
</h3>
|
||||
@@ -388,6 +388,38 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
<ul
|
||||
class="space-y-2 px-4"
|
||||
>
|
||||
<li
|
||||
class:hidden={!$ae_loc.trusted_access && !$ae_loc.edit_mode}
|
||||
>
|
||||
<Element_ae_crud
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_presenter'}
|
||||
object_id={$lq__event_presenter_obj.event_presenter_id_random}
|
||||
field_name={'external_id'}
|
||||
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}
|
||||
outline_element={false}
|
||||
show_crud={false}
|
||||
display_inline={true}
|
||||
display_block_edit={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: 1})
|
||||
.then(function (load_results) {
|
||||
// Maybe reload page?
|
||||
// window.location.reload();
|
||||
});
|
||||
}}
|
||||
>
|
||||
External ID:
|
||||
<span class="font-bold">
|
||||
{$lq__event_presenter_obj?.external_id ?? '-- not set --'}
|
||||
</span>
|
||||
</Element_ae_crud>
|
||||
<li>
|
||||
<span class="fas fa-user"></span>
|
||||
<!-- {#if !$events_sess.pres_mgmt.show_edit__event_presenter_name}
|
||||
@@ -396,6 +428,10 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
<!-- <div
|
||||
hidden={!$events_sess.pres_mgmt.show_edit__event_presenter_name}
|
||||
> -->
|
||||
|
||||
<!-- </div> -->
|
||||
<!-- {/if} -->
|
||||
|
||||
<Element_ae_crud
|
||||
api_cfg={$ae_api}
|
||||
object_type={'event_presenter'}
|
||||
@@ -451,19 +487,6 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
{$lq__event_presenter_obj.family_name}
|
||||
</span>
|
||||
</Element_ae_crud>
|
||||
<!-- </div> -->
|
||||
<!-- {/if} -->
|
||||
|
||||
<!-- <button
|
||||
on:click={() => {
|
||||
console.log('*** Edit button clicked ***');
|
||||
$events_sess.pres_mgmt.show_edit__event_presenter_name = !$events_sess.pres_mgmt.show_edit__event_presenter_name;
|
||||
}}
|
||||
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
|
||||
>
|
||||
<span class="fas fa-edit mx-1"></span>
|
||||
Edit
|
||||
</button> -->
|
||||
</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]}
|
||||
@@ -495,7 +518,7 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
<span class="font-bold">
|
||||
<a
|
||||
href="mailto:{$lq__event_presenter_obj.email}"
|
||||
class="text-blue-500"
|
||||
class="text-blue-500 hover:text-blue-800 hover:underline"
|
||||
title="Presenter's email address"
|
||||
>{$lq__event_presenter_obj.email}</a>
|
||||
</span>
|
||||
@@ -531,7 +554,7 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
<span class="font-bold">
|
||||
<a
|
||||
href="mailto:{$lq__event_presenter_obj.person_primary_email}"
|
||||
class="text-blue-500"
|
||||
class="text-blue-500 underline hover:text-blue-800"
|
||||
title="Person's primary email address"
|
||||
>{$lq__event_presenter_obj.person_primary_email}</a>
|
||||
</span>
|
||||
@@ -874,7 +897,7 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
{/if}
|
||||
|
||||
<!-- A sync button to use the person record fields to update the event_presenter fields -->
|
||||
{#if $ae_loc.administrator_access}
|
||||
{#if $ae_loc.administrator_access && $lq__event_presenter_obj?.person_id_random}
|
||||
<button
|
||||
type="button"
|
||||
on:click={() => {
|
||||
@@ -912,6 +935,53 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
{#if $ae_loc.administrator_access && !$lq__event_presenter_obj?.person_id_random}
|
||||
<button
|
||||
type="button"
|
||||
on:click={async () => {
|
||||
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?? 'new_presenter',
|
||||
// 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: 1,
|
||||
})
|
||||
|
||||
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: 1,
|
||||
})
|
||||
}}
|
||||
class:hidden={!$ae_loc.edit_mode}
|
||||
class="btn btn-sm variant-soft-warning hover:variant-filled-warning"
|
||||
>
|
||||
<span class="fas fa-plus mx-1"></span>
|
||||
Add Person
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
</li>
|
||||
|
||||
<!-- The presenters biography. There should be a character counter. -->
|
||||
|
||||
Reference in New Issue
Block a user