230 lines
7.8 KiB
JavaScript
230 lines
7.8 KiB
JavaScript
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;
|
|
}
|
|
|
|
}]); |