| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- registerController("getController", ['$api', '$scope', function($api, $scope) {
- getControls();
- getClientProfiles();
- $scope.messages = [];
- $scope.profiles = [];
- $scope.throbber = true;
- $scope.enabled = false;
- $scope.hidden = false;
- $scope.dbonsd = false;
- $scope.comments = "";
- $scope.workshopProfile = {id: "", hostname: "", info: "", mac: "", ip: "", comments: "", date: ""};
- $scope.handleControl = function(control) {
- control.throbber = true;
- switch (control.title) {
- /*
- case "Hidden iFrame":
- $api.request({
- module: "get",
- action: "handleIFrame",
- data: $scope.hidden
- }, function(response) {
- getControls();
- control.throbber = false;
-
- // based on the response from the module, we need to update the variable in the browser
- if ( response.hidden_status == "true" ) $scope.hidden = true;
- if ( response.hidden_status == "false" ) $scope.hidden = false;
- // write message to messages panel
- $scope.sendMessage(control.title, response.control_message ); // + " " + response.hidden_status);
- });
- break;
- */
-
- case "Enable Module":
- $api.request({
- module: "get",
- action: "handleInfoGetter",
- data: $scope.enabled
- }, function(response) {
- getControls();
- control.throbber = false;
-
- // based on the response from the module, we need to update the variable in the browser
- if ( response.enabled_status == "true" ) $scope.enabled = true;
- if ( response.enabled_status == "false" ) $scope.enabled = false;
-
- // write message to messages panel
- $scope.sendMessage(control.title, response.control_message ); // + " " + response.enabled_status);
- });
- break;
- case "Database on SD":
- //alert($scope.dbonsd);
- $api.request({
- module: "get",
- action: "handleDBLocation",
- data: $scope.dbonsd
- }, function(response) {
- getControls();
- control.throbber = false;
-
- // based on the response from the module, we need to update the variable in the browser
- if ( response.dbonsd_status == "true" ) $scope.dbonsd = true;
- if ( response.dbonsd_status == "false" ) $scope.dbonsd = false;
-
- // write message to messages panel
- $scope.sendMessage(control.title, response.control_message ); // + " " + response.dbonsd_status);
- });
- break;
- }
- }
- $scope.getComments = function(profile) {
- console.log("Getting comments for: " + profile.mac );
- $scope.workshopProfile = profile;
-
- $api.request({
- module: "get",
- action: "getComments",
- id: profile.id,
- mac: profile.mac
- }, function(response) {
- $scope.sendMessage("Retrieved comments ", response.message);
- console.log( $scope.workshopProfile );
- });
- }
- $scope.saveComments = function(profileid, mac, comments) {
- //console.log("Saving comments for: " + profileid + " Comments: " + comments);
- $api.request({
- module: "get",
- action: "saveComments",
- id: profileid,
- comments: comments,
- mac: mac
- }, function(response) {
- $scope.sendMessage("Comments Saved ", response.message);
- // we need to refresh the data for all records... This is not a good design, but ok for now..
- getClientProfiles();
- });
- }
- $scope.deleteProfile = function(profile) {
- //console.log( profile.mac );
- $api.request({
- module: "get",
- action: "deleteProfile",
- mac: profile.mac,
- id: profile.id
- }, function(response) {
- $scope.sendMessage("Record Deleted ", response.message);
- getClientProfiles();
- });
- }
- $scope.viewInformation = function(profile) {
- //console.log( profile.mac );
- $api.request({
- module: "get",
- action: "viewInformation",
- mac: profile.mac,
- id: profile.id
- }, function(response) {
- $scope.sendMessage("View information ", response.message);
- $scope.workshopProfile.info = response.info;
- });
- }
- $scope.sendMessage = function(t, m) {
- // Add a new message to the top of the list
- $scope.messages.unshift({title: t, msg: m});
- // if there are 4 items in the list remove the 4th item
- if ($scope.messages.length == 4) {
- $scope.dismissMessage(3);
- }
- }
- $scope.dismissMessage = function($index) {
- //var index = $scope.messages.indexOf(message);
- $scope.messages.splice($index, 1);
- }
- function getControls() {
- $scope.throbber = true;
- $api.request({
- module: "get",
- action: "getControlValues"
- }, function(response) {
- updateControls(response);
- });
- }
- function getClientProfiles() {
- $scope.throbber = true;
- $api.request({
- module: "get",
- action: "getClientProfiles"
- }, function (response) {
- $scope.profiles = [];
- $scope.throbber = false;
- for (var i = 0; i < response.length; i++) {
- $scope.profiles.unshift({id: response[i].id, mac: response[i].mac, ip: response[i].ip, hostname: response[i].hostname, date: response[i].date, comments: response[i].comments});
- //console.log( {id: response[i].id, mac: response[i].mac, ip: response[i].ip, hostname: response[i].hostname, date: response[i].date, comments: response[i].comments} );
- }
- });
- }
- function updateControls(response) {
- var hidden;
- var enabled;
- var dbonsd;
-
- if (response.hidden == false) {
- hidden = "Install";
- //$scope.sendMessage("iFrame not installed", "The get module requires the hidden frame to be installed");
- $scope.hidden = false;
- } else {
- hidden = "Uninstall";
- $scope.hidden = true;
- }
-
- if (response.enabled == false) {
- enabled = "Enable";
- $scope.enabled = false;
- } else {
- enabled = "Disable";
- $scope.enabled = true;
- }
-
- if (response.dbonsd == false) {
- dbonsd = "Enable";
- //$scope.sendMessage("Database location", "The database will be stored on the SD card");
- $scope.dbonsd = false;
- } else {
- dbonsd = "Disable";
- $scope.dbonsd = true;
- }
- // set parameters that are passed to the html
- $scope.controls = [
- /*
- {
- title: "Hidden iFrame",
- status: hidden,
- visible: true,
- throbber: false
- },
- */
- {
- title: "Enable Module",
- status: enabled,
- visible: true,
- throbber: false
- },
- {
- title: "Database on SD",
- status: dbonsd,
- visible: true,
- throbber: false
- }];
- $scope.throbber = false;
- }
- }]);
|