POC sign is mostly working now

This commit is contained in:
Scott Idem
2024-06-18 15:52:14 -04:00
parent 519525540c
commit 8044cd0723
7 changed files with 254 additions and 55 deletions

View File

@@ -168,6 +168,7 @@ onMount(() => {
let url_person_pass = data.url.searchParams.get('person_pass');
let url_presentation_id = data.url.searchParams.get('presentation_id');
let url_presenter_id = data.url.searchParams.get('presenter_id');
let url_session_id = data.url.searchParams.get('session_id');
// This should be turned into a function to correctly authenticate the person and allow them access to their presentations and presenter details.
if (url_person_pass) {
@@ -180,9 +181,10 @@ onMount(() => {
$events_sess.auth__person.id = url_person_id;
$events_sess.auth__person.presentation_id = url_presentation_id;
$events_sess.auth__person.presenter_id = url_presenter_id;
$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;
$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.presentation[url_presentation_id] = true;
$events_sess.auth__kv.presenter[url_presenter_id] = true;
@@ -214,17 +216,38 @@ onMount(() => {
// let new_url = data.url.toString()
// console.log(new_url);
// goto(new_url, {replaceState: true});
if (url_presenter_id) {
presenter_sign_in();
}
presenter_sign_in();
if (url_session_id) {
session_sign_in();
}
}
});
// console.log(`$ae_loc = `, $ae_loc);
function presenter_sign_in() {
console.log('Sign in with URL values');
console.log('Presenter sign in with URL values');
// This needs to be moved to a function!
$events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id
$events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case
$events_loc.auth__person.email = 'test@example.com';
$events_loc.auth__person.full_name = 'Test Person';
$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.presentation[$events_sess.auth__person.presentation_id] = true;
$events_loc.auth__kv.presenter[$events_sess.auth__person.presenter_id] = true;
// Setting again here... just because for now.
$events_slct.event_presentation_id = $events_sess.auth__person.presentation_id;
$events_slct.event_presenter_id = $events_sess.auth__person.presenter_id;
}
function session_sign_in() {
console.log('Session sign in with URL values');
$events_loc.auth__person.id = $events_sess.auth__entered_key; // person_id
$events_loc.auth__person.entered_key = $events_sess.auth__entered_key; // also person_id in this case
@@ -233,12 +256,28 @@ function presenter_sign_in() {
$events_loc.auth__kv.person[$events_sess.entered_key] = true;
$events_loc.auth__kv.session[$events_slct.event_session_id] = true;
$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] = 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).
// Setting again here... just because for now.
$events_slct.event_presentation_id = $events_sess.auth__person.presentation_id;
$events_slct.event_presenter_id = $events_sess.auth__person.presenter_id;
// $events_slct.event_presentation_id = $events_sess.auth__person.presentation_id;
// $events_slct.event_presenter_id = $events_sess.auth__person.presenter_id;
}
function sign_out() {
$events_loc.auth__person = {
id: null,
email: null,
full_name: null,
entered_key: null,
entered_passcode: null,
};
$events_loc.auth__kv = {
session: {},
presentation: {},
presenter: {},
person: {},
};
}
$: if ($slct_trigger == 'load__event_file_obj_li') {
@@ -337,6 +376,57 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
<li>
<strong class="text-sm">Location/Room:</strong> {$lq__event_session_obj.event_location_name ? $lq__event_session_obj.event_location_name : '-- not set --'}
</li>
<li>
<strong class="text-sm">Moderator/Champion:</strong> {$lq__event_session_obj.poc_person_full_name ? $lq__event_session_obj.poc_person_full_name : '-- not set --'}
<span class="float-right">
{#if $events_loc.auth__kv.session[$events_slct.event_session_id]}
<span class="text-green-500">Signed In</span>
{/if}
{#if $ae_loc.trusted_access || !$events_loc.auth__person.id }
<button
type="button"
disabled
on:click={() => {
console.log('Email the access link');
if (!$lq__event_session_obj.poc_person_primary_email) {
alert('No email address found for this presenter.');
return;
}
if (confirm(`This will send the sign in email to ${$lq__event_session_obj.poc_person_primary_email}`)) {
console.log('Send the email to the presenter.');
} else {
console.log('Cancelled sending the email.');
return false;
}
}}
class="btn btn-sm variant-ghost-primary hover:variant-filled-primary"
title="Email the access link to the POC (moderator/champion)"
>
<span class="fas fa-envelope mx-1"></span>
Email Access Link
</button>
{/if}
{#if $ae_loc.trusted_access}
<!-- A button to copy the access link to the clipboard. -->
<!-- Example: /events_pres_mgmt/session/Wh8UnJlbIA0?person_id=fV1dl_IJ0yY&person_pass=abc123 -->
<button
type="button"
use:clipboard={encodeURI(`${$ae_loc.url_origin}/events_pres_mgmt/session/${$events_slct.event_session_id}?person_id=${$events_slct.presenter_obj.person_id_random}&person_pass=${$events_slct.presenter_obj.person_passcode}&session_id=${$events_slct.event_session_id}`)}
class="btn btn-sm variant-ghost-warning m-1"
title="Copy the POC (moderator/champion) access link to the clipboard."
>
<span class="fas fa-copy mx-1"></span>
Copy Access Link
</button>
{/if}
</span>
</li>
{#if $ae_loc.trusted_access}
<li>
<strong class="text-sm">Session passcode:</strong> {$lq__event_session_obj.passcode ? $lq__event_session_obj.passcode : '-- not set --'}
@@ -386,11 +476,15 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
</label> -->
<div class="m-1 flex flex-col flex-wrap gap-1 items-center">
{#if $ae_loc.trusted_access || $events_loc.auth__kv.session[$events_slct.event_session_id]}
{#if $ae_loc.trusted_access || $events_loc.auth__person.id }
{#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__event_presenter_obj?.full_name ?? 'Presenter'}</h3>
{/if}
{#if $ae_loc.trusted_access || ($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[$events_slct.event_session_id] || ($events_loc.auth__kv.presenter[$events_slct.event_presenter_id] && $lq__event_presenter_obj?.agree)}
<a
class="btn btn-md variant-ghost-primary hover:variant-filled-primary"
href="https://static.oneskyit.com/c/LCI/files/LCI_Congress_Template_2024.pptx"
@@ -422,19 +516,7 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
type="button"
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
on:click={() => {
$events_loc.auth__person = {
id: null,
email: null,
full_name: null,
entered_key: null,
entered_passcode: null,
};
$events_loc.auth__kv = {
session: {},
presentation: {},
presenter: {},
person: {},
};
sign_out();
alert('You have been signed out.');
}}
>
@@ -456,6 +538,7 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
</p>
</div>
{#if ($events_sess.auth__person.presenter_id) || ($events_sess.auth__person.session_id)}
<div
class="border border-gray-200 p-2 rounded-md m-2 text-center space-y-2"
>
@@ -484,7 +567,11 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
on:click={() => {
console.log('Sign in with URL values');
presenter_sign_in();
if ($events_sess.auth__person.presenter_id) {
presenter_sign_in();
} else if ($events_sess.auth__person.session_id) {
session_sign_in();
}
// This needs to be moved to a function!
@@ -511,7 +598,10 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
<div
class="text-sm text-gray-500"
>
For: presentation: {$events_sess.auth__person.presentation_id} presenter: {$events_sess.auth__person.presenter_id}
For:
session: {$events_sess.auth__person.session_id}
presentation: {$events_sess.auth__person.presentation_id}
presenter: {$events_sess.auth__person.presenter_id}
<br>
{$lq__event_presentation_obj?.name ? `Name: "${$lq__event_presentation_obj.name}"` : '-- not set --'}
@@ -523,19 +613,7 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
type="button"
class="btn btn-sm variant-soft-warning"
on:click={() => {
$events_loc.auth__person = {
id: null,
email: null,
full_name: null,
entered_key: null,
entered_passcode: null,
};
$events_loc.auth__kv = {
session: {},
presentation: {},
presenter: {},
person: {},
};
sign_out();
alert('You have been signed out.');
}}
>
@@ -544,6 +622,7 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
</button>
{/if}
</div>
{/if}
{/if}
</div>
@@ -633,7 +712,7 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
<li>
<button
type="button"
disabled={!$ae_loc.trusted_access && (!$events_loc.auth__kv.presenter[event_presenter_obj.event_presenter_id_random] || !event_presenter_obj.agree)}
disabled={!($ae_loc.trusted_access || $events_loc.auth__kv.session[$events_slct.event_session_id]) && (!$events_loc.auth__kv.presenter[event_presenter_obj.event_presenter_id_random] || !event_presenter_obj.agree)}
on:click={
() => {
console.log('View presenter details');
@@ -658,7 +737,8 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
{#if $ae_loc.trusted_access || !$events_loc.auth__person.id }
<button
class="btn btn-md variant-ghost-primary hover:variant-filled-primary"
type="button"
disabled
on:click={() => {
console.log('Email the access link');
if (!event_presenter_obj.email) {
@@ -692,6 +772,7 @@ function send_init_confirm_email({to_email, to_name, person_id, person_passcode,
// body: `Hello ${event_presenter_obj.full_name},\n\nHere is the access link for the session: ${data.url.origin}/events_pres_mgmt/session/{$events_slct.event_session_id}?person_id=${event_presenter_obj.person_id_random}&person_pass=${event_presenter_obj.person_passcode}\n\nThank you,\n\nThe LCI Team`,
// });
}}
class="btn btn-md variant-ghost-primary hover:variant-filled-primary"
title="Email the access link to the presenter"
>
<span class="fas fa-envelope mx-1"></span>