mirror of
https://github.com/hak5/nano-tetra-modules.git
synced 2025-10-29 16:58:09 +00:00
Add modules to repository
This commit is contained in:
230
get/js/module.js
Normal file
230
get/js/module.js
Normal file
@@ -0,0 +1,230 @@
|
||||
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;
|
||||
}
|
||||
|
||||
}]);
|
||||
Reference in New Issue
Block a user