diff --git a/flask/app/static/index.html b/flask/app/static/index.html index 55c12fe..7bf0f66 100644 --- a/flask/app/static/index.html +++ b/flask/app/static/index.html @@ -38,7 +38,7 @@
  • Tags
  • Gauge Off
  • Well Test
  • -
  • Events
  • +
  • Events
  • Notes
  • Docs
  • @@ -89,6 +89,7 @@ + diff --git a/flask/app/static/js/events.controller.js b/flask/app/static/js/events.controller.js new file mode 100644 index 0000000..75653ab --- /dev/null +++ b/flask/app/static/js/events.controller.js @@ -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); + + + +}); diff --git a/flask/app/static/js/router.js b/flask/app/static/js/router.js index fe81a31..e73d8d4 100644 --- a/flask/app/static/js/router.js +++ b/flask/app/static/js/router.js @@ -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' diff --git a/flask/app/static/templates/events.html b/flask/app/static/templates/events.html new file mode 100644 index 0000000..4aab829 --- /dev/null +++ b/flask/app/static/templates/events.html @@ -0,0 +1,46 @@ +
    +
    +
    +

    Event History

    +
    + +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + + + +
    DateDevice NameTypeCondition
    {{ e.created_on | date:'medium'}}{{ e.event.name }}{{ e.event_type }}{{ e.event_condition }}
    +
    +
    +
    diff --git a/flask/tests/dbtests.py b/flask/tests/dbtests.py index d6cc760..dd73bbc 100644 --- a/flask/tests/dbtests.py +++ b/flask/tests/dbtests.py @@ -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])