Skip to content

Commit

Permalink
v2.2.2 - Adding UNHCR to duplicate error output
Browse files Browse the repository at this point in the history
  • Loading branch information
Beamanator committed Mar 11, 2018
1 parent 84dcd08 commit fb65861
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 11 deletions.
36 changes: 36 additions & 0 deletions js/Utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -739,6 +739,42 @@ function Utils_GetNextSearchActionState(action, searchSettings) {
return nextAction;
}

/**
* Function gets a value code (for a field translator) based off of the passed
* in action state. Action state could be something like 'SEARCH_FOR_CLIENT_PHONE',
* which would produce an action state of 'MAIN PHONE', as an example
*
* @param {string} actionState - current action state of import
* @returns {string} - value code corresponding to action state ('' if doesn't match)
*/
function Utils_GetValueCodeFromActionState(actionState) {
let valueCode = '';

switch(actionState) {
case 'SEARCH_FOR_CLIENT_UNHCR_NUMBER':
case 'ANALYZE_SEARCH_RESULTS_UNHCR_NUMBER':
valueCode = 'UNHCR NUMBER';
break;

case 'SEARCH_FOR_CLIENT_PHONE':
case 'ANALYZE_SEARCH_RESULTS_PHONE':
valueCode = 'MAIN PHONE';
break;

case 'SEARCH_FOR_CLIENT_OTHER_PHONE':
case 'ANALYZE_SEARCH_RESULTS_OTHER_PHONE':
valueCode = 'OTHER PHONE';
break;

case 'SEARCH_FOR_CLIENT_STARS_NUMBER':
case 'ANALYZE_SEARCH_RESULTS_STARS_NUMBER':
valueCode = 'STARS NUMBER';
break;
}

return valueCode;
}

// =====================================================================================
// CONDITIONAL FUNCTIONS
// =====================================================================================
Expand Down
29 changes: 19 additions & 10 deletions js/page_controllers/CtrlAdvancedSearch.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,27 +103,27 @@ function kickoffSearch(clientIndex, clientData, importSettings, action) {
action = Utils_GetNextSearchActionState(action, searchSettings);
}

let valueCode, nextActionState;
let nextActionState;

// get valueCode and next action depending on action / value to insert
switch(action) {
case 'SEARCH_FOR_CLIENT_UNHCR_NUMBER':
valueCode = 'UNHCR NUMBER';
// valueCode = 'UNHCR NUMBER';
nextActionState = 'ANALYZE_SEARCH_RESULTS_UNHCR_NUMBER';
break;

case 'SEARCH_FOR_CLIENT_PHONE':
valueCode = 'MAIN PHONE';
// valueCode = 'MAIN PHONE';
nextActionState = 'ANALYZE_SEARCH_RESULTS_PHONE';
break;

case 'SEARCH_FOR_CLIENT_OTHER_PHONE':
valueCode = 'OTHER PHONE';
// valueCode = 'OTHER PHONE';
nextActionState = 'ANALYZE_SEARCH_RESULTS_OTHER_PHONE';
break;

case 'SEARCH_FOR_CLIENT_STARS_NUMBER':
valueCode = 'STARS NUMBER';
// valueCode = 'STARS NUMBER';
nextActionState = 'ANALYZE_SEARCH_RESULTS_STARS_NUMBER';
break;

Expand All @@ -145,6 +145,10 @@ function kickoffSearch(clientIndex, clientData, importSettings, action) {
});
}

// get value code from nextActionState (value code will be used by field
// translator to get data from client object)
let valueCode = Utils_GetValueCodeFromActionState(action);

if (!valueCode) return; // err handled above in 'default'
if (action === 'NEXT_CLIENT') return; // client skipping code above

Expand Down Expand Up @@ -356,7 +360,7 @@ function searchThroughResults(resultRows, client, action, importSettings, client
lastName: client['LAST NAME'],
fullName: client['FULL NAME']
});
let clientUnhcrNo = client['UNHCR NUMBER'];
// let clientUnhcrNo = client['UNHCR NUMBER'];

// if names object didn't return correctly, throw error and skip client
if (Object.keys(clientImportNames).length === 0) {
Expand Down Expand Up @@ -506,7 +510,12 @@ function searchThroughResults(resultRows, client, action, importSettings, client

// Check length of matchedRows array, decide next step from there
if (matches.length > 1) {
let msg = `Duplicate matching clients found [action=${action}]:`;
// get valueCode from action
let valueCode = Utils_GetValueCodeFromActionState(action);

// -> ALSO get FTs (search translator)
let msg = `Duplicate matching clients found [action=${action}], ` +
`[${valueCode}=${client[valueCode]}]:`;

// loop through matches, pull out StARS numbers for error
for (let rowMatch of matches) {
Expand Down Expand Up @@ -664,9 +673,9 @@ function decideNextStep(importSettings, ci, action) {
* @param {string} clientUnhcr - unhcr # from client data
* @returns {boolean} - true if match, false if not match
*/
function matchUnhcr(rowUnhcr, clientUnhcr) {
return rowUnhcr.toUpperCase() === clientUnhcr.toUpperCase();
}
// function matchUnhcr(rowUnhcr, clientUnhcr) {
// return rowUnhcr.toUpperCase() === clientUnhcr.toUpperCase();
// }

/**
* Function extrapolates registration page navigation
Expand Down
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "RIPS Extension - Auto Client Import",
"version": "2.2.1",
"version": "2.2.2",

"description": "RIPS Extension - Enables automatic client data import. Checks for existing client data before importing new client info.",

Expand Down

0 comments on commit fb65861

Please sign in to comment.