Added a reports section and the first report. Agreed presenters.

This commit is contained in:
Scott Idem
2024-07-11 17:01:44 -04:00
parent 7eb3080f46
commit 945c943c61
11 changed files with 649 additions and 11 deletions

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,
},

View File

@@ -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;