Completes POCONSOLE-46. Events page working. Need to link event data to tag data
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
<li ng-class="{active: Page.page() == 'tags'}"><a href="/#/tags"><i class="fa fa-tags"></i> Tags</a></li>
|
||||
<li ng-class="{active: Page.page() == 'gaugeoff'}"><a href="/#/gaugeoff"><i class="fa fa-folder-open-o"></i> Gauge Off</a></li>
|
||||
<li ng-class="{active: Page.page() == 'welltest'}"><a href="/#/welltest"><i class="fa fa-folder-open-o"></i> Well Test</a></li>
|
||||
<li ng-class="{active: Page.page() == 'docs'}"><a href="/#/docs"><i class="fa fa-folder-open-o"></i> Events</a></li>
|
||||
<li ng-class="{active: Page.page() == 'events'}"><a href="/#/events"><i class="fa fa-folder-open-o"></i> Events</a></li>
|
||||
<li ng-class="{active: Page.page() == 'docs'}"><a href="/#/docs"><i class="fa fa-folder-open-o"></i> Notes</a></li>
|
||||
<li ng-class="{active: Page.page() == 'docs'}"><a href="/#/docs"><i class="fa fa-folder-open-o"></i> Docs</a></li>
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
<script src="js/cards.controller.js"></script>
|
||||
<script src="js/gaugeoff.controller.js"></script>
|
||||
<script src="js/welltest.controller.js"></script>
|
||||
<script src="js/events.controller.js"></script>
|
||||
</body>
|
||||
|
||||
|
||||
|
||||
48
flask/app/static/js/events.controller.js
Normal file
48
flask/app/static/js/events.controller.js
Normal file
@@ -0,0 +1,48 @@
|
||||
poconsole.controller('eventsCtrl', function($scope, $q, $http, Page) {
|
||||
Page.setTitle('Events');
|
||||
Page.setPage('events');
|
||||
|
||||
var getEventsDataPage = function(page_number){
|
||||
var deferred = $q.defer();
|
||||
$http.get('/api/events?q={"order_by":[{"field":"created_on","direction":"desc"}]}&page=' + page_number).success(function(data) {
|
||||
deferred.resolve(data);
|
||||
});
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
$scope.loadEventPageData = function(page_number){
|
||||
var getData = getEventsDataPage(page_number);
|
||||
getData.then(function(d){
|
||||
for(var j = 0; j < d.objects.length; j++){
|
||||
// console.log({'Date Before':d.objects[j].created_on});
|
||||
d.objects[j].created_on = Date.create(d.objects[j].created_on + "Z", { fromUTC: true });
|
||||
// console.log({'Date After':d.objects[j].created_on});
|
||||
}
|
||||
$scope.event_data = d.objects;
|
||||
$scope.num_pages = d.total_pages;
|
||||
$scope.page_list = [];
|
||||
$scope.page_num = d.page;
|
||||
|
||||
if ($scope.page_num < $scope.num_pages){
|
||||
$scope.page_num_next = $scope.page_num + 1;
|
||||
} else {
|
||||
$scope.page_num_next = $scope.num_pages;
|
||||
}
|
||||
|
||||
if ($scope.page_num > 1){
|
||||
$scope.page_num_prev = $scope.page_num - 1;
|
||||
} else {
|
||||
$scope.page_num_prev = 1;
|
||||
}
|
||||
|
||||
for(var i = 1; i <= $scope.num_pages; i++){
|
||||
$scope.page_list.push(i);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$scope.loadEventPageData(1);
|
||||
|
||||
|
||||
|
||||
});
|
||||
@@ -28,6 +28,9 @@ tagserver.config([
|
||||
}).when('/welltest', {
|
||||
templateUrl: '/templates/welltest.html',
|
||||
controller: 'wellTestCtrl'
|
||||
}).when('/events', {
|
||||
templateUrl: '/templates/events.html',
|
||||
controller: 'eventsCtrl'
|
||||
}).when('/', {
|
||||
templateUrl: '/templates/dashboard.html',
|
||||
controller: 'dashboardCtrl'
|
||||
|
||||
46
flask/app/static/templates/events.html
Normal file
46
flask/app/static/templates/events.html
Normal file
@@ -0,0 +1,46 @@
|
||||
<div class='container'>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1>Event History</h1>
|
||||
<div ng-if="num_pages>1" style="text-align:center;">
|
||||
<ul class="pagination">
|
||||
<li>
|
||||
<a ng-click="loadEventPageData(page_num_prev)" aria-label="Previous">
|
||||
<span aria-hidden="true">«</span>
|
||||
</a>
|
||||
</li>
|
||||
<li ng-repeat="p in page_list" ng-class="{'active':p==page_num}"><a ng-click="loadEventPageData(p)">{{p}}</a></li>
|
||||
<li>
|
||||
<a ng-click="loadEventPageData(page_num_next)" aria-label="Next">
|
||||
<span aria-hidden="true">»</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='row'>
|
||||
<div class='col-md-12'>
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Device Name</th>
|
||||
<th>Type</th>
|
||||
<th>Condition</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="e in event_data">
|
||||
<td nowrap>{{ e.created_on | date:'medium'}}</td>
|
||||
<td nowrap>{{ e.event.name }}</td>
|
||||
<td nowrap>{{ e.event_type }}</td>
|
||||
<td nowrap>{{ e.event_condition }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -134,37 +134,72 @@ def get_data(db_table, obj_id):
|
||||
# self.assertTrue(test_gauge_date[x] == go_in_db[x])
|
||||
|
||||
|
||||
class TestWellTest(unittest.TestCase):
|
||||
# class TestWellTest(unittest.TestCase):
|
||||
# def test_insert(self):
|
||||
# # duration_hours = db.Column(db.Float)
|
||||
# # volume_h2o_actual = db.Column(db.Float)
|
||||
# # volume_oil_actual = db.Column(db.Float)
|
||||
# # volume_gas_actual = db.Column(db.Float)
|
||||
# # volume_h2o_projected = db.Column(db.Float)
|
||||
# # volume_oil_projected = db.Column(db.Float)
|
||||
# # volume_gas_projected = db.Column(db.Float)
|
||||
# # api_gravity_oil = db.Column(db.Float)
|
||||
# # spc_gravity_h2o = db.Column(db.Float)
|
||||
# test_well_test = {
|
||||
# 'duration_hours': 24,
|
||||
# 'volume_h2o_actual': 1000.0,
|
||||
# 'volume_oil_actual': 900.0,
|
||||
# 'volume_gas_actual': 3500.0,
|
||||
# 'volume_h2o_projected': 1200.0,
|
||||
# 'volume_oil_projected': 700.0,
|
||||
# 'volume_gas_projected': 3495.5,
|
||||
# 'api_gravity_oil': 1.4,
|
||||
# 'spc_gravity_h2o': 1.001
|
||||
# }
|
||||
#
|
||||
# id_added = insert_data("well_test_vals", test_well_test)
|
||||
# print("Added well test at _id {}".format(id_added))
|
||||
#
|
||||
# if id_added > 0:
|
||||
# data_in_db = get_data("well_test_vals", id_added)
|
||||
# for x in test_well_test:
|
||||
# print("testing {}: {} == {}".format(x, test_well_test[x], data_in_db[x]))
|
||||
# self.assertTrue(test_well_test[x] == data_in_db[x])
|
||||
|
||||
class TestEvents(unittest.TestCase):
|
||||
def test_insert(self):
|
||||
# duration_hours = db.Column(db.Float)
|
||||
# volume_h2o_actual = db.Column(db.Float)
|
||||
# volume_oil_actual = db.Column(db.Float)
|
||||
# volume_gas_actual = db.Column(db.Float)
|
||||
# volume_h2o_projected = db.Column(db.Float)
|
||||
# volume_oil_projected = db.Column(db.Float)
|
||||
# volume_gas_projected = db.Column(db.Float)
|
||||
# api_gravity_oil = db.Column(db.Float)
|
||||
# spc_gravity_h2o = db.Column(db.Float)
|
||||
test_well_test = {
|
||||
'duration_hours': 24,
|
||||
'volume_h2o_actual': 1000.0,
|
||||
'volume_oil_actual': 900.0,
|
||||
'volume_gas_actual': 3500.0,
|
||||
'volume_h2o_projected': 1200.0,
|
||||
'volume_oil_projected': 700.0,
|
||||
'volume_gas_projected': 3495.5,
|
||||
'api_gravity_oil': 1.4,
|
||||
'spc_gravity_h2o': 1.001
|
||||
# event_id = db.Column(db.Integer, db.ForeignKey('event_configs._id'))
|
||||
# event_type = db.Column(db.String(64))
|
||||
# event_condition = db.Column(db.String(64))
|
||||
test_analog_event = {
|
||||
'event_id': 1,
|
||||
'event_type': 'Alarm',
|
||||
'event_condition': 'High Alarm'
|
||||
}
|
||||
|
||||
id_added = insert_data("well_test_vals", test_well_test)
|
||||
print("Added well test at _id {}".format(id_added))
|
||||
id_added = insert_data("events", test_analog_event)
|
||||
print("Added event at _id {}".format(id_added))
|
||||
|
||||
if id_added > 0:
|
||||
data_in_db = get_data("well_test_vals", id_added)
|
||||
for x in test_well_test:
|
||||
print("testing {}: {} == {}".format(x, test_well_test[x], data_in_db[x]))
|
||||
self.assertTrue(test_well_test[x] == data_in_db[x])
|
||||
data_in_db = get_data("events", id_added)
|
||||
for x in test_analog_event:
|
||||
print("testing {}: {} == {}".format(x, test_analog_event[x], data_in_db[x]))
|
||||
self.assertTrue(test_analog_event[x] == data_in_db[x])
|
||||
|
||||
test_bit_event = {
|
||||
'event_id': 16,
|
||||
'event_type': 'Info',
|
||||
'event_condition': 'Unit Start'
|
||||
}
|
||||
|
||||
id_added = insert_data("events", test_bit_event)
|
||||
print("Added event at _id {}".format(id_added))
|
||||
|
||||
if id_added > 0:
|
||||
data_in_db = get_data("events", id_added)
|
||||
for x in test_bit_event:
|
||||
print("testing {}: {} == {}".format(x, test_bit_event[x], data_in_db[x]))
|
||||
self.assertTrue(test_bit_event[x] == data_in_db[x])
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user