diff --git a/src/js/qmHelpers.js b/src/js/qmHelpers.js
index ffc83b3a5e..81e36ddc2f 100644
--- a/src/js/qmHelpers.js
+++ b/src/js/qmHelpers.js
@@ -11989,11 +11989,11 @@ var qm = {
qmLog.error("no variables provided to putManualTrackingFirst");
return;
}
- var manualTracking = variables.filter(function(variableToCheck){
- return variableToCheck.manualTracking === true;
+ var manualTracking = variables.filter(function(v){
+ return v.manualTracking === true;
});
- var nonManual = variables.filter(function(variableToCheck){
- return variableToCheck.manualTracking !== true;
+ var nonManual = variables.filter(function(v){
+ return v.manualTracking !== true;
});
return manualTracking.concat(nonManual);
},
@@ -12036,6 +12036,7 @@ var qm = {
var q = params.name || params.searchPhrase || null;
if(q){variables = qm.variablesHelper.putExactMatchFirst(variables, q);}
}
+ qm.variablesHelper.validateVariables(variables)
return variables;
},
getUserAndCommonVariablesFromLocalStorage: function(params){
@@ -12126,6 +12127,7 @@ var qm = {
}
}
if(userVariables.length){
+ qm.variablesHelper.validateVariables(userVariables)
qm.localForage.saveWithUniqueId(qm.items.userVariables, userVariables);
}
if(commonVariables.length){
@@ -12154,7 +12156,7 @@ var qm = {
validateVariables: function(variables){
if(!Array.isArray(variables)){variables = [variables];}
variables.map(function (v){
- if(v && v.variableId === 1398){
+ if(v && v.variableId === 1398 && !v.outcome){
qmLog.errorAndExceptionTestingOrDevelopment("why isn't mood an outcome: "+v.outcome, v)
}
});
diff --git a/src/js/services/qmService.js b/src/js/services/qmService.js
index 6dbbcb1048..93c54d8e3f 100644
--- a/src/js/services/qmService.js
+++ b/src/js/services/qmService.js
@@ -408,15 +408,15 @@ angular.module('starter').factory('qmService', ["$http", "$q", "$rootScope", "$i
qmService.showMaterialAlert("Barcode scan failed!", "Couldn't identify your barcode, but I'll look into it. Please try a manual search in the meantime. ");
}, scannerConfig);
},
- addUpcToVariableObject: function(variableObject){
- if(!variableObject){
+ addUpcToVariableObject: function(v){
+ if(!v){
return;
}
if(qmService.barcodeScanner.upcToAttach){
- variableObject.upc = qmService.barcodeScanner.upcToAttach;
+ v.upc = qmService.barcodeScanner.upcToAttach;
qmService.barcodeScanner.upcToAttach = null;
}
- return variableObject;
+ return v;
},
quaggaScan: function(){
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||
@@ -2265,6 +2265,7 @@ angular.module('starter').factory('qmService', ["$http", "$q", "$rootScope", "$i
self.finish = function(){
self.items = null;
$scope.variable = qmService.barcodeScanner.addUpcToVariableObject($scope.variable);
+ qm.variablesHelper.validateVariables($scope.variable);
$mdDialog.hide($scope.variable);
};
self.scanBarcode = function(deferred){
@@ -2438,6 +2439,7 @@ angular.module('starter').factory('qmService', ["$http", "$q", "$rootScope", "$i
item.variable.barcode = item.variable.upc = self.barcode;
item.variable.barcodeFormat = self.barcodeFormat;
}
+ qm.variablesHelper.validateVariables(item.variable)
$scope.variable = item.variable;
item.variable.lastSelectedAt = qm.timeHelper.getUnixTimestampInSeconds();
qm.variablesHelper.setLastSelectedAtAndSave(item.variable);
@@ -2972,11 +2974,9 @@ angular.module('starter').factory('qmService', ["$http", "$q", "$rootScope", "$i
var hasMeasurementsOrIsAdmin = hasMeasurements || (u && u.administrator);
if(hasMeasurementsOrIsAdmin){buttons.push(allButtons.variableSettings);}
if(v){buttons.push(allButtons.compare);}
- if(v && v.outcome){
- buttons.push(allButtons.predictors);
- }else{
- buttons.push(allButtons.outcomes);
- }
+ qm.variablesHelper.validateVariables(v);
+ if(v && v.outcome){buttons.push(allButtons.predictors);}
+ if(v && v.predictor){buttons.push(allButtons.outcomes);}
var actions = v.actionArray;
if(actions){
for(var i = 0; i < actions.length; i++){
@@ -2986,7 +2986,11 @@ angular.module('starter').factory('qmService', ["$http", "$q", "$rootScope", "$i
var ionIcon = item.ionIcon || ionIcons.recordMeasurement;
qmLog.debug("Action array item: ", item);
if(item.action === "track"){
- buttons.push({action: item, id: id, text: '' + text + ''});
+ buttons.push({
+ action: item,
+ id: id,
+ text: '' + text + ''
+ });
}
if(buttons.length > 8){break;}
}