Changes to devices policy

revert-70aa11f8
Rasika Perera 8 years ago
parent 056f6d2f4e
commit 12c8483b4b

@ -17,6 +17,11 @@
*/ */
(function () { (function () {
var deviceId = $(".device-id");
var deviceIdentifier = deviceId.data("deviceid");
var deviceType = deviceId.data("type");
$(document).ready(function () { $(document).ready(function () {
$(".panel-body").removeClass("hidden"); $(".panel-body").removeClass("hidden");
$("#loading-content").remove(); $("#loading-content").remove();
@ -25,10 +30,6 @@
loadOperationsLog(); loadOperationsLog();
} }
if ($('#policies').length) {
loadPolicies();
}
if ($('#policy_compliance').length) { if ($('#policy_compliance').length) {
loadPolicyCompliance(); loadPolicyCompliance();
} }
@ -47,158 +48,187 @@
}); });
function loadOperationsLog(update) { function loadOperationsLog(update) {
var operationsLog = $("#operations-log"); var operationsLogTable = "#operations-log-table";
var deviceListingSrc = operationsLog.attr("src"); if (update) {
var deviceId = operationsLog.data("device-id"); operationTable = $(operationsLogTable).DataTable();
var deviceType = operationsLog.data("device-type"); operationTable.ajax.reload(false);
return;
$.template("operations-log", deviceListingSrc, function (template) {
var serviceURL = "/devicemgt_admin/operations/" + deviceType + "/" + deviceId;
var successCallback = function (data) {
data = JSON.parse(data);
$('#operations-spinner').addClass('hidden');
var viewModel = {};
viewModel.operations = data;
if (data.length > 0) {
var content = template(viewModel);
if (!update) {
$("#operations-log-container").html(content);
$('#operations-log-table').datatables_extended();
} else {
$('#operations-log-table').dataTable().fnClearTable();
for (var i = 0; i < data.length; i++) {
var status;
if (data[i].status == "COMPLETED") {
status = "<span><i class='fw fw-ok icon-success'></i> Completed</span>";
} else if (data[i].status == "PENDING") {
status = "<span><i class='fw fw-warning icon-warning'></i> Pending</span>";
} else if (data[i].status == "ERROR") {
status = "<span><i class='fw fw-error icon-danger'></i> Error</span>";
} else if (data[i].status == "IN_PROGRESS") {
status = "<span><i class='fw fw-ok icon-warning'></i> In Progress</span>";
} }
operationTable = $(operationsLogTable).datatables_extended({
$('#operations-log-table').dataTable().fnAddData([ serverSide: true,
data[i].code, processing: false,
status, searching: false,
data[i].createdTimeStamp ordering: false,
]); pageLength: 10,
order: [],
ajax: {
url: "/emm/api/operation/paginate",
data: {
deviceId: deviceIdentifier,
deviceType: deviceType
},
dataSrc: function (json) {
$("#operations-spinner").addClass(
"hidden");
$("#operations-log-container").empty();
return json.data;
} }
},
columnDefs: [
{targets: 0, data: "code"},
{
targets: 1,
data: "status",
render: function (status) {
var html;
switch (status) {
case "COMPLETED" :
html =
"<span><i class='fw fw-ok icon-success'></i> Completed</span>";
break;
case "PENDING" :
html =
"<span><i class='fw fw-warning icon-warning'></i> Pending</span>";
break;
case "ERROR" :
html =
"<span><i class='fw fw-error icon-danger'></i> Error</span>";
break;
case "IN_PROGRESS" :
html =
"<span><i class='fw fw-ok icon-warning'></i> In Progress</span>";
break;
case "REPEATED" :
html =
"<span><i class='fw fw-ok icon-warning'></i> Repeated</span>";
break;
} }
return html;
} }
},
}; {
invokerUtil.get(serviceURL, targets: 2,
successCallback, function (message) { data: "createdTimeStamp",
console.log(message); render: function (date) {
}); var value = String(date);
}); return value.slice(0, 16);
} }
function loadPolicies() {
var policyList = $("#policy-list");
var policyListingSrc = policyList.attr("src");
var deviceId = policyList.data("device-id");
var deviceType = policyList.data("device-type");
$.template("policy-list", policyListingSrc, function (template) {
var serviceURL = "/devicemgt_admin/policies";
var successCallback = function (data) {
data = JSON.parse(data);
$('#policy-spinner').addClass('hidden');
var policyListFromRestEndpoint = data.responseContent;
if (policyListFromRestEndpoint.length > 0) {
var viewModel = {};
var policyListToView = [];
var i, policyObjectFromRestEndpoint, policyObjectToView;
for (i = 0; i < policyListFromRestEndpoint.length; i++) {
// get list object
policyObjectFromRestEndpoint = policyListFromRestEndpoint[i];
// populate list object values to view-object
policyObjectToView = {};
policyObjectToView["id"] = policyObjectFromRestEndpoint["id"];
policyObjectToView["priorityId"] = policyObjectFromRestEndpoint["priorityId"];
policyObjectToView["name"] = policyObjectFromRestEndpoint["policyName"];
policyObjectToView["platform"] = policyObjectFromRestEndpoint["profile"]["deviceType"]["name"];
policyObjectToView["ownershipType"] = policyObjectFromRestEndpoint["ownershipType"];
policyObjectToView["compliance"] = policyObjectFromRestEndpoint["compliance"];
if (policyObjectFromRestEndpoint["active"] == true && policyObjectFromRestEndpoint["updated"] == true) {
policyObjectToView["status"] = "Active/Updated";
} else if (policyObjectFromRestEndpoint["active"] == true && policyObjectFromRestEndpoint["updated"] == false) {
policyObjectToView["status"] = "Active";
} else if (policyObjectFromRestEndpoint["active"] == false && policyObjectFromRestEndpoint["updated"] == true) {
policyObjectToView["status"] = "Inactive/Updated";
} else if (policyObjectFromRestEndpoint["active"] == false && policyObjectFromRestEndpoint["updated"] == false) {
policyObjectToView["status"] = "Inactive";
}
// push view-objects to list
policyListToView.push(policyObjectToView);
}
viewModel.policies = policyListToView;
var content = template(viewModel);
$("#policy-list-container").html(content);
$('#policy-table').datatables_extended();
} }
}; ],
invokerUtil.get(serviceURL, "createdRow": function (row, data) {
successCallback, function (message) { $(row).attr("data-type", "selectable");
console.log(message); $(row).attr("data-id", data["id"]);
}); $.each($("td", row),
function (colIndex) {
switch (colIndex) {
case 1:
$(this).attr(
"data-grid-label",
"Code");
$(this).attr(
"data-display",
data["code"]);
break;
case 2:
$(this).attr(
"data-grid-label",
"Status");
$(this).attr(
"data-display",
data["status"]);
break;
case 3:
$(this).attr(
"data-grid-label",
"Created Timestamp");
$(this).attr(
"data-display",
data["createdTimeStamp"]);
break;
}
}
);
}
}); });
} }
function loadPolicyCompliance() { function loadPolicyCompliance() {
var policyCompliance = $("#policy-view"); var policyCompliance = $("#policy-view");
var policySrc = policyCompliance.attr("src"); var policyComplianceTemplate = policyCompliance.attr("src");
var deviceId = policyCompliance.data("device-id"); var deviceId = policyCompliance.data("device-id");
var deviceType = policyCompliance.data("device-type"); var deviceType = policyCompliance.data("device-type");
var activePolicy = null; var activePolicy = null;
$.template("policy-view", policySrc, function (template) { $.template(
var serviceURLPolicy = "/devicemgt_admin/policies/" + deviceType + "/" + deviceId + "/active-policy" "policy-view",
var serviceURLCompliance = "/devicemgt_admin/policies/" + deviceType + "/" + deviceId; policyComplianceTemplate,
function (template) {
var successCallbackCompliance = function (data) { var getEffectivePolicyURL = "/api/device-mgt/v1.0/devices/" + deviceType + "/" + deviceId
+ "/effective-policy";
var getDeviceComplianceURL = "/api/device-mgt/v1.0/devices/" + deviceType + "/" + deviceId
+ "/compliance-data";
invokerUtil.get(
getEffectivePolicyURL,
// success-callback
function (data, textStatus, jqXHR) {
if (jqXHR.status == 200 && data) {
data = JSON.parse(data);
$("#policy-spinner").addClass("hidden");
if (data["active"] == true) {
activePolicy = data;
invokerUtil.get(
getDeviceComplianceURL,
// success-callback
function (data, textStatus, jqXHR) {
if (jqXHR.status == 200 && data) {
var viewModel = {}; var viewModel = {};
viewModel.policy = activePolicy; viewModel["policy"] = activePolicy;
viewModel.deviceType = deviceType; viewModel["deviceType"] = deviceType;
if (data != null && data.complianceFeatures != null && data.complianceFeatures != undefined && data.complianceFeatures.length > 0) { data = JSON.parse(data);
viewModel.compliance = "NON-COMPLIANT"; var content;
viewModel.complianceFeatures = data.complianceFeatures; if (data["complianceData"]) {
var content = template(viewModel); if (data["complianceData"]["complianceFeatures"] &&
data["complianceData"]["complianceFeatures"].length > 0) {
viewModel["compliance"] = "NON-COMPLIANT";
viewModel["complianceFeatures"] =
data["complianceData"]["complianceFeatures"];
content = template(viewModel);
$("#policy-list-container").html(content); $("#policy-list-container").html(content);
} else { } else {
viewModel.compliance = "COMPLIANT"; viewModel["compliance"] = "COMPLIANT";
var content = template(viewModel); content = template(viewModel);
$("#policy-list-container").html(content); $("#policy-list-container").html(content);
$("#policy-compliance-table").addClass("hidden"); $("#policy-compliance-table").addClass("hidden");
} }
} else {
}; $("#policy-list-container").html(
"<div class='panel-body'><br><p class='fw-warning'> This device " +
var successCallbackPolicy = function (data) { "has no policy applied.<p></div>");
data = JSON.parse(data);
$('#policy-spinner').addClass('hidden');
if (data != null && data.active == true) {
activePolicy = data;
invokerUtil.get(serviceURLCompliance,
successCallbackCompliance, function (message) {
console.log(message);
});
} }
}; }
},
invokerUtil.get(serviceURLPolicy, // error-callback
successCallbackPolicy, function (message) { function () {
console.log(message); $("#policy-list-container").html(
}); "<div class='panel-body'><br><p class='fw-warning'> Loading policy compliance related data "
}); +
"was not successful. please try refreshing data in a while.<p></div>");
}
);
}
}
},
// error-callback
function () {
$("#policy-list-container").html(
"<div class='panel-body'><br><p class='fw-warning'> Loading policy compliance related data "
+
"was not successful. please try refreshing data in a while.<p></div>");
}
);
}
);
} }
}()); }());

Loading…
Cancel
Save