diff --git a/src/lib/ae_events__event_presenter.ts b/src/lib/ae_events__event_presenter.ts
index fc8f014d..ce43ecee 100644
--- a/src/lib/ae_events__event_presenter.ts
+++ b/src/lib/ae_events__event_presenter.ts
@@ -221,6 +221,129 @@ export async function handle_update_ae_obj__event_presenter(
}
+// Updated 2024-07-11
+export async function handle_search__event_presenter(
+ {
+ api_cfg,
+ event_id,
+ agree = null,
+ fulltext_search_qry_str,
+ ft_presenter_search_qry_str,
+ like_search_qry_str = null,
+ like_presentation_search_qry_str = null,
+ like_presenter_search_qry_str = null,
+ params = {},
+ try_cache = true,
+ log_lvl = 0
+ }: {
+ api_cfg: any,
+ event_id: any,
+ agree?: null|boolean,
+ fulltext_search_qry_str?: null|string,
+ ft_presenter_search_qry_str?: null|string,
+ like_search_qry_str?: null|string,
+ like_presentation_search_qry_str?: null|string,
+ like_presenter_search_qry_str?: null|string,
+ params?: any,
+ try_cache?: boolean,
+ log_lvl?: number
+ }
+ ) {
+ console.log(`*** handle_search__event_presenter() *** event_id=${event_id}`);
+
+ let enabled: string = (params.qry__enabled ?? 'enabled'); // all, disabled, enabled
+ let hidden: string = (params.qry__hidden ?? 'not_hidden'); // all, hidden, not_hidden
+ let limit: number = (params.qry__limit ?? 25); // 99
+ let offset: number = (params.qry__offset ?? 0); // 0
+
+ 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 || ft_presenter_search_qry_str) {
+ params_json['ft_qry'] = {};
+ if (fulltext_search_qry_str && fulltext_search_qry_str.length > 2) {
+ params_json['ft_qry']['default_qry_str'] = fulltext_search_qry_str;
+ }
+
+ if (ft_presenter_search_qry_str && ft_presenter_search_qry_str.length > 2) {
+ params_json['ft_qry']['event_presenter_li_qry_str'] = ft_presenter_search_qry_str;
+ }
+ }
+
+ // Use the AND (AND LIKE) query
+ // if (like_search_qry_str || like_presenter_search_qry_str) {
+ // params_json['and_like'] = {};
+ // if (like_search_qry_str && like_search_qry_str.length > 2) {
+ // params_json['and_like']['default_qry_str'] = like_search_qry_str;
+ // }
+ // if (like_presenter_search_qry_str && like_presenter_search_qry_str.length > 2) {
+ // params_json['and_like']['event_presenter_li_qry_str'] = like_presenter_search_qry_str;
+ // }
+ // }
+
+ // Use the AND (OR LIKE) query
+ if (like_search_qry_str || like_presentation_search_qry_str || like_presenter_search_qry_str) {
+ params_json['or_like'] = {};
+ if (like_search_qry_str && like_search_qry_str.length > 2) {
+ params_json['or_like']['default_qry_str'] = like_search_qry_str;
+ }
+ if (like_presentation_search_qry_str && like_presentation_search_qry_str.length > 2) {
+ params_json['or_like']['event_presentation_li_qry_str'] = like_presentation_search_qry_str;
+ }
+ if (like_presenter_search_qry_str && like_presenter_search_qry_str.length > 2) {
+ params_json['or_like']['event_presenter_li_qry_str'] = like_presenter_search_qry_str;
+ }
+ }
+
+ params_json['and_qry'] = {};
+
+ if (agree) {
+ params_json['and_qry']['agree'] = agree;
+ }
+
+ let order_by_li = {'priority': 'DESC', 'sort': 'DESC', 'given_name': 'ASC', 'family_name': 'ASC', 'email': 'ASC', 'updated_on': 'DESC', 'created_on': 'DESC'};
+
+ ae_promises.load__event_presenter_obj_li = await api.get_ae_obj_li_for_obj_id_crud({
+ api_cfg: api_cfg,
+ obj_type: 'event_presenter',
+ for_obj_type: 'event',
+ for_obj_id: event_id,
+ use_alt_table: true, // NOTE: We want to use the alt table for session searching
+ use_alt_base: false,
+ enabled: enabled,
+ hidden: hidden,
+ order_by_li: order_by_li,
+ limit: limit,
+ offset: offset,
+ params_json: params_json,
+ params: params,
+ log_lvl: log_lvl
+ })
+ .then(function (event_presenter_obj_li_get_result) {
+ if (event_presenter_obj_li_get_result) {
+ handle_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 {
+ return [];
+ }
+ })
+ .catch(function (error) {
+ console.log('No results returned or failed.', error);
+ })
+ .finally(function () {
+ });
+
+ if (log_lvl) {
+ console.log('ae_promises.load__event_presenter_obj_li:', ae_promises.load__event_presenter_obj_li);
+ }
+ return ae_promises.load__event_presenter_obj_li;
+}
+
+
// Updated 2024-06-10
export function handle_db_save_ae_obj_li__event_presenter(
{
@@ -304,8 +427,10 @@ export function handle_db_save_ae_obj_li__event_presenter(
event_session_code: obj.event_session_code,
event_session_name: obj.event_session_name,
+ event_session_start_datetime: obj.event_session_start_datetime,
event_presentation_code: obj.event_presentation_code,
event_presentation_name: obj.event_presentation_name,
+ event_presentation_start_datetime: obj.event_presentation_start_datetime,
person_external_id: obj.person_external_id,
person_given_name: obj.person_given_name,
diff --git a/src/lib/ae_events_functions.ts b/src/lib/ae_events_functions.ts
index bcf72b61..54442306 100644
--- a/src/lib/ae_events_functions.ts
+++ b/src/lib/ae_events_functions.ts
@@ -53,6 +53,7 @@ import {
handle_load_ae_obj_li__event_presenter,
handle_create_ae_obj__event_presenter,
handle_update_ae_obj__event_presenter,
+ handle_search__event_presenter,
handle_db_save_ae_obj_li__event_presenter,
handle_email_sign_in__event_presenter,
} from "$lib/ae_events__event_presenter";
@@ -91,6 +92,7 @@ let export_obj = {
handle_load_ae_obj_li__event_presenter: handle_load_ae_obj_li__event_presenter,
handle_create_ae_obj__event_presenter: handle_create_ae_obj__event_presenter,
handle_update_ae_obj__event_presenter: handle_update_ae_obj__event_presenter,
+ handle_search__event_presenter: handle_search__event_presenter,
handle_email_sign_in__event_presenter: handle_email_sign_in__event_presenter,
handle_load_ae_obj_id__badge: handle_load_ae_obj_id__badge,
diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts
index 5f08b601..7eed35de 100644
--- a/src/lib/ae_events_stores.ts
+++ b/src/lib/ae_events_stores.ts
@@ -141,6 +141,9 @@ let events_local_data_struct: key_val = {
show_content__session_search_help: true,
show_content__presenter_page_help: true,
+ show_report__presenters_agree: false,
+ show_report__recent_files: false,
+
disable_submit__opt_out: true,
submit_status__opt_out: null,
},
diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts
index 517445a6..af4eab7a 100644
--- a/src/lib/db_events.ts
+++ b/src/lib/db_events.ts
@@ -469,12 +469,14 @@ export interface Presenter {
file_count?: null|number;
event_session_code?: null|string;
- event_session_name?: null|string;
+ event_session_name?: string;
+ event_session_start_datetime?: null|Date;
event_presentation_code?: null|string;
- event_presentation_name?: null|string;
+ event_presentation_name?: string;
+ event_presentation_start_datetime?: null|Date;
person_external_id?: null|string;
- person_given_name?: null|string;
+ person_given_name?: string;
person_family_name?: null|string;
person_full_name?: null|string;
person_professional_title?: 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 61825bd3..6f91f5d3 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
@@ -1,6 +1,6 @@
+
+
+
+
+
+{/if}
+
+
+ {#if show_session_fields}
+
+
+
+ {#each $lq_kv__event_presenter_obj_li as event_presenter_obj}
+ Session
+ Start datetime
+ {/if}
+ {#if show_presentation_fields}
+ Presentation
+ {/if}
+ Name
+ Email
+ Agree
+ Files
+
+ {#if show_session_fields}
+
+ {/each}
+
+
+
+ {event_presenter_obj?.event_session_name}
+
+
+ {event_presenter_obj?.event_session_start_datetime}
+ {/if}
+ {#if show_presentation_fields}
+ {event_presenter_obj?.event_presentation_name}
+ {/if}
+
+
+ {event_presenter_obj?.full_name}
+
+
+ {event_presenter_obj?.email}
+ {event_presenter_obj?.agree ? 'Yes' : 'No'}
+ {event_presenter_obj?.file_count ?? '0'}
+ {$lq__event_obj?.name}
+Presentation Management Reports
+