More work on POCONSOLE-75. Should be able to backup and restore from PLC
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<input type="text" ng-model="newBRTag.tag" class="form-control" id="tag" placeholder="Tag Name Here">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<!-- <div class="form-group">
|
||||
<label for="tag_type">Data Type</label>
|
||||
<select ng-model="newBRTag.tag_type" ng-options="t for t in data_types" class="form-control" id="tag_type"></select>
|
||||
</div>
|
||||
@@ -26,8 +26,8 @@
|
||||
<div class="form-group">
|
||||
<label for="value">Value</label>
|
||||
<input type="number" ng-model="newBRTag.value" class="form-control" id="value" placeholder="0">
|
||||
</div>
|
||||
|
||||
</div> -->
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
@@ -85,7 +85,7 @@
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="well" ng-if="message"><h3 class="text-danger">{{message}}</h3></div>
|
||||
<h3>Are you sure you want to delete the tag {{dTag.name}} ({{dTag.tag}})?</h3>
|
||||
<h3>Are you sure you want to delete the tag {{dBRTag.name}} ({{dBRTag.tag}})?</h3>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">NO!!!!!!</button>
|
||||
@@ -120,9 +120,16 @@
|
||||
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#addModal">
|
||||
Add Tag
|
||||
</button>
|
||||
<button type="button" class="btn btn-warning" ng-click="backupBRTagsAll()">
|
||||
Backup All Tags
|
||||
</button>
|
||||
<button type="button" class="btn btn-warning" ng-click="restoreBRTagsAll()">
|
||||
Restore All Tags
|
||||
</button>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>ID</td>
|
||||
<td>Tag</td>
|
||||
<td>Tag Type</td>
|
||||
<td>Value</td>
|
||||
@@ -134,13 +141,14 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="tag in brTags">
|
||||
<td>{{tag._id}}</td>
|
||||
<td>{{tag.tag}}</td>
|
||||
<td>{{tag.tag_type}}</td>
|
||||
<td>{{tag.max_expvalueected}}</td>
|
||||
<td>{{tag.value}}</td>
|
||||
<td><button data-toggle="modal" data-target="#editModal" ng-click="openEditBRTag(tag._id)" class="btn btn-primary">Edit</button></td>
|
||||
<td><button data-toggle="modal" data-target="#deleteModal" ng-click="openDeleteTag(tag._id)" class="btn btn-danger">Delete</button></td>
|
||||
<td><button ng-click="backupBRTag(tag._id)" class="btn btn-danger">Back Up</button></td>
|
||||
<td><button ng-click="restoreBRTag(tag._id)" class="btn btn-danger">Restore</button></td>
|
||||
<td><button data-toggle="modal" data-target="#deleteModal" ng-click="openDeleteBRTag(tag._id)" class="btn btn-danger">Delete</button></td>
|
||||
<td><button ng-click="backupBRTag(tag._id)" class="btn btn-warning">Back Up</button></td>
|
||||
<td><button ng-click="restoreBRTag(tag._id)" class="btn btn-warning">Restore</button></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user