Working on sign in checking and permissions. This probably still needs to be reviewed some more.
This commit is contained in:
@@ -47,7 +47,7 @@ let events_local_data_struct: key_val = {
|
||||
// 'LNDF-67-89-92': true
|
||||
},
|
||||
session: {
|
||||
// 'LNDF-67-89-92': true
|
||||
// 'LNDF-67-89-92': true, false, 'read', 'write'
|
||||
},
|
||||
presentation: {
|
||||
// 'LNDF-67-89-92': true
|
||||
|
||||
@@ -44,7 +44,8 @@ ae_tmp.show__direct_download = false;
|
||||
|
||||
onMount(() => {
|
||||
// console.log('Element - Manage Event File List');
|
||||
// console.log(`link_to_type: ${link_to_type}; link_to_id: ${link_to_id}`);
|
||||
console.log(`link_to_type: ${link_to_type}; link_to_id: ${link_to_id}`);
|
||||
console.log(`allow_basic: ${allow_basic}; allow_moderator: ${allow_moderator}`);
|
||||
|
||||
// $slct_trigger = 'load__event_file_obj_li';
|
||||
});
|
||||
|
||||
@@ -54,6 +54,11 @@ onMount(() => {
|
||||
</script>
|
||||
|
||||
|
||||
{#await lq__event_file_obj_li}
|
||||
|
||||
<p>Loading...</p>
|
||||
|
||||
{:then lq__event_file_obj_li}
|
||||
<Element_manage_event_file_li
|
||||
link_to_type={link_to_type}
|
||||
link_to_id={link_to_id}
|
||||
@@ -63,3 +68,6 @@ onMount(() => {
|
||||
container_class_li={container_class_li}
|
||||
display_mode={display_mode}
|
||||
/>
|
||||
{:catch error}
|
||||
<p style="color: red;">{error.message}</p>
|
||||
{/await}
|
||||
|
||||
@@ -211,9 +211,9 @@ async function handle_input_upload_files(input_upload_files, task_id) {
|
||||
</script>
|
||||
|
||||
|
||||
<!-- class:hidden={!$ae_loc.trusted_access} -->
|
||||
<form
|
||||
on:submit|preventDefault={handle_submit_form_files}
|
||||
class:hidden={!$ae_loc.trusted_access}
|
||||
class="modal-form {$ae_loc.hub.classes__form} flex flex-col gap-1 items-center justify-center w-full"
|
||||
>
|
||||
{#await ae_promises.upload__hosted_file_obj}
|
||||
|
||||
@@ -19,7 +19,7 @@ import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_ev
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
import Comp_event_files_upload from './../../ae_comp__event_files_upload.svelte';
|
||||
import Element_manage_event_file_li from '$lib/element_manage_event_file_li_direct.svelte';
|
||||
import Element_manage_event_file_li_wrap from '$lib/element_manage_event_file_li_direct.svelte';
|
||||
import Form_agree from './../../form_agree.svelte';
|
||||
import Presenter_view from './../../presenter_view.svelte';
|
||||
import Presenter_page_menu from './../../presenter_page_menu.svelte';
|
||||
@@ -113,17 +113,19 @@ if (!$ae_loc.authenticated_access && $events_loc.pres_mgmt.show_content__present
|
||||
</h3>
|
||||
|
||||
<!-- Yes... This is a duplicate of what is shown when they press "Presenter Files" button. It can be cleaned up later. -->
|
||||
{#if $ae_loc.trusted_access || $events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id_random]}
|
||||
<Comp_event_files_upload
|
||||
link_to_type="event_presenter"
|
||||
link_to_id={$lq__event_presenter_obj.event_presenter_id}
|
||||
link_to_id={$lq__event_presenter_obj?.event_presenter_id}
|
||||
/>
|
||||
{/if}
|
||||
|
||||
<div class="overflow-x-auto w-max max-w-full">
|
||||
<Element_manage_event_file_li
|
||||
<Element_manage_event_file_li_wrap
|
||||
link_to_type={'event_presenter'}
|
||||
link_to_id={$lq__event_presenter_obj?.event_presenter_id_random}
|
||||
allow_basic={$events_loc.auth__kv.presenter[$lq__event_presenter_obj.event_presenter_id_random] || $events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id_random]}
|
||||
allow_moderator={$events_loc.auth__kv.presenter[$lq__event_presenter_obj.event_presenter_id_random]}
|
||||
allow_basic={$events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id_random] || $events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id_random]}
|
||||
allow_moderator={$events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id_random]}
|
||||
container_class_li={''}
|
||||
/>
|
||||
</div>
|
||||
@@ -135,17 +137,19 @@ if (!$ae_loc.authenticated_access && $events_loc.pres_mgmt.show_content__present
|
||||
Manage and Upload Presenter Files:
|
||||
</h3>
|
||||
|
||||
{#if $ae_loc.trusted_access || $events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id_random]}
|
||||
<Comp_event_files_upload
|
||||
link_to_type="event_presenter"
|
||||
link_to_id={$lq__event_presenter_obj.event_presenter_id}
|
||||
/>
|
||||
{/if}
|
||||
|
||||
<div class="overflow-x-auto w-max max-w-full">
|
||||
<Element_manage_event_file_li
|
||||
<Element_manage_event_file_li_wrap
|
||||
link_to_type={'event_presenter'}
|
||||
link_to_id={$lq__event_presenter_obj?.event_presenter_id_random}
|
||||
allow_basic={$events_loc.auth__kv.presenter[$lq__event_presenter_obj.event_presenter_id_random] || $events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id_random]}
|
||||
allow_moderator={$events_loc.auth__kv.presenter[$lq__event_presenter_obj.event_presenter_id_random]}
|
||||
allow_basic={$events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id_random]}
|
||||
allow_moderator={$events_loc.auth__kv.presenter[$lq__event_presenter_obj?.event_presenter_id_random]}
|
||||
container_class_li={''}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -103,7 +103,7 @@ let lq__event_presentation_obj_li = liveQuery(
|
||||
);
|
||||
|
||||
let lq__auth__event_presenter_obj = liveQuery(
|
||||
() => db_events.presenters.get($events_loc.auth__person.event_presenter_id ?? null)
|
||||
() => db_events.presenters.get($events_loc.auth__person.presenter_id ?? null)
|
||||
);
|
||||
|
||||
$slct.person_obj_kv = {}; // This is intended for the POC lookup list when generated.
|
||||
@@ -133,6 +133,7 @@ onMount(() => {
|
||||
|
||||
<Session_page_menu
|
||||
data={data}
|
||||
event_session_id={$lq__event_session_obj?.event_session_id}
|
||||
lq__event_session_obj={lq__event_session_obj}
|
||||
lq__auth__event_presenter_obj={lq__auth__event_presenter_obj}
|
||||
/>
|
||||
@@ -152,7 +153,7 @@ onMount(() => {
|
||||
|
||||
{#if !$events_loc.pres_mgmt.show_content__session_view || $events_loc.pres_mgmt.show_content__session_view == 'default'}
|
||||
<Session_view
|
||||
event_session_id={$lq__event_session_obj.event_session_id}
|
||||
event_session_id={$lq__event_session_obj?.event_session_id}
|
||||
lq__event_obj={lq__event_obj}
|
||||
lq__event_session_obj={lq__event_session_obj}
|
||||
lq__auth__event_presenter_obj={lq__auth__event_presenter_obj}
|
||||
|
||||
@@ -33,7 +33,7 @@ export async function load({ params, parent }) { // route
|
||||
|
||||
if (browser) {
|
||||
// Load event session object
|
||||
let load_event_session_obj = ({
|
||||
let load_event_session_obj = events_func.load_ae_obj_id__event_session({
|
||||
api_cfg: ae_acct.api,
|
||||
event_session_id: event_session_id,
|
||||
try_cache: true
|
||||
|
||||
@@ -11,6 +11,7 @@ import Element_ae_crud from '$lib/element_ae_crud.svelte';
|
||||
import Element_data_store from '$lib/element_data_store.svelte';
|
||||
import Sign_in_out from './sign_in_out.svelte';
|
||||
|
||||
export let event_session_id: string;
|
||||
export let lq__event_session_obj: any;
|
||||
export let lq__auth__event_presenter_obj: any;
|
||||
|
||||
@@ -116,11 +117,15 @@ let ae_triggers: key_val = {};
|
||||
class="ae_menu__action_options"
|
||||
class:hidden={!$events_loc.auth__person?.id}
|
||||
>
|
||||
{#if event_session_id}
|
||||
<!-- The Sign_in_out component is usually just a button for Sign Out if they are signed in as a POC or presenter. -->
|
||||
<Sign_in_out
|
||||
data={data}
|
||||
event_session_id={event_session_id}
|
||||
lq__event_session_obj={lq__event_session_obj}
|
||||
lq__auth__event_presenter_obj={lq__auth__event_presenter_obj}
|
||||
/>
|
||||
{/if}
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
@@ -398,7 +398,7 @@ $: if ($lq__event_session_obj) {
|
||||
{/if}
|
||||
</li>
|
||||
<li
|
||||
class:hidden={$lq__event_obj.mod_pres_mgmt_json.hide__session_poc}
|
||||
class:hidden={$lq__event_obj?.mod_pres_mgmt_json.hide__session_poc}
|
||||
>
|
||||
<strong class="text-sm">Moderator/Champion:</strong>
|
||||
{#if $lq__event_session_obj?.poc_person_id_random}
|
||||
@@ -563,7 +563,7 @@ $: if ($lq__event_session_obj) {
|
||||
{/if}
|
||||
|
||||
<span class="float-right">
|
||||
{#if $events_loc.auth__kv.session[$events_slct.event_session_id]}
|
||||
{#if $events_loc.auth__kv.session[$events_slct.event_session_id] === true}
|
||||
<span class="text-green-500">Signed In</span>
|
||||
{/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)}
|
||||
@@ -703,15 +703,20 @@ $: if ($lq__event_session_obj) {
|
||||
</label> -->
|
||||
|
||||
<div class="m-1 flex flex-col flex-wrap gap-1 items-center">
|
||||
{#if $ae_loc.trusted_access || $events_loc.auth__person.id }
|
||||
{#if $ae_loc.trusted_access || ($events_loc.auth__person.id && $events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random]) }
|
||||
|
||||
{#if $events_loc.auth__kv.session[$events_slct.event_session_id]}
|
||||
<h3 class="h3">Welcome {$lq__event_session_obj?.poc_person_full_name ?? 'Session POC'}</h3>
|
||||
{:else}
|
||||
<h3 class="h3">Welcome {$lq__auth__event_presenter_obj?.full_name ?? 'Presenter'}</h3>
|
||||
{#if $events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random] === true}
|
||||
<h3 class="h3">Welcome {$lq__event_session_obj?.poc_person_full_name ?? 'Session POC'}</h3>
|
||||
{:else if $events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random] == 'read'}
|
||||
<h3 class="h3">Welcome {$lq__auth__event_presenter_obj?.full_name ?? 'Presenter'}</h3>
|
||||
{/if}
|
||||
|
||||
{#if $ae_loc.trusted_access || $events_loc.auth__kv.session[$events_slct.event_session_id] || ($events_loc.auth__kv.presenter[$events_slct.event_presenter_id] && $lq__event_presenter_obj?.agree)}
|
||||
<!-- {#if $ae_loc.trusted_access || $events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random] || ($events_loc.auth__kv.presenter[$events_slct.event_presenter_id] && $lq__event_presenter_obj?.agree)} -->
|
||||
{#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] == 'read' && $lq__auth__event_presenter_obj?.agree)
|
||||
}
|
||||
<!-- Message if they have agreed -->
|
||||
<Element_data_store
|
||||
ds_code="events__pres_mgmt__session_page_authorized_info"
|
||||
@@ -723,7 +728,7 @@ $: if ($lq__event_session_obj) {
|
||||
show_edit={false}
|
||||
show_edit_btn={true}
|
||||
/>
|
||||
{:else}
|
||||
{:else if ($events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random] == 'read' && !$lq__event_presenter_obj?.agree)}
|
||||
<!-- Message if they have not yet agreed -->
|
||||
<Element_data_store
|
||||
ds_code="events__pres_mgmt__presenter_agree_read_consent"
|
||||
|
||||
@@ -8,6 +8,8 @@ import { goto } from '$app/navigation';
|
||||
import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
|
||||
import { events_loc, events_sess, events_slct, events_trigger, events_trig_kv } from '$lib/ae_events_stores';
|
||||
|
||||
export let event_session_id: string;
|
||||
export let lq__event_session_obj: any;
|
||||
export let lq__auth__event_presenter_obj: any;
|
||||
|
||||
if (browser) {
|
||||
@@ -36,17 +38,28 @@ if (browser) {
|
||||
$events_sess.auth__person.session_id = url_session_id; // For POC or LCI Champions for sessions. Do not set for a presenter!
|
||||
|
||||
$events_sess.auth__kv.person[url_person_id] = true;
|
||||
$events_sess.auth__kv.session[$events_slct.event_session_id] = true; // For POC or LCI Champions for sessions. Do not set for a presenter!
|
||||
$events_sess.auth__kv.session[url_session_id] = true; // For POC or LCI Champions for sessions. Do not set for a presenter!
|
||||
$events_sess.auth__kv.presentation[url_presentation_id] = true;
|
||||
$events_sess.auth__kv.presenter[url_presenter_id] = true;
|
||||
|
||||
// We need to set the selected presentation and presenter objects based on the respective IDs.
|
||||
if (url_session_id) {
|
||||
$events_slct.auth__event_session_id = url_session_id;
|
||||
}
|
||||
if (url_presentation_id && url_presenter_id) {
|
||||
$events_slct.auth__event_presentation_id = url_presentation_id;
|
||||
$events_slct.auth__event_presenter_id = url_presenter_id;
|
||||
}
|
||||
|
||||
console.log('Remove the passcode from the URL.');
|
||||
if (url_presenter_id) {
|
||||
presenter_sign_in();
|
||||
}
|
||||
|
||||
if (url_session_id) {
|
||||
session_sign_in();
|
||||
}
|
||||
|
||||
console.log('Remove the sign in fields from the URL.');
|
||||
data.url.searchParams.delete('person_id');
|
||||
data.url.searchParams.delete('person_pass');
|
||||
data.url.searchParams.delete('presentation_id');
|
||||
@@ -55,14 +68,9 @@ if (browser) {
|
||||
|
||||
let new_url = data.url.toString()
|
||||
console.log(new_url);
|
||||
goto(new_url, {replaceState: false});
|
||||
if (url_presenter_id) {
|
||||
presenter_sign_in();
|
||||
}
|
||||
|
||||
if (url_session_id) {
|
||||
session_sign_in();
|
||||
}
|
||||
// We need to set browser history and force all load functions to rerun.
|
||||
goto(new_url, {replaceState: true, invalidateAll: true});
|
||||
}
|
||||
// });
|
||||
}
|
||||
@@ -75,13 +83,14 @@ function session_sign_in() {
|
||||
$ae_loc.access_type = 'authenticated';
|
||||
|
||||
$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.event_session_id = $events_sess.auth__person.session_id;
|
||||
// $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.id] = true;
|
||||
$events_loc.auth__kv.session[$events_slct.event_session_id] = true;
|
||||
$events_loc.auth__kv.person[$events_sess.auth__person.person_id] = true;
|
||||
$events_loc.auth__kv.session[$events_sess.auth__person.session_id] = true;
|
||||
$events_loc.auth__kv.presentation[$events_sess.auth__person.presentation_id] = false; // Set to false for session POC (LCI Champions).
|
||||
$events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = false; // Set to false for session POC (LCI Champions).
|
||||
|
||||
@@ -94,19 +103,23 @@ function session_sign_in() {
|
||||
function presenter_sign_in() {
|
||||
console.log('Presenter sign in with URL values');
|
||||
|
||||
console.log(event_session_id);
|
||||
|
||||
$ae_loc.authenticated_access = true;
|
||||
$ae_loc.access_type = 'authenticated';
|
||||
$ae_loc.person_id = $events_sess.auth__person.id;
|
||||
|
||||
$events_loc.auth__person.id = $events_sess.auth__person.id; // person_id
|
||||
$events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case
|
||||
$events_loc.auth__person.person_id = $events_sess.auth__person.id;
|
||||
// $events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case
|
||||
// $lq__auth__event_presenter_obj.full_name
|
||||
$events_loc.auth__person.email = 'test@example.com';
|
||||
$events_loc.auth__person.full_name = 'Test Person';
|
||||
$events_loc.auth__person.event_presenter_id = $events_sess.auth__person.presenter_id;
|
||||
// $events_loc.auth__person.email = 'test@example.com';
|
||||
// $events_loc.auth__person.full_name = 'Test Person';
|
||||
$events_loc.auth__person.presenter_id = $events_sess.auth__person.presenter_id;
|
||||
|
||||
$events_loc.auth__kv.person[$events_sess.entered_key] = true;
|
||||
$events_loc.auth__kv.session[$events_slct.event_session_id] = false; // Set to false for presenters.
|
||||
$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;
|
||||
|
||||
@@ -128,8 +141,13 @@ function sign_out() {
|
||||
full_name: null,
|
||||
entered_key: null,
|
||||
entered_passcode: null,
|
||||
person_id: null,
|
||||
presenter_id: null,
|
||||
presentation_id: null,
|
||||
session_id: null,
|
||||
};
|
||||
$events_loc.auth__kv = {
|
||||
event: {},
|
||||
session: {},
|
||||
presentation: {},
|
||||
presenter: {},
|
||||
|
||||
Reference in New Issue
Block a user