mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge pull request #550 from Kamidu/release-2.0.x
Recomended security fixes
This commit is contained in:
commit
3d8a18da15
@ -375,15 +375,15 @@ function loadDevices(searchType, searchParam) {
|
|||||||
|
|
||||||
var fnCreatedRow = function (row, data, dataIndex) {
|
var fnCreatedRow = function (row, data, dataIndex) {
|
||||||
$(row).attr('data-type', 'selectable');
|
$(row).attr('data-type', 'selectable');
|
||||||
$(row).attr('data-deviceid', data.deviceIdentifier);
|
$(row).attr('data-deviceid', htmlspecialchars(data.deviceIdentifier));
|
||||||
$(row).attr('data-devicetype', data.deviceType);
|
$(row).attr('data-devicetype', htmlspecialchars(data.deviceType));
|
||||||
$(row).attr('data-url', context + '/device/' + data.deviceType + '?id=' + data.deviceIdentifier);
|
$(row).attr('data-url', context + '/device/' + htmlspecialchars(data.deviceType) + '?id=' + htmlspecialchars(data.deviceIdentifier));
|
||||||
var model = getPropertyValue(data.properties, 'DEVICE_MODEL');
|
var model = htmlspecialchars(getPropertyValue(data.properties, 'DEVICE_MODEL'));
|
||||||
var vendor = getPropertyValue(data.properties, 'VENDOR');
|
var vendor = htmlspecialchars(getPropertyValue(data.properties, 'VENDOR'));
|
||||||
var owner = data.user;
|
var owner = htmlspecialchars(data.user);
|
||||||
var status = data.status;
|
var status = htmlspecialchars(data.status);
|
||||||
var ownership = data.ownership;
|
var ownership = htmlspecialchars(data.ownership);
|
||||||
var deviceType = data.deviceType;
|
var deviceType = htmlspecialchars(data.deviceType);
|
||||||
var category = getDeviceTypeCategory(deviceType);
|
var category = getDeviceTypeCategory(deviceType);
|
||||||
$.each($('td', row), function (colIndex) {
|
$.each($('td', row), function (colIndex) {
|
||||||
switch (colIndex) {
|
switch (colIndex) {
|
||||||
@ -417,6 +417,10 @@ function loadDevices(searchType, searchParam) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function htmlspecialchars(text){
|
||||||
|
return jQuery('<div/>').text(text).html();
|
||||||
|
}
|
||||||
|
|
||||||
var dataFilter = function (data) {
|
var dataFilter = function (data) {
|
||||||
data = JSON.parse(data);
|
data = JSON.parse(data);
|
||||||
var objects = [];
|
var objects = [];
|
||||||
|
|||||||
@ -112,6 +112,10 @@ function toTitleCase(str) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function htmlspecialchars(text){
|
||||||
|
return jQuery('<div/>').text(text).html();
|
||||||
|
}
|
||||||
|
|
||||||
function loadGroups() {
|
function loadGroups() {
|
||||||
var groupListing = $("#group-listing");
|
var groupListing = $("#group-listing");
|
||||||
var currentUser = groupListing.data("currentUser");
|
var currentUser = groupListing.data("currentUser");
|
||||||
@ -134,10 +138,10 @@ function loadGroups() {
|
|||||||
var objects = [];
|
var objects = [];
|
||||||
$(data.deviceGroups).each(function (index) {
|
$(data.deviceGroups).each(function (index) {
|
||||||
objects.push({
|
objects.push({
|
||||||
groupId: data.deviceGroups[index].id,
|
groupId: htmlspecialchars(data.deviceGroups[index].id),
|
||||||
name: data.deviceGroups[index].name,
|
name: htmlspecialchars(data.deviceGroups[index].name),
|
||||||
description: data.deviceGroups[index].description,
|
description: htmlspecialchars(data.deviceGroups[index].description),
|
||||||
owner: data.deviceGroups[index].owner
|
owner: htmlspecialchars(data.deviceGroups[index].owner)
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
var json = {
|
var json = {
|
||||||
|
|||||||
@ -109,6 +109,7 @@ function getSelectedPolicies() {
|
|||||||
return policyList;
|
return policyList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -86,6 +86,10 @@ function InitiateViewOption() {
|
|||||||
// $(location).attr('href', $(this).data("url"));
|
// $(location).attr('href', $(this).data("url"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function htmlspecialchars(text){
|
||||||
|
return jQuery('<div/>').text(text).html();
|
||||||
|
}
|
||||||
|
|
||||||
function loadRoles() {
|
function loadRoles() {
|
||||||
var loadingContent = $("#loading-content");
|
var loadingContent = $("#loading-content");
|
||||||
loadingContent.show();
|
loadingContent.show();
|
||||||
@ -98,8 +102,8 @@ function loadRoles() {
|
|||||||
$(data.roles).each(function (index) {
|
$(data.roles).each(function (index) {
|
||||||
objects.push(
|
objects.push(
|
||||||
{
|
{
|
||||||
name: data.roles[index],
|
name: htmlspecialchars(data.roles[index]),
|
||||||
DT_RowId: "role-" + data.roles[index]
|
DT_RowId: "role-" + htmlspecialchars(data.roles[index])
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
});
|
});
|
||||||
|
|||||||
@ -258,6 +258,10 @@ function InitiateViewOption() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function htmlspecialchars(text){
|
||||||
|
return jQuery('<div/>').text(text).html();
|
||||||
|
}
|
||||||
|
|
||||||
function loadUsers() {
|
function loadUsers() {
|
||||||
var loadingContentView = "#loading-content";
|
var loadingContentView = "#loading-content";
|
||||||
$(loadingContentView).show();
|
$(loadingContentView).show();
|
||||||
@ -269,11 +273,11 @@ function loadUsers() {
|
|||||||
|
|
||||||
$(data.users).each(function (index) {
|
$(data.users).each(function (index) {
|
||||||
objects.push({
|
objects.push({
|
||||||
filter: data.users[index].username,
|
filter: htmlspecialchars(data.users[index].username),
|
||||||
firstname: data.users[index].firstname ? data.users[index].firstname : "",
|
firstname: htmlspecialchars(data.users[index].firstname) ? htmlspecialchars(data.users[index].firstname) : "",
|
||||||
lastname: data.users[index].lastname ? data.users[index].lastname : "",
|
lastname: htmlspecialchars(data.users[index].lastname) ? htmlspecialchars(data.users[index].lastname) : "",
|
||||||
emailAddress: data.users[index].emailAddress ? data.users[index].emailAddress : "",
|
emailAddress: htmlspecialchars(data.users[index].emailAddress) ? htmlspecialchars(data.users[index].emailAddress) : "",
|
||||||
DT_RowId: "user-" + data.users[index].username
|
DT_RowId: "user-" + htmlspecialchars(data.users[index].username)
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -41,22 +41,22 @@ $(document).ready(function () {
|
|||||||
|
|
||||||
/* for device list sorting drop down */
|
/* for device list sorting drop down */
|
||||||
$(".ctrl-filter-type-switcher").popover({
|
$(".ctrl-filter-type-switcher").popover({
|
||||||
html : true,
|
html: true,
|
||||||
content : function () {
|
content: function () {
|
||||||
return $("#content-filter-types").html();
|
return $("#content-filter-types").html();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(".ast-container").on("click", ".claim-btn", function(e){
|
$(".ast-container").on("click", ".claim-btn", function (e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
var deviceId = $(this).data("deviceid");
|
var deviceId = $(this).data("deviceid");
|
||||||
var deviceListing = $("#device-listing");
|
var deviceListing = $("#device-listing");
|
||||||
var currentUser = deviceListing.data("current-user");
|
var currentUser = deviceListing.data("current-user");
|
||||||
var serviceURL = "/temp-controller-agent/enrollment/claim?username=" + currentUser;
|
var serviceURL = "/temp-controller-agent/enrollment/claim?username=" + currentUser;
|
||||||
var deviceIdentifier = {id: deviceId, type: "TemperatureController"};
|
var deviceIdentifier = {id: deviceId, type: "TemperatureController"};
|
||||||
invokerUtil.put(serviceURL, deviceIdentifier, function(message){
|
invokerUtil.put(serviceURL, deviceIdentifier, function (message) {
|
||||||
console.log(message);
|
console.log(message);
|
||||||
}, function(message){
|
}, function (message) {
|
||||||
console.log(message);
|
console.log(message);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -68,15 +68,15 @@ $(document).ready(function () {
|
|||||||
* @param button: Select All Device button
|
* @param button: Select All Device button
|
||||||
*/
|
*/
|
||||||
function selectAllDevices(button) {
|
function selectAllDevices(button) {
|
||||||
if(!$(button).data('select')){
|
if (!$(button).data('select')) {
|
||||||
$(deviceCheckbox).each(function(index){
|
$(deviceCheckbox).each(function (index) {
|
||||||
$(this).prop('checked', true);
|
$(this).prop('checked', true);
|
||||||
addDeviceSelectedClass(this);
|
addDeviceSelectedClass(this);
|
||||||
});
|
});
|
||||||
$(button).data('select', true);
|
$(button).data('select', true);
|
||||||
$(button).html('Deselect All Devices');
|
$(button).html('Deselect All Devices');
|
||||||
}else{
|
} else {
|
||||||
$(deviceCheckbox).each(function(index){
|
$(deviceCheckbox).each(function (index) {
|
||||||
$(this).prop('checked', false);
|
$(this).prop('checked', false);
|
||||||
addDeviceSelectedClass(this);
|
addDeviceSelectedClass(this);
|
||||||
});
|
});
|
||||||
@ -92,7 +92,7 @@ function selectAllDevices(button) {
|
|||||||
* @param selection: Selection button
|
* @param selection: Selection button
|
||||||
*/
|
*/
|
||||||
function changeDeviceView(view, selection) {
|
function changeDeviceView(view, selection) {
|
||||||
$(".view-toggle").each(function() {
|
$(".view-toggle").each(function () {
|
||||||
$(this).removeClass("selected");
|
$(this).removeClass("selected");
|
||||||
});
|
});
|
||||||
$(selection).addClass("selected");
|
$(selection).addClass("selected");
|
||||||
@ -117,27 +117,33 @@ function addDeviceSelectedClass(checkbox) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function toTitleCase(str) {
|
function toTitleCase(str) {
|
||||||
return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
|
return str.replace(/\w\S*/g, function (txt) {
|
||||||
|
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var deviceTypeCount, compiledDeviceTypesCount = 0;
|
var deviceTypeCount, compiledDeviceTypesCount = 0;
|
||||||
|
|
||||||
function loadDevices(searchType, searchParam){
|
function htmlspecialchars(text) {
|
||||||
|
return jQuery('<div/>').text(text).html();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadDevices(searchType, searchParam) {
|
||||||
var deviceListing = $("#device-listing");
|
var deviceListing = $("#device-listing");
|
||||||
var deviceListingSrc = deviceListing.attr("src");
|
var deviceListingSrc = deviceListing.attr("src");
|
||||||
var currentUser = deviceListing.data("currentUser");
|
var currentUser = deviceListing.data("currentUser");
|
||||||
|
|
||||||
$('#ast-container').html("");
|
$('#ast-container').html("");
|
||||||
deviceTypeCount = deviceTypesList.length;
|
deviceTypeCount = deviceTypesList.length;
|
||||||
if(deviceTypesList.length > 0){
|
if (deviceTypesList.length > 0) {
|
||||||
for (var i = 0; i < deviceTypesList.length; i++) {
|
for (var i = 0; i < deviceTypesList.length; i++) {
|
||||||
var viewModel = {};
|
var viewModel = {};
|
||||||
viewModel.thumb = deviceTypesList[i].thumb;
|
viewModel.thumb = deviceTypesList[i].thumb;
|
||||||
viewModel.appContext = clientJsAppContext;
|
viewModel.appContext = clientJsAppContext;
|
||||||
viewModel.deviceTypeName = deviceTypesList[i].deviceTypeName;
|
viewModel.deviceTypeName = htmlspecialchars(deviceTypesList[i].deviceTypeName);
|
||||||
viewModel.deviceTypeId = deviceTypesList[i].deviceTypeId;
|
viewModel.deviceTypeId = htmlspecialchars(deviceTypesList[i].deviceTypeId);
|
||||||
viewModel.deviceCategory = deviceTypesList[i].deviceCategory;
|
viewModel.deviceCategory = htmlspecialchars(deviceTypesList[i].deviceCategory);
|
||||||
viewModel.deviceTypeLabel = deviceTypesList[i].deviceTypeLabel;
|
viewModel.deviceTypeLabel = htmlspecialchars(deviceTypesList[i].deviceTypeLabel);
|
||||||
compileTemplate(viewModel, deviceListingSrc);
|
compileTemplate(viewModel, deviceListingSrc);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -155,12 +161,12 @@ function loadDevices(searchType, searchParam){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function compileTemplate(viewModel, templateSrc){
|
function compileTemplate(viewModel, templateSrc) {
|
||||||
$.template("device-listing", templateSrc, function (template) {
|
$.template("device-listing", templateSrc, function (template) {
|
||||||
$("#ast-container").html($("#ast-container").html() + template(viewModel));
|
$("#ast-container").html($("#ast-container").html() + template(viewModel));
|
||||||
compiledDeviceTypesCount++;
|
compiledDeviceTypesCount++;
|
||||||
if(deviceTypeCount == compiledDeviceTypesCount){
|
if (deviceTypeCount == compiledDeviceTypesCount) {
|
||||||
$('#device-type-grid').datatables_extended({"bFilter": false, "order": [[ 1, "asc" ]]});
|
$('#device-type-grid').datatables_extended({"bFilter": false, "order": [[1, "asc"]]});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -171,17 +177,16 @@ function compileTemplate(viewModel, templateSrc){
|
|||||||
var deviceCheckbox = "#ast-container .ctrl-wr-asset .itm-select input[type='checkbox']";
|
var deviceCheckbox = "#ast-container .ctrl-wr-asset .itm-select input[type='checkbox']";
|
||||||
var assetContainer = "#ast-container";
|
var assetContainer = "#ast-container";
|
||||||
|
|
||||||
function openCollapsedNav(){
|
function openCollapsedNav() {
|
||||||
$('.wr-hidden-nav-toggle-btn').addClass('active');
|
$('.wr-hidden-nav-toggle-btn').addClass('active');
|
||||||
$('#hiddenNav').slideToggle('slideDown', function(){
|
$('#hiddenNav').slideToggle('slideDown', function () {
|
||||||
if($(this).css('display') == 'none'){
|
if ($(this).css('display') == 'none') {
|
||||||
$('.wr-hidden-nav-toggle-btn').removeClass('active');
|
$('.wr-hidden-nav-toggle-btn').removeClass('active');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DOM ready functions.
|
* DOM ready functions.
|
||||||
*/
|
*/
|
||||||
@ -196,22 +201,22 @@ $(document).ready(function () {
|
|||||||
|
|
||||||
/* for device list sorting drop down */
|
/* for device list sorting drop down */
|
||||||
$(".ctrl-filter-type-switcher").popover({
|
$(".ctrl-filter-type-switcher").popover({
|
||||||
html : true,
|
html: true,
|
||||||
content : function () {
|
content: function () {
|
||||||
return $("#content-filter-types").html();
|
return $("#content-filter-types").html();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(".ast-container").on("click", ".claim-btn", function(e){
|
$(".ast-container").on("click", ".claim-btn", function (e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
var deviceId = $(this).data("deviceid");
|
var deviceId = $(this).data("deviceid");
|
||||||
var deviceListing = $("#device-listing");
|
var deviceListing = $("#device-listing");
|
||||||
var currentUser = deviceListing.data("current-user");
|
var currentUser = deviceListing.data("current-user");
|
||||||
var serviceURL = "/temp-controller-agent/enrollment/claim?username=" + currentUser;
|
var serviceURL = "/temp-controller-agent/enrollment/claim?username=" + currentUser;
|
||||||
var deviceIdentifier = {id: deviceId, type: "TemperatureController"};
|
var deviceIdentifier = {id: deviceId, type: "TemperatureController"};
|
||||||
invokerUtil.put(serviceURL, deviceIdentifier, function(message){
|
invokerUtil.put(serviceURL, deviceIdentifier, function (message) {
|
||||||
console.log(message);
|
console.log(message);
|
||||||
}, function(message){
|
}, function (message) {
|
||||||
console.log(message);
|
console.log(message);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -222,20 +227,20 @@ $(document).ready(function () {
|
|||||||
$("[data-toggle=popover]").popover();
|
$("[data-toggle=popover]").popover();
|
||||||
|
|
||||||
$(".ctrl-filter-type-switcher").popover({
|
$(".ctrl-filter-type-switcher").popover({
|
||||||
html : true,
|
html: true,
|
||||||
content: function() {
|
content: function () {
|
||||||
return $('#content-filter-types').html();
|
return $('#content-filter-types').html();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#nav').affix({
|
$('#nav').affix({
|
||||||
offset: {
|
offset: {
|
||||||
top: $('header').height()
|
top: $('header').height()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on("click", "tr.clickable-row", function(){
|
$(document).on("click", "tr.clickable-row", function () {
|
||||||
window.document.location = $(this).data('href');
|
window.document.location = $(this).data('href');
|
||||||
})
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user