diff --git a/app/datalogger/views.py b/app/datalogger/views.py index 17ec45c..867a8fb 100644 --- a/app/datalogger/views.py +++ b/app/datalogger/views.py @@ -211,11 +211,12 @@ def backup_all(): all_br = [i.serialize for i in BackupRestore.query.all()] for i in range(0, len(all_br)): try: - # read_value = readTag(all_br[i]['device']['address'], all_br[i]['tag']) - read_value = (random() * 100.0, 'REAL') + read_value = readTag(all_br[i]['device']['address'], all_br[i]['tag']) + # read_value = (random() * 100.0, 'REAL') all_br[i]['value'] = read_value[0] all_br[i]['tag_type'] = read_value[1] BackupRestore.query.filter_by(_id=all_br[i]['_id']).update({"value": str(all_br[i]['value']), "tag_type": all_br[i]['tag_type']}) + db.session.commit() except: print("Error backing up tag value for tag {}".format(all_br[i]['tag'])) continue @@ -230,11 +231,12 @@ def backup_single(id): single_br = BackupRestore.query.filter_by(_id=id).one().serialize try: - # read_value = readTag(single_br['device']['address'], single_br['tag']) - read_value = (random() * 100.0, 'REAL') + read_value = readTag(single_br['device']['address'], single_br['tag']) + # read_value = (random() * 100.0, 'REAL') single_br['value'] = read_value[0] single_br['tag_type'] = read_value[1] BackupRestore.query.filter_by(_id=single_br['_id']).update({"value": str(single_br['value']), "tag_type": single_br['tag_type']}) + db.session.commit() except: print("Error backing up tag value for tag {}".format(single_br['tag'])) return jsonify(single_br) diff --git a/app/static/js/backup_restore.controller.js b/app/static/js/backup_restore.controller.js index cf54be2..0105491 100644 --- a/app/static/js/backup_restore.controller.js +++ b/app/static/js/backup_restore.controller.js @@ -9,7 +9,15 @@ poconsole.controller('backupRestoreCtrl', function($scope, $route, $http, $route var getBRTagList = BackupRestore.getBRTags(); getBRTagList.then(function(data) { $scope.loading = false; - $scope.brTags = data.objects; + + $scope.brTags = data.objects.map(function(t){ + if (t.tag_type == "REAL"){ + t.value = parseFloat(t.value); + } else { + t.value = parseInt(t.value); + } + return t; + }); }); }; $scope.loadBRTagList(); //Run this function on controller startup to load list @@ -20,8 +28,8 @@ poconsole.controller('backupRestoreCtrl', function($scope, $route, $http, $route }); $scope.submitAddBRTag = function(){ - var createStatus = BackupRestore.createBRTag($scope.newTag); - $scope.createStatus.then(function(data){ + var createStatus = BackupRestore.createBRTag($scope.newBRTag); + createStatus.then(function(data){ $scope.loadBRTagList(); }); }; @@ -30,6 +38,11 @@ poconsole.controller('backupRestoreCtrl', function($scope, $route, $http, $route var getBRTag = BackupRestore.getBRTag(id); getBRTag.then(function(data){ $scope.error = false; + if (data.tag_type == "REAL"){ + data.value = parseFloat(data.value); + } else { + data.value = parseInt(data.value); + } $scope.dBRTag = data; }); }; @@ -45,15 +58,53 @@ poconsole.controller('backupRestoreCtrl', function($scope, $route, $http, $route $scope.openEditBRTag = function(id){ var getBRTag = BackupRestore.getBRTag(id); getBRTag.then(function(data){ + console.log(data); $scope.error = false; + if (data.tag_type == "REAL"){ + data.value = parseFloat(data.value); + } else { + data.value = parseInt(data.value); + } $scope.editBRTag = data; }); }; $scope.submitEditBRTag = function(){ - var updateBRTag = BackupRestore.updateBRTag($scope.editTag); + var updateBRTag = BackupRestore.updateBRTag($scope.editBRTag); updateBRTag.then(function(data){ $scope.loadBRTagList(); }); }; + + $scope.backupBRTag = function(id){ + var backupBRTagVal = BackupRestore.backupBRTagValueSingle(id); + backupBRTagVal.then(function(data){ + $scope.loadBRTagList(); + }); + }; + + $scope.backupBRTagsAll = function(){ + var backupBRTagVal = BackupRestore.backupBRTagValuesAll(); + backupBRTagVal.then(function(data){ + $scope.loadBRTagList(); + }); + }; + + $scope.restoreBRTag = function(id){ + var restoreBRTagVal = BackupRestore.restoreBRTagValueSingle(id); + restoreBRTagVal.then(function(data){ + $scope.loadBRTagList(); + }); + }; + + $scope.restoreBRTagsAll = function(){ + var restoreBRTagVal = BackupRestore.restoreBRTagValuesAll(); + restoreBRTagVal.then(function(data){ + $scope.loadBRTagList(); + }); + }; + + $scope.device_label = function(data_type_obj){ + return data_type_obj.address + " - " + data_type_obj.device_type.device_type; + }; }); diff --git a/app/static/js/backup_restore.factory.js b/app/static/js/backup_restore.factory.js index 5f0d2fe..5dd4953 100644 --- a/app/static/js/backup_restore.factory.js +++ b/app/static/js/backup_restore.factory.js @@ -18,18 +18,23 @@ poconsole.factory('BackupRestore', function($q, $http, $log){ }; service.createBRTag = function(brTag){ + var deferred = $q.defer(); $http.post('/api/backup_restore', { tag: brTag.tag, + device_id: brTag.device_id }).success(function(data){ - return data; + deferred.resolve(data); }); + return deferred.promise; }; service.updateBRTag = function(brTag){ + console.log(brTag); var deferred = $q.defer(); var url = "/api/backup_restore/" + brTag._id; var put_obj = { - tag: brTag.tag + tag: brTag.tag, + device_id: brTag.device_id }; if (brTag.data_type){ @@ -50,35 +55,49 @@ poconsole.factory('BackupRestore', function($q, $http, $log){ var deferred = $q.defer(); var url = '/api/backup_restore/' + id; $http.delete(url).success(function(data) { - deferred.resolve({ - data: data - }); + deferred.resolve(data); }); return deferred.promise; }; - service.updateBRTagValuesAll = function(){ + service.backupBRTagValuesAll = function(){ var deferred = $q.defer(); - var url = '/api/backup_restore_update_all/'; + var url = '/api/backup_all'; $http.get(url).success(function(data) { - deferred.resolve({ - data: data - }); + deferred.resolve(data); }); return deferred.promise; }; - service.updateBRTagValuesSingle = function(id){ + service.backupBRTagValueSingle = function(id){ var deferred = $q.defer(); - var url = '/api/backup_restore_update/' + id.toString(); + var url = '/api/backup/' + id.toString(); $http.get(url).success(function(data) { - deferred.resolve({ - data: data - }); + deferred.resolve(data); }); return deferred.promise; }; + service.restoreBRTagValuesAll = function(){ + var deferred = $q.defer(); + var url = '/api/restore_all'; + $http.get(url).success(function(data) { + deferred.resolve(data); + }); + return deferred.promise; + }; + + service.restoreBRTagValueSingle = function(id){ + var deferred = $q.defer(); + var url = '/api/restore/' + id.toString(); + $http.get(url).success(function(data) { + deferred.resolve(data); + }); + return deferred.promise; + }; + + + return service; }); diff --git a/app/static/templates/backuprestore.html b/app/static/templates/backuprestore.html index af9d597..69d4723 100644 --- a/app/static/templates/backuprestore.html +++ b/app/static/templates/backuprestore.html @@ -18,7 +18,7 @@ -