diff --git a/package-lock.json b/package-lock.json index fd9d7bdd..265b514d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1801,12 +1801,12 @@ "license": "Python-2.0" }, "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.1.tgz", + "integrity": "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==", "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" + "engines": { + "node": ">= 0.4" } }, "node_modules/array-union": { @@ -2319,15 +2319,6 @@ "node": ">=0.4.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/detect-indent": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", @@ -2428,9 +2419,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.20", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.20.tgz", - "integrity": "sha512-74mdl6Fs1HHzK9SUX4CKFxAtAe3nUns48y79TskHNAG6fGOlLfyKA4j855x+0b5u8rWJIrlaG9tcTPstMlwjIw==", + "version": "1.5.21", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.21.tgz", + "integrity": "sha512-+rBAerCpQvFSPyAO677i5gJuWGO2WFsoujENdcMzsrpP7Ebcc3pmpERgU8CV4fFF10a5haP4ivnFQ/AmLICBVg==", "dev": true, "license": "ISC" }, diff --git a/src/lib/ae_events__event.ts b/src/lib/ae_events__event.ts index c65b379a..79d51791 100644 --- a/src/lib/ae_events__event.ts +++ b/src/lib/ae_events__event.ts @@ -231,9 +231,12 @@ export function sync_config__event_pres_mgmt( pres_mgmt_cfg_local.label__presenter_external_id = pres_mgmt_cfg_remote?.label__presenter_external_id ?? 'External ID'; pres_mgmt_cfg_local.label__session_poc_type = pres_mgmt_cfg_remote?.label__session_poc_type ?? 'poc'; + pres_mgmt_cfg_local.label__session_poc_name = pres_mgmt_cfg_remote?.label__session_poc_name_short ?? 'POC'; pres_mgmt_cfg_local.label__session_poc_name = pres_mgmt_cfg_remote?.label__session_poc_name ?? 'Point of Contact'; // Hide content: + pres_mgmt_cfg_local.hide__location_code = pres_mgmt_cfg_remote?.hide__location_code ?? false; + pres_mgmt_cfg_local.hide__presentation_code = pres_mgmt_cfg_remote?.hide__presentation_code ?? false; pres_mgmt_cfg_local.hide__presenter_code = pres_mgmt_cfg_remote?.hide__presenter_code ?? false; @@ -255,7 +258,7 @@ export function sync_config__event_pres_mgmt( // Required fields or options (agreements): pres_mgmt_cfg_local.require__presenter_agree = pres_mgmt_cfg_remote?.require__presenter_agree ?? false; // In use - pres_mgmt_cfg_local.session__require_agree = pres_mgmt_cfg_remote?.session__require_agree ?? false; // New and in progress + pres_mgmt_cfg_local.require__session_agree = pres_mgmt_cfg_remote?.require__session_agree ?? false; // New and in progress // Show content: pres_mgmt_cfg_local.show__email_access_link = pres_mgmt_cfg_remote?.show__email_access_link ?? false; diff --git a/src/lib/ae_events__event_location.ts b/src/lib/ae_events__event_location.ts index 77eea68f..32c88a6d 100644 --- a/src/lib/ae_events__event_location.ts +++ b/src/lib/ae_events__event_location.ts @@ -16,8 +16,8 @@ export async function load_ae_obj_id__event_location( event_location_id, inc_file_li = false, inc_session_li = false, - try_cache=true, - log_lvl=0 + try_cache = true, + log_lvl = 0 }: { api_cfg: any, event_location_id: string, @@ -136,9 +136,9 @@ export async function load_ae_obj_li__event_location( event_id, inc_file_li = false, inc_session_li = false, - params={}, - try_cache=true, - log_lvl=0 + params = {}, + try_cache = true, + log_lvl = 0 }: { api_cfg: any, event_id: string, diff --git a/src/lib/ae_events__event_presenter.ts b/src/lib/ae_events__event_presenter.ts index b4c30330..2bef91f5 100644 --- a/src/lib/ae_events__event_presenter.ts +++ b/src/lib/ae_events__event_presenter.ts @@ -241,24 +241,26 @@ export async function create_ae_obj__event_presenter( } -// Updated 2024-06-13 +// Updated 2024-09-13 export async function update_ae_obj__event_presenter( { api_cfg, event_presenter_id, data_kv, - params={}, - log_lvl=0 + params = {}, + try_cache = true, + log_lvl = 0 }: { api_cfg: any, event_presenter_id: string, data_kv: key_val, params?: key_val, + try_cache?: boolean, log_lvl?: number } ) { if (log_lvl) { - console.log(`*** update_ae_obj__event_presenter() *** event_presenter_id=${event_presenter_id}`); + console.log(`*** update_ae_obj__event_presenter() *** event_presenter_id=${event_presenter_id}`, data_kv); } ae_promises.update__event_presenter_obj = await api.update_ae_obj_id_crud({ @@ -273,7 +275,12 @@ export async function update_ae_obj__event_presenter( }) .then(function (event_presenter_obj_update_result) { if (event_presenter_obj_update_result) { - db_save_ae_obj_li__event_presenter({obj_type: 'event_presenter', obj_li: [event_presenter_obj_update_result]}); + if (try_cache) { + db_save_ae_obj_li__event_presenter({ + obj_type: 'event_presenter', + obj_li: [event_presenter_obj_update_result] + }); + } return event_presenter_obj_update_result; } else { return null; @@ -404,6 +411,12 @@ export async function search__event_presenter( }) .then(function (event_presenter_obj_li_get_result) { if (event_presenter_obj_li_get_result) { + if (try_cache) { + db_save_ae_obj_li__event_presenter({ + obj_type: 'event_presenter', + obj_li: event_presenter_obj_li_get_result + }); + } db_save_ae_obj_li__event_presenter({obj_type: 'event_presenter', obj_li: event_presenter_obj_li_get_result}); return event_presenter_obj_li_get_result; } else { diff --git a/src/lib/ae_events__event_session.ts b/src/lib/ae_events__event_session.ts index db3b61e7..9360fcbe 100644 --- a/src/lib/ae_events__event_session.ts +++ b/src/lib/ae_events__event_session.ts @@ -276,19 +276,21 @@ export async function load_ae_obj_li__event_session( } -// Updated 2024-09-12 +// Updated 2024-09-13 export async function update_ae_obj__event_session( { api_cfg, event_session_id, data_kv, - params={}, - log_lvl=0 + params = {}, + try_cache = true, + log_lvl = 0 }: { api_cfg: any, event_session_id: string, data_kv: key_val, params?: key_val, + try_cache?: boolean, log_lvl?: number } ) { @@ -308,7 +310,11 @@ export async function update_ae_obj__event_session( }) .then(function (event_session_obj_update_result) { if (event_session_obj_update_result) { - db_save_ae_obj_li__event_session({obj_type: 'event_session', obj_li: [event_session_obj_update_result]}); + if (try_cache) { + db_save_ae_obj_li__event_session({ + obj_type: 'event_session', obj_li: [event_session_obj_update_result] + }); + } return event_session_obj_update_result; } else { return null; @@ -426,7 +432,10 @@ export async function qry__event_session( }) .then(function (event_session_obj_li_get_result) { if (event_session_obj_li_get_result) { - db_save_ae_obj_li__event_session({obj_type: 'event_session', obj_li: event_session_obj_li_get_result}); + db_save_ae_obj_li__event_session({ + obj_type: 'event_session', + obj_li: event_session_obj_li_get_result + }); return event_session_obj_li_get_result; } else { return []; @@ -440,10 +449,12 @@ export async function qry__event_session( } +// Updated 2024-09-13 export async function search__event_session( { api_cfg, event_id, + poc_agree = null, fulltext_search_qry_str, ft_presenter_search_qry_str, like_search_qry_str = null, @@ -457,6 +468,7 @@ export async function search__event_session( }: { api_cfg: any, event_id: any, + poc_agree?: null|boolean, fulltext_search_qry_str?: null|string, ft_presenter_search_qry_str?: null|string, like_search_qry_str?: null|string, @@ -478,10 +490,10 @@ export async function search__event_session( let params_json: key_val = {}; - if (!fulltext_search_qry_str && !like_search_qry_str) { - console.log('No search string provided!!!'); - return false; // Returning false instead of [] because no search was performed. - } + // if (!fulltext_search_qry_str && !like_search_qry_str) { + // console.log('No search string provided!!!'); + // return false; // Returning false instead of [] because no search was performed. + // } if (fulltext_search_qry_str || ft_presenter_search_qry_str) { params_json['ft_qry'] = {}; @@ -521,6 +533,10 @@ export async function search__event_session( params_json['and_qry'] = {}; + if (poc_agree) { + params_json['and_qry']['poc_agree'] = poc_agree; + } + if (file_count) { params_json['and_qry']['file_count'] = file_count; } @@ -550,7 +566,12 @@ export async function search__event_session( }) .then(function (event_session_obj_li_get_result) { if (event_session_obj_li_get_result) { - db_save_ae_obj_li__event_session({obj_type: 'event_session', obj_li: event_session_obj_li_get_result}); + if (try_cache) { + db_save_ae_obj_li__event_session({ + obj_type: 'event_session', + obj_li: event_session_obj_li_get_result + }); + } return event_session_obj_li_get_result; } else { return []; @@ -613,6 +634,7 @@ export function db_save_ae_obj_li__event_session( poc_person_id: obj.poc_person_id_random, poc_person_id_random: obj.poc_person_id_random, + poc_agree: obj.poc_agree, poc_kv_json: obj.poc_kv_json ?? {}, name: obj.name, diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index 633089c0..19263be1 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -112,6 +112,7 @@ let events_local_data_struct: key_val = { show_content__hidden_presenters: false, show_content__hidden_sessions: false, + // These should be renamed to match the pres_mgmt section. Use "hide" instead of "show". show_content__session_code: true, show_content__presentation_code: true, show_content__presenter_code: true, @@ -218,9 +219,10 @@ let events_local_data_struct: key_val = { show_content__hidden_presenters: false, show_content__hidden_sessions: false, - show_content__presentation_code: true, - show_content__presenter_code: true, - show_content__session_code: true, + // No longer used. Use "hide" instead of "show". Now it is initially set in the remote event config sync. + // show_content__presentation_code: true, + // show_content__presenter_code: true, + // show_content__session_code: true, show_menu__presenter: null, show_menu__session: null, diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts index cff24de8..8aaad84f 100644 --- a/src/lib/db_events.ts +++ b/src/lib/db_events.ts @@ -331,6 +331,7 @@ export interface Session { poc_person_id?: null|string; poc_person_id_random?: null|string; + poc_agree?: null|boolean; // General catchall for agreement or consent by the POC poc_kv_json?: null|key_val; // Key value list of the POC by type (examples: 'advocate', 'chair', 'champion', 'moderator', 'organizer') name: string; @@ -485,7 +486,7 @@ export interface Presenter { biography?: null|string; - agree?: null|boolean; + agree?: null|boolean; // General catchall for agreement or consent comments?: null|string; passcode?: null|string; diff --git a/src/routes/events_pres_mgmt/ae_comp__event_presenter_obj_li.svelte b/src/routes/events_pres_mgmt/ae_comp__event_presenter_obj_li.svelte index 2b8274c7..5bbd6960 100644 --- a/src/routes/events_pres_mgmt/ae_comp__event_presenter_obj_li.svelte +++ b/src/routes/events_pres_mgmt/ae_comp__event_presenter_obj_li.svelte @@ -202,7 +202,7 @@ onMount(() => { - {#if event_presenter_obj?.email && ($ae_loc.administrator_access || !$events_loc.auth__person?.id && $lq__event_obj?.mod_pres_mgmt_json?.show__email_access_link)} + {#if event_presenter_obj?.email && ($ae_loc.administrator_access || !$events_loc.auth__person?.id && $events_loc.pres_mgmt?.show__email_access_link)} { @@ -243,7 +243,7 @@ onMount(() => { {/if} - {#if $lq__event_obj?.mod_pres_mgmt_json?.require__presenter_agree} + {#if $events_loc.pres_mgmt?.require__presenter_agree} {#if event_presenter_obj.agree} { $events_sess.pres_mgmt.show_content__agree_text = event_presenter_obj.event_presenter_id_random; } } - class="btn variant-ghost-success hover:variant-filled-success my-0.5" + class="btn variant-soft-success hover:variant-filled-success my-0.5" class:btn-sm={display_mode != 'default'} title="Agreed to terms and conditions" > diff --git a/src/routes/events_pres_mgmt/ae_comp__event_session_poc_profile.svelte b/src/routes/events_pres_mgmt/ae_comp__event_session_poc_profile.svelte index 95b834ee..5b3142ed 100644 --- a/src/routes/events_pres_mgmt/ae_comp__event_session_poc_profile.svelte +++ b/src/routes/events_pres_mgmt/ae_comp__event_session_poc_profile.svelte @@ -53,6 +53,23 @@ $: if (browser && ae_tmp.biography === null && $lq__event_session_obj?.poc_kv_js {#if $lq__event_session_obj} + +{#if $lq__event_session_obj.poc_person_id_random && $ae_loc.trusted_access} + + + + + + Copy Access Link + + +{/if} + {$lq__event_session_obj.poc_person_full_name} ({$lq__event_session_obj.poc_person_primary_email}) @@ -91,7 +108,7 @@ $: if (browser && ae_tmp.biography === null && $lq__event_session_obj?.poc_kv_js 600 ? true : false)} required diff --git a/src/routes/events_pres_mgmt/event/[slug]/+page.svelte b/src/routes/events_pres_mgmt/event/[slug]/+page.svelte index 32bf3cbe..3b02f7b7 100644 --- a/src/routes/events_pres_mgmt/event/[slug]/+page.svelte +++ b/src/routes/events_pres_mgmt/event/[slug]/+page.svelte @@ -58,54 +58,6 @@ $: if ($lq__event_obj?.mod_pres_mgmt_json) { pres_mgmt_cfg_local: $events_loc.pres_mgmt, log_lvl: log_lvl, }); - // if (log_lvl) { - // console.log(`*** Event Pres Mgmt JSON *** pres_mgmt_cfg_local`, $events_loc.pres_mgmt); - // } - - // // Locking the config is targeted at the trusted staff level and below. It is more or less ignored at the global manager and super levels. It may be enforced at the staff admin level? - // $events_loc.pres_mgmt.lock_config = $lq__event_obj?.mod_pres_mgmt_json?.lock_config ?? true; // This disables the sync local config button and options. - // if ($events_loc.pres_mgmt.lock_config) { - // // This is to forcibly sync the local config with the remote config. - // $events_loc.pres_mgmt.sync_local_config = $lq__event_obj?.mod_pres_mgmt_json?.sync_local_config ?? true; - // } else { - // // Do not override the preference for syncing the local config with the remote config. - // } - - // // Labels: - // $events_loc.pres_mgmt.label__presenter_external_id = $lq__event_obj?.mod_pres_mgmt_json?.label__presenter_external_id ?? 'External ID'; - - // $events_loc.pres_mgmt.label__session_poc_type = $lq__event_obj?.mod_pres_mgmt_json?.label__session_poc_type ?? 'poc'; - // $events_loc.pres_mgmt.label__session_poc_name = $lq__event_obj?.mod_pres_mgmt_json?.label__session_poc_name ?? 'Point of Contact'; - - // // Hide content: - // $events_loc.pres_mgmt.hide__presentation_code = $lq__event_obj?.mod_pres_mgmt_json?.hide__presentation_code ?? false; - - // $events_loc.pres_mgmt.hide__presenter_code = $lq__event_obj?.mod_pres_mgmt_json?.hide__presenter_code ?? false; - // $events_loc.pres_mgmt.hide__presenter_biography = $lq__event_obj?.mod_pres_mgmt_json?.hide__presenter_biography ?? false; - - // $events_loc.pres_mgmt.hide__session_code = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_code ?? false; - // $events_loc.pres_mgmt.hide__session_description = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_description ?? false; - // $events_loc.pres_mgmt.hide__session_location = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_location ?? false; - - // $events_loc.pres_mgmt.hide__session_poc = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_poc ?? false; - // $events_loc.pres_mgmt.hide__session_poc_profile = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_poc_profile ?? false; // This should still allow the POC name to be shown. - // $events_loc.pres_mgmt.hide__session_poc_biography = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_poc_biography ?? false; // New and in progress - // $events_loc.pres_mgmt.hide__session_poc_profile_pic = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_poc_profile_pic ?? false; // New and in progress - - // // $events_loc.pres_mgmt.hide__report_kv = $lq__event_obj?.mod_pres_mgmt_json?.hide__report_kv ?? null; - - // // $events_loc.pres_mgmt.limit__navigation = $lq__event_obj?.mod_pres_mgmt_json?.limit__navigation ?? false; - // // $events_loc.pres_mgmt.limit__options = $lq__event_obj?.mod_pres_mgmt_json?.limit__options ?? false; - - // // Required fields or options (agreements): - // $events_loc.pres_mgmt.require__presenter_agree = $lq__event_obj?.mod_pres_mgmt_json?.require__presenter_agree ?? false; // In use - // $events_loc.pres_mgmt.session__require_agree = $lq__event_obj?.mod_pres_mgmt_json?.session__require_agree ?? false; // New and in progress - - // // Show content: - // $events_loc.pres_mgmt.show__email_access_link = $lq__event_obj?.mod_pres_mgmt_json?.show__email_access_link ?? false; - // $events_loc.pres_mgmt.show__launcher_link = $lq__event_obj?.mod_pres_mgmt_json?.show__launcher_link ?? false; - // $events_loc.pres_mgmt.show__launcher_link_legacy = $lq__event_obj?.mod_pres_mgmt_json?.show__launcher_link_legacy ?? false; - // // $events_loc.pres_mgmt.show__navigation = $lq__event_obj?.mod_pres_mgmt_json?.show__navigation ?? false; } diff --git a/src/routes/events_pres_mgmt/event/[slug]/reports/+page.svelte b/src/routes/events_pres_mgmt/event/[slug]/reports/+page.svelte index ad649ed0..d20ee877 100644 --- a/src/routes/events_pres_mgmt/event/[slug]/reports/+page.svelte +++ b/src/routes/events_pres_mgmt/event/[slug]/reports/+page.svelte @@ -137,6 +137,86 @@ async function handle_search__event_file( } +async function handle_search__event_session( + { + poc_agree = null, + ft_search_str = '', + lk_search_str = '', + params = { + 'qry__enabled': $events_loc.pres_mgmt.qry_enabled ?? 'enabled', + 'qry__hidden': $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden', + 'qry__limit': $events_loc.pres_mgmt.qry_limit__session ?? 150, + }, + try_cache=true, + log_lvl=0, + }: { + poc_agree?: null|boolean, + ft_search_str?: string, + lk_search_str?: string, + params?: key_val, + try_cache?: boolean, + log_lvl?: number, + } + ) { + if (log_lvl) { + console.log('handle_search__event_session()'); + } + + $events_sess.pres_mgmt.status_qry__search = 'loading'; + $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt.show_report] = 'loading'; + + ae_promises.handle_search__event_session = events_func.search__event_session({ + api_cfg: $ae_api, + event_id: $events_slct.event_id, + poc_agree: poc_agree, + fulltext_search_qry_str: ft_search_str, + like_search_qry_str: lk_search_str, + // external_event_id: $events_loc.pres_mgmt.default__external_registration_id, + params: params, + try_cache: try_cache, + log_lvl: log_lvl, + }) + .then(function (search_results) { + // Processing the results from the search. + $events_sess.pres_mgmt.status_qry__search = 'processing'; + $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt.show_report] = 'processing'; + $events_slct.event_session_obj_li = search_results; + console.log(search_results); + // $events_sess.pres_mgmt.status_qry__search = 'done'; + }) + .finally(() => { + if (log_lvl) { + console.log('API query done. Pulling out the event_session_id_random values.'); + } + // console.log(`TEST search: ${$lq_kv__event_session_obj_li}`); + + event_session_id_random_li = []; + + // We need to loop through the array of objects and get the event_session_id_random from each object a new list of event_session_id_randoms. Then we can use this list to get the full objects from the database. + let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery. + if ($events_slct.event_session_obj_li) { + for (let i = 0; i < $events_slct.event_session_obj_li.length; i++) { + tmp_li.push($events_slct.event_session_obj_li[i].event_session_id_random); + } + } + event_session_id_random_li = tmp_li; + + // event_session_id_random_li = $events_slct.event_session_obj_li.map(session_obj => session_obj.event_session_id_random); + + // Finally done with the search. + $events_sess.pres_mgmt.status_qry__search = 'done'; + $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt.show_report] = 'done'; + + if (log_lvl > 1) { + console.log(`TEST SEARCH - event_session_id_random_li:`, event_session_id_random_li); + // console.log(`TEST SEARCH - search live query: ${$lq_kv__event_session_obj_li}`); + } + + }); + +} + + async function handle_search__event_presenter( { agree = null, @@ -162,7 +242,9 @@ async function handle_search__event_presenter( log_lvl?: number, } ) { - console.log('handle_search__event_presenter()'); + if (log_lvl) { + console.log('handle_search__event_presenter()'); + } $events_sess.pres_mgmt.status_qry__search = 'loading'; $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt.show_report] = 'loading'; @@ -348,6 +430,29 @@ async function handle_qry__event_session( + { + ae_promises.handle_search__event_session = handle_search__event_session({ + poc_agree: true, + ft_search_str: '', + lk_search_str: '', + log_lvl: log_lvl, + }); + $events_sess.pres_mgmt.show_report = 'sessions_poc_agree'; + }} + class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1" + class:hidden={!$events_loc.pres_mgmt?.require__session_agree} + title="Show POCs who have agreed to session terms and conditions." + > + {#if $events_sess.pres_mgmt?.show_report == 'sessions_poc_agree' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'} + + {/if} + + Session {$events_loc.pres_mgmt?.label__session_poc_name}s Agreed + + + +{#if $events_sess.pres_mgmt.show_report == 'sessions_poc_agree' && event_session_id_random_li} +Sessions POC Agreed + + + +{/if} + {#if $events_sess.pres_mgmt.show_report == 'presenters_agree' && event_presenter_id_random_li} diff --git a/src/routes/events_pres_mgmt/location_view.svelte b/src/routes/events_pres_mgmt/location_view.svelte index 2c147a1d..b680db78 100644 --- a/src/routes/events_pres_mgmt/location_view.svelte +++ b/src/routes/events_pres_mgmt/location_view.svelte @@ -247,7 +247,7 @@ $: if ($lq__event_location_obj) { Name (room or area): {$lq__event_location_obj.name} - {#if !$lq__event_obj?.mod_pres_mgmt_json?.hide__location_code && $events_loc.pres_mgmt.show_content__location_code} + {#if !$events_loc.pres_mgmt?.hide__location_code} - {#if $lq__event_obj?.mod_pres_mgmt_json?.require__presenter_agree} + {#if $events_loc.pres_mgmt?.require__presenter_agree} diff --git a/src/routes/events_pres_mgmt/presenter_view.svelte b/src/routes/events_pres_mgmt/presenter_view.svelte index e9c6bff9..16f50f0f 100644 --- a/src/routes/events_pres_mgmt/presenter_view.svelte +++ b/src/routes/events_pres_mgmt/presenter_view.svelte @@ -346,7 +346,7 @@ $: if ($lq__event_presenter_obj) { Copy Access Link {/if} - {#if $lq__event_presenter_obj.email && ($ae_loc.administrator_access || !$events_loc.auth__person?.id && $lq__event_obj?.mod_pres_mgmt_json?.show__email_access_link)} + {#if $lq__event_presenter_obj.email && ($ae_loc.administrator_access || !$events_loc.auth__person?.id && $events_loc.pres_mgmt?.show__email_access_link)} { @@ -514,7 +514,7 @@ $: if ($lq__event_presenter_obj) { }} > - {$lq__event_obj?.mod_pres_mgmt_json?.label__presenter_external_id ?? 'External ID'}: + {$events_loc.pres_mgmt?.label__presenter_external_id ?? 'External ID'}: {@html $lq__event_presenter_obj?.external_id ?? ae_snip.html__not_set} @@ -1350,7 +1350,7 @@ $: if ($lq__event_presenter_obj) { Name/Title: {$lq__event_session_obj.name} - {#if !$lq__event_obj?.mod_pres_mgmt_json?.hide__session_code && $events_loc.pres_mgmt.show_content__session_code} + {#if !$events_loc.pres_mgmt?.hide__session_code} {$events_loc.pres_mgmt?.label__session_poc_name}: {#if $lq__event_session_obj?.poc_person_id_random} @@ -435,7 +435,9 @@ $: if ($lq__event_session_obj) { {/if} - {#if $ae_loc.trusted_access} + {#if + $ae_loc.trusted_access || + $events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random] === true} + {#if $events_loc.pres_mgmt?.require__session_agree} ($events_loc.pres_mgmt.show__session_poc_agree = true)}> - {#if !$lq__event_session_obj?.poc_kv_json[poc_type]?.agree} + {#if !$lq__event_session_obj?.poc_agree} Not yet agreed {:else} @@ -499,7 +504,7 @@ $: if ($lq__event_session_obj) { bind:open={$events_loc.pres_mgmt.show__session_poc_agree} autoclose={false} > - {#if !$lq__event_session_obj?.poc_kv_json[poc_type]?.agree} + {#if !$lq__event_session_obj?.poc_agree} @@ -517,21 +522,30 @@ $: if ($lq__event_session_obj) { {/if} - - Agreement text goes here + + - {#if !$lq__event_session_obj?.poc_kv_json[poc_type]?.agree} + {#if !$lq__event_session_obj?.poc_agree} { console.log('Agree to the terms and conditions.'); - let event_session_data = {poc_kv_json: $lq__event_session_obj?.poc_kv_json}; - console.log('event_session_data:', event_session_data); + let event_session_data = { + poc_agree: true, + } - event_session_data.poc_kv_json[poc_type]['agree'] = true; + // Use this in the future if we need to store the agreements in a more complex way? + // let event_session_data = {poc_kv_json: $lq__event_session_obj?.poc_kv_json}; + // console.log('event_session_data:', event_session_data); + // event_session_data.poc_kv_json[poc_type]['agree'] = true; ae_promises.update__event_session_obj = events_func.update_ae_obj__event_session({ api_cfg: $ae_api, @@ -555,10 +569,14 @@ $: if ($lq__event_session_obj) { on:click={() => { console.log('Change to not agreed.'); - let event_session_data = {poc_kv_json: $lq__event_session_obj?.poc_kv_json}; - console.log('event_session_data:', event_session_data); + let event_session_data = { + poc_agree: false, + } - event_session_data.poc_kv_json[poc_type]['agree'] = false; + // Use this in the future if we need to store the agreements in a more complex way? + // let event_session_data = {poc_kv_json: $lq__event_session_obj?.poc_kv_json}; + // console.log('event_session_data:', event_session_data); + // event_session_data.poc_kv_json[poc_type]['agree'] = false; ae_promises.update__event_session_obj = events_func.update_ae_obj__event_session({ api_cfg: $ae_api, @@ -596,6 +614,7 @@ $: if ($lq__event_session_obj) { + {/if} @@ -756,7 +775,7 @@ $: if ($lq__event_session_obj) { {#if $events_loc.auth__kv.session[$events_slct.event_session_id] === true} Signed In {/if} - {#if $lq__event_session_obj.poc_person_primary_email && ($ae_loc.trusted_access || !$events_loc.auth__person.id && $lq__event_obj?.mod_pres_mgmt_json?.show__email_access_link)} + {#if $lq__event_session_obj.poc_person_primary_email && ($ae_loc.trusted_access || !$events_loc.auth__person.id && $events_loc.pres_mgmt?.show__email_access_link)} {#if $ae_loc.trusted_access || - ($events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random]) === true || + $events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random] === true || ($events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random] == 'read' && $lq__auth__event_presenter_obj?.agree) } diff --git a/src/routes/events_pres_mgmt/sign_in_out.svelte b/src/routes/events_pres_mgmt/sign_in_out.svelte index 8a123860..1478f518 100644 --- a/src/routes/events_pres_mgmt/sign_in_out.svelte +++ b/src/routes/events_pres_mgmt/sign_in_out.svelte @@ -79,16 +79,15 @@ if (browser) { function session_sign_in() { console.log('Session sign in with URL values'); - $ae_loc.access_type = 'public'; + $ae_loc.access_type = 'public'; // Just below trusted access used by staff. + // $ae_loc.administrator_access = false; + // $ae_loc.trusted_access = false; $ae_loc.public_access = true; $ae_loc.authenticated_access = true; $events_loc.auth__person.id = $events_sess.auth__person.id; // person_id $events_loc.auth__person.person_id = $events_sess.auth__person.id; $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // need to verify entered_key... - // $events_loc.auth__person.email = 'test@example.com'; - // $events_loc.auth__person.full_name = 'Test Person'; - // $events_loc.auth__person.session_id = $events_sess.auth__person.session_id; $events_loc.auth__kv.person[$events_sess.auth__person.person_id] = true; $events_loc.auth__kv.session[$events_sess.auth__person.session_id] = true; @@ -106,7 +105,9 @@ function presenter_sign_in() { console.log(event_session_id); - $ae_loc.access_type = 'authenticated'; + $ae_loc.access_type = 'authenticated'; // Just below public access used for the session POC. + // $ae_loc.administrator_access = false; + // $ae_loc.trusted_access = false; $ae_loc.public_access = false; $ae_loc.authenticated_access = true; @@ -123,8 +124,8 @@ function presenter_sign_in() { $events_loc.auth__kv.person[$events_sess.auth__person.person_id] = true; // $events_loc.auth__kv.session[$events_sess.auth__person.session_id] = 'read'; // Set to 'read' for presenters. $events_loc.auth__kv.session[event_session_id] = 'read'; // Set to 'read' for presenters. - $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = true; - $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true; + $events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = true; // true implies read/write access + $events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true; // true implies read/write access // Setting again here... just because for now. // $events_slct.auth__event_presentation_id = $events_sess.auth__person.presentation_id;