From 58d25e922ccb9ae348ffc769117aec7b41c14f75 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Thu, 13 Jun 2024 19:08:09 -0400 Subject: [PATCH] Stopping for dinner and a break. --- src/lib/ae_events_functions.ts | 46 +++++ .../session/[slug]/+page.svelte | 132 +++----------- .../session/[slug]/form_agree.svelte | 170 ++++++++++++++++++ 3 files changed, 237 insertions(+), 111 deletions(-) create mode 100644 src/routes/events_pres_mgmt/session/[slug]/form_agree.svelte diff --git a/src/lib/ae_events_functions.ts b/src/lib/ae_events_functions.ts index 1f0afdce..9ca85624 100644 --- a/src/lib/ae_events_functions.ts +++ b/src/lib/ae_events_functions.ts @@ -356,6 +356,51 @@ async function handle_load_ae_obj_li__event_presentation( } +// Updated 2024-06-13 +async function handle_load_ae_obj_id__event_presenter( + { + api_cfg, + event_presenter_id, + try_cache=false, + log_lvl=0 + } : { + api_cfg: any, + event_presenter_id: string, + try_cache?: boolean, + log_lvl?: number + } + ) { + console.log(`*** handle_load_ae_obj_id__event_presenter() *** event_presenter_id=${event_presenter_id}`); + + let params = {}; + + ae_promises.load__event_presenter_obj = await api.get_ae_obj_id_crud({ + api_cfg: api_cfg, + obj_type: 'event_presenter', + obj_id: event_presenter_id, // NOTE: This is the FQDN, not normally the ID. + use_alt_table: false, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config. + use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value + params: params, + log_lvl: log_lvl + }) + .then(function (event_presenter_obj_get_result) { + if (event_presenter_obj_get_result) { + // This is expecting a list + handle_db_save_ae_obj_li__event_presenter({obj_type: 'event_presenter', obj_li: [event_presenter_obj_get_result]}); + return event_presenter_obj_get_result; + } else { + console.log('No results returned.'); + return null; + } + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + + return ae_promises.load__event_presenter_obj; +} + + // Updated 2024-06-10 async function handle_load_ae_obj_li__event_presenter( { @@ -1491,6 +1536,7 @@ let export_obj = { handle_load_ae_obj_li__event_presentation: handle_load_ae_obj_li__event_presentation, + handle_load_ae_obj_id__event_presenter: handle_load_ae_obj_id__event_presenter, handle_load_ae_obj_li__event_presenter: handle_load_ae_obj_li__event_presenter, handle_load_ae_obj_id__badge: handle_load_ae_obj_id__badge, diff --git a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte index a37724e2..ed3b9026 100644 --- a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte +++ b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte @@ -25,6 +25,9 @@ import { ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_st import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores'; import { events_func } from '$lib/ae_events_functions'; +import Form_agree from './form_agree.svelte'; + import FormAgree from './form_agree.svelte'; + // Quickly save the data passed from the parent(s) to the Svelte stores, localStorage, and other. $slct.account_id = data.account_id; console.log(`$slct.account_id = `, $slct.account_id); @@ -62,6 +65,8 @@ if (!$events_loc.pres_mgmt) { $events_loc.pres_mgmt.show_content__agree_text = null; } +$events_loc.pres_mgmt.show_content__agree_text = false; + // import Leads_add_scan from './leads_add_scan.svelte'; // import Sessions_list from './sessions_list.svelte'; // import Leads_manage from './leads_manage.svelte'; @@ -100,6 +105,8 @@ let lq__event_presenter_obj = liveQuery( () => db_events.presenters.get($events_slct.event_presenter_id) ); +$events_slct.event_presenter_obj = $lq__event_presenter_obj; + // Load the Event Obj with ID based on the slug param. // $events_slct.event_id = param_slug_event_id; // console.log('Selected Event ID:', $events_slct.event_id); @@ -254,7 +261,7 @@ onMount(() => { console.log('Show/Hide Description'); $events_loc.pres_mgmt.show_content__session_description = !$events_loc.pres_mgmt.show_content__session_description; }} - class="btn btn-sm variant-soft-surface" + class="btn btn-sm variant-soft-surface hover:variant-filled-surface" > {#if $events_loc.pres_mgmt.show_content__session_description} @@ -318,7 +325,7 @@ onMount(() => { {#if $events_loc.auth__person?.id} @@ -495,7 +506,7 @@ onMount(() => { $events_loc.pres_mgmt.show_content__presentation_description = event_presentation_obj.event_presentation_id_random; } }} - class="btn btn-sm variant-soft-surface" + class="btn btn-sm variant-soft-surface hover:variant-filled-surface" > {#if $events_loc.pres_mgmt.show_content__presentation_description == event_presentation_obj.event_presentation_id_random} @@ -539,7 +550,7 @@ onMount(() => { $events_loc.pres_mgmt.show_content__presenter_start = event_presenter_obj.event_presenter_id_random; } } - class="btn btn-lg variant-ghost-primary text-lg font-bold min-w-56" + class="btn btn-lg variant-ghost-primary text-lg font-bold min-w-56 hover:variant-filled-primary" title="Person ID: {event_presenter_obj.person_id_random}; Email: {event_presenter_obj.email}" > @@ -584,7 +595,7 @@ onMount(() => { $events_loc.pres_mgmt.show_content__agree_text = event_presenter_obj.event_presenter_id_random; } } - class="btn btn-md variant-ghost-success" + class="btn btn-md variant-ghost-success hover:variant-filled-success" title="Agreed to terms and conditions" > @@ -606,7 +617,7 @@ onMount(() => { $events_loc.pres_mgmt.show_content__agree_text = event_presenter_obj.event_presenter_id_random; } } - class="btn btn-md variant-ghost-warning" + class="btn btn-md variant-ghost-warning hover:variant-filled-warning" title="View terms and conditions" > @@ -721,6 +732,7 @@ onMount(() => { + {#if $events_loc.pres_mgmt?.show_content__agree_text}
@@ -739,109 +751,7 @@ onMount(() => { - -

- Presenter Agreement for:
- {$events_slct.presenter_obj.full_name} ({$events_slct.presenter_obj.email}) -

- - - -
- -

- {$events_slct.presenter_obj.full_name} ({$events_slct.presenter_obj.email}) agrees to the following terms and conditions for the presentation: -

-

Title: "{$events_slct.presentation_obj.name}"

-

Opt-Out?

-

Speaker does not permit the use of presentation materials as described in section(s), above for: (please check for all that apply)

- - - - - - - - - - -

Agree?

- - { - console.log(`ae_crud_updated event:`, e.detail); - events_func.handle_load_ae_obj_id__presenter({api_cfg: $ae_api, presenter_id: $events_slct.presenter_id}); - }} - > - {#if !$events_slct.presenter_obj?.agree} - Not Agreed: - - - Waiting for agreement - {:else} - Agreed: - - - Marked as agreed - {/if} - - {#if $ae_loc.trusted_access || $events_loc.auth__kv.session[$events_slct.event_session_id]} - - {/if} - - -
+
diff --git a/src/routes/events_pres_mgmt/session/[slug]/form_agree.svelte b/src/routes/events_pres_mgmt/session/[slug]/form_agree.svelte new file mode 100644 index 00000000..c90286f3 --- /dev/null +++ b/src/routes/events_pres_mgmt/session/[slug]/form_agree.svelte @@ -0,0 +1,170 @@ + + +{#await $lq__event_presenter_obj} + Loading... +{:then result} + +{#if $lq__event_presenter_obj} +

+ Presenter Agreement for:
+ {$lq__event_presenter_obj.full_name} ({$lq__event_presenter_obj.email}) +

+ + + +
+ +

+ {$lq__event_presenter_obj.full_name} ({$lq__event_presenter_obj.email}) agrees to the following terms and conditions for the presentation: +

+

Title: "{$events_slct.presentation_obj.name}"

+

Opt-Out?

+

Speaker does not permit the use of presentation materials as described in section(s), above for: (please check for all that apply)

+ + + + + + + + + + +

Agree?

+ + { + console.log(`ae_crud_updated event:`, 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}); + }} + > + {#if !$lq__event_presenter_obj?.agree} +
+ Not Agreed: + + +
+
+ Waiting for agreement to the Guest Speaker Consent and Release and Terms and Conditions before you can move on. +
+ {:else} + Agreed: + + Marked as agreed + {/if} + +
+ {#if $ae_loc.trusted_access || $events_loc.auth__kv.session[$events_slct.event_session_id]} + + {/if} +
+
+ +
+ +{/if} + +{/await}