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