diff --git a/src/lib/ae_events_functions.ts b/src/lib/ae_events_functions.ts index 90e24ea3..750268db 100644 --- a/src/lib/ae_events_functions.ts +++ b/src/lib/ae_events_functions.ts @@ -399,6 +399,50 @@ async function handle_load_ae_obj_li__exhibit_tracking({api_cfg, exhibit_id, par } +// Updated 2024-03-22 +async function handle_create_ae_obj__exhibit_tracking({api_cfg, exhibit_id, event_badge_id, external_person_id, params={}, try_cache=false}) { + console.log(`*** handle_create_ae_obj__exhibit_tracking() *** exhibit_id=${exhibit_id}, event_badge_id=${event_badge_id}`); + + let params_json: key_val = {}; + + // $events_sess.exhibits.status_create__exhibit_tracking = 'loading'; + ae_promises.create__event_exhibit_tracking = await api.create_ae_obj_crud({ + api_cfg: api_cfg, + obj_type: 'event_exhibit_tracking', + fields: { + event_exhibit_id_random: exhibit_id, + event_badge_id_random: event_badge_id, + external_person_id: external_person_id, + }, + key: api_cfg.api_crud_super_key, + params: params, + return_obj: true, + log_lvl: 1 + }) + + .then(function (exhibit_tracking_obj_create_result) { + // console.log('Exhibit tracking create:', exhibit_tracking_obj_create_result); + if (exhibit_tracking_obj_create_result) { + // $slct.exhibit_tracking_obj = exhibit_tracking_obj_create_result; + handle_db_save_ae_obj_li__exhibitor_tracking({obj_type: 'event_exhibit_tracking', obj_li: [exhibit_tracking_obj_create_result]}); + return exhibit_tracking_obj_create_result; + } else { + // $slct.exhibit_tracking_obj = []; + return null; + } + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }) + .finally(function () { + // console.log('Exhibit tracking create:', exhibit_tracking_obj_create_result); + // return exhibit_tracking_obj_create_result; + }); + + console.log('ae_promises.create__event_exhibit_tracking:', ae_promises.create__event_exhibit_tracking); + return ae_promises.create__event_exhibit_tracking; +} + // This function will loop through the badge_obj_li and save each one to the DB. function handle_db_save_ae_obj_li__badge({obj_type, obj_li}) { @@ -550,6 +594,8 @@ function handle_db_save_ae_obj_li__exhibitor_tracking({obj_type, obj_li}) { event_badge_id_random: obj.event_badge_id_random, event_person_id_random: obj.event_person_id_random, + external_person_id: obj.external_person_id, + exhibitor_notes: obj.exhibitor_notes, responses_json: obj.responses_json, @@ -562,10 +608,21 @@ function handle_db_save_ae_obj_li__exhibitor_tracking({obj_type, obj_li}) { event_badge_family_name: obj.event_badge_family_name, event_badge_designations: obj.event_badge_designations, event_badge_full_name: obj.event_badge_full_name, + event_badge_full_name_override: obj.event_badge_full_name_override, + + event_badge_professional_title: obj.event_badge_professional_title, + event_badge_professional_title_override: obj.event_badge_professional_title_override, event_badge_affiliations: obj.event_badge_affiliations, + event_badge_affiliations_override: obj.event_badge_affiliations_override, + event_badge_email: obj.event_badge_email, + event_badge_email_override: obj.event_badge_email_override, + event_badge_location: obj.event_badge_location, + event_badge_location_override: obj.event_badge_location_override, + + event_badge_country: obj.event_badge_country, enable: obj.enable, hide: obj.hide, @@ -599,5 +656,6 @@ let export_obj = { handle_load_ae_obj_id__exhibit: handle_load_ae_obj_id__exhibit, handle_load_ae_obj_li__exhibit: handle_load_ae_obj_li__exhibit, handle_load_ae_obj_li__exhibit_tracking: handle_load_ae_obj_li__exhibit_tracking, + handle_create_ae_obj__exhibit_tracking: handle_create_ae_obj__exhibit_tracking, }; export let events_func = export_obj; diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index 4816ffa0..ec846626 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -125,6 +125,8 @@ let events_session_data_struct: key_val = { show_form__license: false, show_form__search: false, show_form__scan: false, + show_form__view_lead: false, // Set to event_exhibit_tracking_id + // show_form__view_lead: [], show_confirm__add_lead: [], diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts index c2d60bfd..6fe658ca 100644 --- a/src/lib/db_events.ts +++ b/src/lib/db_events.ts @@ -100,6 +100,8 @@ export interface Exhibit_tracking { event_badge_id_random: string; event_person_id_random: null|string; // Is this needed? + external_person_id: null|string; // This is an email address + exhibitor_notes: null|string; responses_json: null|string; @@ -112,12 +114,21 @@ export interface Exhibit_tracking { event_badge_family_name: null|string; event_badge_designations: null|string; event_badge_full_name: string; + event_badge_full_name_override: null|string; + + event_badge_professional_title: null|string; + event_badge_professional_title_override: null|string; event_badge_affiliations: null|string; + event_badge_affiliations_override: null|string; event_badge_email: null|string; + event_badge_email_override: null|string; event_badge_location: null|string; + event_badge_location_override: null|string; + + event_badge_country: null|string; enable: null|boolean; hide: null|boolean; @@ -145,7 +156,10 @@ export class MySubClassedDexie extends Dexie { exhibits: ` id_random, event_exhibit_id_random, code, name, description, staff_passcode, data_json, license_max, license_li_json, cfg_json, enable, hide, priority, sort, group, notes, created_on, updated_on, [priority+name]`, exhibit_tracking: ` - id_random, event_exhibit_tracking_id_random, event_exhibit_id_random, event_badge_id_random, event_person_id_random, exhibitor_notes, responses_json, data_json, event_badge_full_name, event_badge_email, enable, hide, priority, sort, group, notes, created_on, updated_on` + id_random, event_exhibit_tracking_id_random, event_exhibit_id_random, event_badge_id_random, event_person_id_random, + exhibitor_notes, responses_json, data_json, + event_badge_full_name, event_badge_email, + enable, hide, priority, sort, group, notes, created_on, updated_on` }); } } diff --git a/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte b/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte index 94934e96..d34d4dec 100644 --- a/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte +++ b/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte @@ -1,6 +1,5 @@ @@ -170,6 +188,10 @@ let event_exhibit_tracking_obj_li = liveQuery(