Merge pull request #632 from Kamidu/cloud-3.1.0

Device location refresh and COPE related policy filtering in Cloud 3.1.0
revert-dabc3590
Ruwan 8 years ago committed by GitHub
commit e08f9249b5

@ -119,7 +119,7 @@
</div> </div>
<div class="add-margin-top-4x"> <div class="add-margin-top-4x">
{{unit "cdmf.unit.device.type.android.operation-bar" device=device {{unit "cdmf.unit.device.type.android.operation-bar" device=device
backendApiUri=backendApiUri autoCompleteParams=autoCompleteParams}} backendApiUri=backendApiUri autoCompleteParams=autoCompleteParams}}
</div> </div>
{{/if}} {{/if}}
{{/zone}} {{/zone}}
@ -328,7 +328,14 @@
</a> </a>
</h4> </h4>
</div> </div>
<div class="panel-heading display-none-xs">Device Location</div> <div class="panel-heading display-none-xs">
Device Location
<span>
<a href="javascript:void(0);" id="refresh-location">
<i class="fw fw-refresh"></i>
</a>
</span>
</div>
<div id="collapseThree" class="panel-collapse collapse in" role="tabpanel" <div id="collapseThree" class="panel-collapse collapse in" role="tabpanel"
aria-labelledby="device_location"> aria-labelledby="device_location">
<div class="panel-body"> <div class="panel-body">

@ -35,6 +35,37 @@ var InitiateViewOption = null;
serviceUrl = "/api/device-mgt/android/v1.0/admin/devices/info"; serviceUrl = "/api/device-mgt/android/v1.0/admin/devices/info";
serviceUrlLocal = "/api/device-mgt/android/v1.0/admin/devices/location"; serviceUrlLocal = "/api/device-mgt/android/v1.0/admin/devices/location";
} }
if (serviceUrl) {
invokerUtil.post(
serviceUrl,
payload,
// success-callback
function () {
$(".panel-body").show();
},
// error-callback
function () {
var defaultInnerHTML =
"<br><p class='fw-warning'>Device data may not have been updated. Please refresh to try again.<p>";
$(".panel-body").append(defaultInnerHTML);
}
);
invokerUtil.post(
serviceUrlLocal,
payload,
// success-callback
function () {
$(".panel-body").show();
},
// error-callback
function () {
var defaultInnerHTML =
"<br><p class='fw-warning'>Device data may not have been updated. Please refresh to try again.<p>";
$(".panel-body").append(defaultInnerHTML);
}
);
}
$(".media.tab-responsive [data-toggle=tab]").on("shown.bs.tab", function (e) { $(".media.tab-responsive [data-toggle=tab]").on("shown.bs.tab", function (e) {
var activeTabPane = $(e.target).attr("href"); var activeTabPane = $(e.target).attr("href");
@ -55,12 +86,12 @@ var InitiateViewOption = null;
}); });
$('.media.tab-responsive a[data-toggle="collapse"]').on('click',function(){ $('.media.tab-responsive a[data-toggle="collapse"]').on('click', function () {
var clickedPanel = $(this).attr('href'); var clickedPanel = $(this).attr('href');
if($(clickedPanel).hasClass('in')){ if ($(clickedPanel).hasClass('in')) {
$(clickedPanel).collapse('hide'); $(clickedPanel).collapse('hide');
}else{ } else {
$(clickedPanel).collapse('show'); $(clickedPanel).collapse('show');
} }
}); });
@ -74,26 +105,26 @@ var InitiateViewOption = null;
var parentHeight = $(arrow).parent().innerHeight(); var parentHeight = $(arrow).parent().innerHeight();
if($(selectedTab).prev().length){ if ($(selectedTab).prev().length) {
$(selectedTab).prevAll().each(function() { $(selectedTab).prevAll().each(function () {
totalHeight += $(this).innerHeight(); totalHeight += $(this).innerHeight();
}); });
arrowPosition = totalHeight + (selectedTabHeight / 2); arrowPosition = totalHeight + (selectedTabHeight / 2);
}else{ } else {
arrowPosition = selectedTabHeight / 2; arrowPosition = selectedTabHeight / 2;
} }
if(arrowPosition >= parentHeight){ if (arrowPosition >= parentHeight) {
parentHeight = arrowPosition + 50; parentHeight = arrowPosition + 50;
$(arrow).siblings(".panel.active").height(parentHeight); $(arrow).siblings(".panel.active").height(parentHeight);
}else{ } else {
$(arrow).parent().removeAttr("style"); $(arrow).parent().removeAttr("style");
} }
$(arrow).css("top", arrowPosition - 10); $(arrow).css("top", arrowPosition - 10);
} }
$(document).ready(function() { $(document).ready(function () {
$(".device-detail-body").removeClass("hidden"); $(".device-detail-body").removeClass("hidden");
$("#loading-content").remove(); $("#loading-content").remove();
loadApplicationsList(); loadApplicationsList();
@ -109,7 +140,7 @@ var InitiateViewOption = null;
loadApplicationsList(); loadApplicationsList();
}); });
}); });
function loadOperationsLog(update) { function loadOperationsLog(update) {
var owner = $("#device-owner").data("owner"); var owner = $("#device-owner").data("owner");
var operationsLogTable = "#operations-log-table"; var operationsLogTable = "#operations-log-table";
@ -122,12 +153,12 @@ var InitiateViewOption = null;
serverSide: true, serverSide: true,
processing: false, processing: false,
searching: false, searching: false,
ordering: false, ordering: false,
pageLength : 10, pageLength: 10,
order: [], order: [],
ajax: { ajax: {
url: "/devicemgt/api/operation/paginate", url: "/devicemgt/api/operation/paginate",
data: {deviceId : deviceIdentifier, deviceType: deviceType, owner:owner}, data: {deviceId: deviceIdentifier, deviceType: deviceType, owner: owner},
dataSrc: function (json) { dataSrc: function (json) {
$("#operations-spinner").addClass("hidden"); $("#operations-spinner").addClass("hidden");
$("#operations-log-container").empty(); $("#operations-log-container").empty();
@ -135,43 +166,43 @@ var InitiateViewOption = null;
} }
}, },
columnDefs: [ columnDefs: [
{targets: 0, data: "code" }, {targets: 0, data: "code"},
{targets: 1, data: "status", render: {
function (status) { targets: 1, data: "status", render: function (status) {
var html; var html;
switch (status) { switch (status) {
case "COMPLETED" : case "COMPLETED" :
html = "<span><i class='fw fw-success icon-success'></i> Completed</span>"; html = "<span><i class='fw fw-success icon-success'></i> Completed</span>";
break; break;
case "PENDING" : case "PENDING" :
html = "<span><i class='fw fw-warning icon-warning'></i> Pending</span>"; html = "<span><i class='fw fw-warning icon-warning'></i> Pending</span>";
break; break;
case "ERROR" : case "ERROR" :
html = "<span><i class='fw fw-error icon-danger'></i> Error</span>"; html = "<span><i class='fw fw-error icon-danger'></i> Error</span>";
break; break;
case "IN_PROGRESS" : case "IN_PROGRESS" :
html = "<span><i class='fw fw-success icon-warning'></i> In Progress</span>"; html = "<span><i class='fw fw-success icon-warning'></i> In Progress</span>";
break; break;
case "REPEATED" : case "REPEATED" :
html = "<span><i class='fw fw-success icon-warning'></i> Repeated</span>"; html = "<span><i class='fw fw-success icon-warning'></i> Repeated</span>";
break; break;
}
return html;
} }
return html;
}
}, },
{targets: 2, data: "createdTimeStamp", render: {
function (date) { targets: 2, data: "createdTimeStamp", render: function (date) {
var value = String(date); var value = String(date);
return value.slice(0, 16); return value.slice(0, 16);
} }
} }
], ],
"createdRow": function(row, data) { "createdRow": function (row, data) {
$(row).attr("data-type", "selectable"); $(row).attr("data-type", "selectable");
$(row).attr("data-id", data["id"]); $(row).attr("data-id", data["id"]);
$.each($("td", row), $.each($("td", row),
function(colIndex) { function (colIndex) {
switch(colIndex) { switch (colIndex) {
case 1: case 1:
$(this).attr("data-grid-label", "Code"); $(this).attr("data-grid-label", "Code");
$(this).attr("data-display", data["code"]); $(this).attr("data-display", data["code"]);
@ -220,18 +251,16 @@ var InitiateViewOption = null;
var content = template(viewModel); var content = template(viewModel);
$("#applications-list-container").html(content); $("#applications-list-container").html(content);
} else { } else {
$("#applications-list-container"). $("#applications-list-container").html("<div class='message message-info'><h4><i class='icon fw fw-info'></i>No applications found.</h4>" +
html("<div class='message message-info'><h4><i class='icon fw fw-info'></i>No applications found.</h4>" + "<p>Please try refreshing the list in a while.</p></div>");
"<p>Please try refreshing the list in a while.</p></div>");
} }
} }
}, },
// error-callback // error-callback
function () { function () {
$("#applications-list-container"). $("#applications-list-container").html("<div class='panel-body'><br><p class='fw-warning'>&nbsp;Loading application list " +
html("<div class='panel-body'><br><p class='fw-warning'>&nbsp;Loading application list " + "was not successful. please try refreshing the list in a while.<p></div>");
"was not successful. please try refreshing the list in a while.<p></div>"); });
});
}); });
} }
@ -282,17 +311,15 @@ var InitiateViewOption = null;
$("#policy-compliance-table").addClass("hidden"); $("#policy-compliance-table").addClass("hidden");
} }
} else { } else {
$("#policy-list-container"). $("#policy-list-container").html("<div class='panel-body'><br><p class='fw-warning'> This device " +
html("<div class='panel-body'><br><p class='fw-warning'> This device " + "has no policy applied.<p></div>");
"has no policy applied.<p></div>");
} }
} }
}, },
// error-callback // error-callback
function () { function () {
$("#policy-list-container"). $("#policy-list-container").html("<div class='panel-body'><br><p class='fw-warning'> Loading policy compliance related data " +
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>");
"was not successful. please try refreshing data in a while.<p></div>");
} }
); );
} }
@ -300,9 +327,8 @@ var InitiateViewOption = null;
}, },
// error-callback // error-callback
function () { function () {
$("#policy-list-container"). $("#policy-list-container").html("<div class='panel-body'><br><p class='fw-warning'> Loading policy compliance related data " +
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>");
"was not successful. please try refreshing data in a while.<p></div>");
} }
); );
} }

@ -17,8 +17,10 @@
*/ */
var map; var map;
var isAnalitics = false;
var marker;
function loadLeafletMap() { function loadLeafletMap(refresh) {
var deviceLocationID = "#device-location", var deviceLocationID = "#device-location",
locations = $(deviceLocationID).data("locations"), locations = $(deviceLocationID).data("locations"),
@ -28,8 +30,42 @@ function loadLeafletMap() {
zoomLevel = 13, zoomLevel = 13,
tileSet = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", tileSet = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
attribution = "&copy; <a href='https://openstreetmap.org/copyright'>OpenStreetMap</a> contributors"; attribution = "&copy; <a href='https://openstreetmap.org/copyright'>OpenStreetMap</a> contributors";
if (locations && locations.locations.length > 0) {
if (refresh && !isAnalitics) {
var applicationsList = $("#applications-list");
var deviceId = applicationsList.data("device-id");
var deviceType = applicationsList.data("device-type");
invokerUtil.get(
"/api/device-mgt/v1.0/devices/" + deviceType + "/" + deviceId + "/location",
// success-callback
function (data, textStatus, jqXHR) {
if (jqXHR.status == 200 && data) {
data = JSON.parse(data);
if (data.latitude && data.longitude) {
map.removeLayer(marker);
marker = L.marker([6.912853, 79.855635], {"opacity": opacVal}).addTo(map).bindPopup("Your device is here");
// marker = L.marker([data.latitude, data.longitude], {"opacity": opacVal}).addTo(map).bindPopup("Your device is here");
marker.on('mouseover', function (e) {
this.openPopup();
});
marker.on('mouseout', function (e) {
this.closePopup();
});
}
} else {
$("#device-location").hide();
$("#map-error").show();
}
},
// error-callback
function () {
$("#device-location").hide();
$("#map-error").show();
});
} else if (locations && locations.locations.length > 0) {
isAnalitics = true;
var locationSets = locations.locations; var locationSets = locations.locations;
map = L.map(container).setView([locationSets[0].lat, locationSets[0].lng], zoomLevel); map = L.map(container).setView([locationSets[0].lat, locationSets[0].lng], zoomLevel);
L.tileLayer(tileSet, {attribution: attribution}).addTo(map); L.tileLayer(tileSet, {attribution: attribution}).addTo(map);
@ -48,23 +84,26 @@ function loadLeafletMap() {
} }
$("#map-error").hide(); $("#map-error").hide();
$("#device-location").show(); $("#device-location").show();
setTimeout(function(){ map.invalidateSize()}, 400); setTimeout(function () {
map.invalidateSize()
}, 400);
} else if (location_long && location_lat) { } else if (location_long && location_lat) {
map = L.map(container).setView([location_lat, location_long], zoomLevel); map = L.map(container).setView([location_lat, location_long], zoomLevel);
L.tileLayer(tileSet, {attribution: attribution}).addTo(map); L.tileLayer(tileSet, {attribution: attribution}).addTo(map);
var m = L.marker([location_lat, location_long], {"opacity": opacVal}).addTo(map).bindPopup("Your device is here"); marker = L.marker([location_lat, location_long], {"opacity": opacVal}).addTo(map).bindPopup("Your device is here");
m.on('mouseover', function (e) { marker.on('mouseover', function (e) {
this.openPopup(); this.openPopup();
}); });
m.on('mouseout', function (e) { marker.on('mouseout', function (e) {
this.closePopup(); this.closePopup();
}); });
$("#map-error").hide(); $("#map-error").hide();
$("#device-location").show(); $("#device-location").show();
setTimeout(function(){ map.invalidateSize()}, 400); setTimeout(function () {
map.invalidateSize()
}, 400);
} else { } else {
$("#device-location").hide(); $("#device-location").hide();
$("#map-error").show(); $("#map-error").show();
@ -73,6 +112,10 @@ function loadLeafletMap() {
$(document).ready(function () { $(document).ready(function () {
$(".location_tab").on("click", function () { $(".location_tab").on("click", function () {
loadLeafletMap(); loadLeafletMap(false);
});
$("#refresh-location").on("click", function () {
loadLeafletMap(true);
}); });
}); });

@ -65,48 +65,56 @@
<span id="vpn-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span> <span id="vpn-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
<span id="vpn-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span> <span id="vpn-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
</a> </a>
<a href="javascript:void(0)" onclick="showAdvanceOperation('work-profile', this)"> {{#unless iscloud}}
<a href="javascript:void(0)" class="worker-profile" onclick="showAdvanceOperation('work-profile', this)">
<span class="wr-hidden-operations-icon fw-stack"> <span class="wr-hidden-operations-icon fw-stack">
<i class="fw fw-service fw-stack-2x"></i> <i class="fw fw-service fw-stack-2x"></i>
</span> </span>
Work-Profile Configurations Work-Profile Configurations
<span id="work-profile-configured" class="has-configured status-icon hidden"><i class="fw fw-success"></i></span> <span id="work-profile-configured" class="has-configured status-icon hidden"><i
<span id="work-profile-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span> class="fw fw-success"></i></span>
<span id="work-profile-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span> <span id="work-profile-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
</a> <span id="work-profile-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
<a href="javascript:void(0)" onclick="showAdvanceOperation('app-restriction', this)"> </a>
<a href="javascript:void(0)" onclick="showAdvanceOperation('app-restriction', this)">
<span class="fw-stack fw-lg"> <span class="fw-stack fw-lg">
<i class="fw fw-application fw-stack-1x"></i> <i class="fw fw-application fw-stack-1x"></i>
<i class="fw fw-block fw-stack-2x"></i> <i class="fw fw-block fw-stack-2x"></i>
</span> </span>
Application Restrictions Application Restrictions
<span id="app-restriction-configured" class="has-configured status-icon hidden"><i <span id="app-restriction-configured" class="has-configured status-icon hidden"><i
class="fw fw-success"></i></span> class="fw fw-success"></i></span>
<span id="app-restriction-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span> <span id="app-restriction-ok" class="has-success status-icon hidden"><i
<span id="app-restriction-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span> class="fw fw-success"></i></span>
</a> <span id="app-restriction-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
<a href="javascript:void(0)" onclick="showAdvanceOperation('cosu-system-update-policy', this)"> </a>
<a href="javascript:void(0)" class="worker-profile"
onclick="showAdvanceOperation('cosu-system-update-policy', this)">
<span class="wr-hidden-operation-icon fw-stack"> <span class="wr-hidden-operation-icon fw-stack">
<i class="fw fw-import fw-stack-2x"></i> <i class="fw fw-import fw-stack-2x"></i>
</span> </span>
System Update Policy (COSU) System Update Policy (COSU)
<span id="cosu-system-update-policy-configured" class="has-configured status-icon hidden"><i <span id="cosu-system-update-policy-configured" class="has-configured status-icon hidden"><i
class="fw fw-success"></i></span> class="fw fw-success"></i></span>
<span id="cosu-system-update-policy-ok" class="has-success status-icon hidden"><i <span id="cosu-system-update-policy-ok" class="has-success status-icon hidden"><i
class="fw fw-success"></i></span> class="fw fw-success"></i></span>
<span id="cosu-system-update-policy-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span> <span id="cosu-system-update-policy-error" class="has-error status-icon hidden"><i
</a> class="fw fw-error"></i></span>
<a href="javascript:void(0)" onclick="showAdvanceOperation('cosu-whitelisted-applications', this)" class="hide"> </a>
<a href="javascript:void(0)" onclick="showAdvanceOperation('cosu-whitelisted-applications', this)"
class="hide">
<span class="wr-hidden-operations-icon fw-stack"> <span class="wr-hidden-operations-icon fw-stack">
<i class="fw fw-register fw-stack-2x"></i> <i class="fw fw-register fw-stack-2x"></i>
</span> </span>
Whitelist Apps (COSU) Whitelist Apps (COSU)
<span id="cosu-whitelisted-applications-configured" class="has-configured status-icon hidden"><i <span id="cosu-whitelisted-applications-configured" class="has-configured status-icon hidden"><i
class="fw fw-success"></i></span> class="fw fw-success"></i></span>
<span id="cosu-whitelisted-applications-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span> <span id="cosu-whitelisted-applications-ok" class="has-success status-icon hidden"><i
<span id="cosu-whitelisted-applications-error" class="has-error status-icon hidden"><i class="fw fw-success"></i></span>
class="fw fw-error"></i></span> <span id="cosu-whitelisted-applications-error" class="has-error status-icon hidden"><i
</a> class="fw fw-error"></i></span>
</a>
{{/unless}}
</div> </div>
<div class="wr-hidden-operations-content col-lg-8"> <div class="wr-hidden-operations-content col-lg-8">
@ -302,400 +310,411 @@
</span> </span>
</label> </label>
</div> </div>
<div> {{#unless iscloud}}
<ul class="message message-info"> <div class="worker-profile-or-owner">
<i class="icon fw fw-info"></i> <ul class="message message-info">
<a id="policy-listing-status-msg"> Below Restrictions are valid only when the Agent is <i class="icon fw fw-info"></i>
<b>work-profile owner</b> or <b>device owner</b>.</a> <a id="policy-listing-status-msg"> Below Restrictions are valid only when the Agent is
</ul> <b>work-profile owner</b> or <b>device owner</b>.</a>
</div> </ul>
<div class="wr-input-control"> </div>
<label class="wr-input-control checkbox"> <div class="wr-input-control worker-profile-or-owner">
<input id="disallow-configuring-credentials-enabled" type="checkbox" <label class="wr-input-control checkbox">
class="operationDataKeys" <input id="disallow-configuring-credentials-enabled" type="checkbox"
data-key="disallowConfigCredentials"/> class="operationDataKeys"
<span class="helper" title="Having this checked would disallow configuring credentials."> data-key="disallowConfigCredentials"/>
<span class="helper"
title="Having this checked would disallow configuring credentials.">
Disallow configuring credentials Disallow configuring credentials
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-configuring-VPN-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-configuring-VPN-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowConfigVpn"/> data-key="disallowConfigVpn"/>
<span class="helper" title="Having this checked would disallow configuring VPN."> <span class="helper" title="Having this checked would disallow configuring VPN.">
Disallow configuring VPN Disallow configuring VPN
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-configuring-app-control-enabled" type="checkbox" <input id="disallow-configuring-app-control-enabled" type="checkbox"
class="operationDataKeys" class="operationDataKeys"
data-key="disallowAppControl"/> data-key="disallowAppControl"/>
<span class="helper" title="Having this checked would disallow configuring app control."> <span class="helper"
title="Having this checked would disallow configuring app control.">
Disallow configuring app control Disallow configuring app control
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-cross-profile-copy-paste-enabled" type="checkbox" <input id="disallow-cross-profile-copy-paste-enabled" type="checkbox"
class="operationDataKeys" class="operationDataKeys"
data-key="disallowCrossProfileCopyPaste"/> data-key="disallowCrossProfileCopyPaste"/>
<span class="helper" title="Having this checked would disallow cross profile copy paste."> <span class="helper"
title="Having this checked would disallow cross profile copy paste.">
Disallow cross profile copy paste Disallow cross profile copy paste
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-debugging-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-debugging-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowDebugging"/> data-key="disallowDebugging"/>
<span class="helper" title="Having this checked would disallow debugging."> <span class="helper" title="Having this checked would disallow debugging.">
Disallow debuging Disallow debuging
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-install-apps-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-install-apps-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowInstallApps"/> data-key="disallowInstallApps"/>
<span class="helper" title="Having this checked would disallow install apps."> <span class="helper" title="Having this checked would disallow install apps.">
Disallow install apps Disallow install apps
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-installing-from-unknown-enabled" type="checkbox" <input id="disallow-installing-from-unknown-enabled" type="checkbox"
class="operationDataKeys" class="operationDataKeys"
data-key="disallowInstallUnknownSources"/> data-key="disallowInstallUnknownSources"/>
<span class="helper" title="Having this checked would disallow installing from unknown <span class="helper" title="Having this checked would disallow installing from unknown
sources."> sources.">
Disallow install from unknown sources Disallow install from unknown sources
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-modify-accounts-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-modify-accounts-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowModifyAccounts"/> data-key="disallowModifyAccounts"/>
<span class="helper" title="Having this checked would disallow modify accounts."> <span class="helper" title="Having this checked would disallow modify accounts.">
Disallow modify accounts Disallow modify accounts
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-outgoing-beam-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-outgoing-beam-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowOutgoingBeam"/> data-key="disallowOutgoingBeam"/>
<span class="helper" title="Having this checked would disallow outgoing beam."> <span class="helper" title="Having this checked would disallow outgoing beam.">
Disallow outgoing beam Disallow outgoing beam
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-location-sharing-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-location-sharing-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowLocationSharing"/> data-key="disallowLocationSharing"/>
<span class="helper" title="Having this checked would disallow location sharing."> <span class="helper" title="Having this checked would disallow location sharing.">
Disallow location sharing Disallow location sharing
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-uninstall-apps-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-uninstall-apps-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowUninstallApps"/> data-key="disallowUninstallApps"/>
<span class="helper" title="Having this checked would disallow uninstall apps."> <span class="helper" title="Having this checked would disallow uninstall apps.">
Disallow uninstall apps Disallow uninstall apps
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-parent-profile-app-linking-enabled" type="checkbox" <input id="disallow-parent-profile-app-linking-enabled" type="checkbox"
class="operationDataKeys" class="operationDataKeys"
data-key="disallowParentProfileAppLinking"/> data-key="disallowParentProfileAppLinking"/>
<span class="helper" title="Having this checked would disallow parent profile app linking."> <span class="helper"
title="Having this checked would disallow parent profile app linking.">
Disallow parent profile app linking Disallow parent profile app linking
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="ensure-verifying-apps-enabled" type="checkbox" class="operationDataKeys" <input id="ensure-verifying-apps-enabled" type="checkbox" class="operationDataKeys"
data-key="ensureVerifyApps"/> data-key="ensureVerifyApps"/>
<span class="helper" title="Having this checked would ensure verifying apps ."> <span class="helper" title="Having this checked would ensure verifying apps .">
Ensure verifying apps Ensure verifying apps
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="enable-auto-timing-enabled" type="checkbox" class="operationDataKeys" <input id="enable-auto-timing-enabled" type="checkbox" class="operationDataKeys"
data-key="enableAutoTime"/> data-key="enableAutoTime"/>
<span class="helper" title="Having this checked would enable auto timing ."> <span class="helper" title="Having this checked would enable auto timing .">
Enable auto timing Enable auto timing
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disable-screen-capture-enabled" type="checkbox" class="operationDataKeys" <input id="disable-screen-capture-enabled" type="checkbox" class="operationDataKeys"
data-key="disableScreenCapture"/> data-key="disableScreenCapture"/>
<span class="helper" title="Having this checked would disable screen capture ."> <span class="helper" title="Having this checked would disable screen capture .">
Disable screen capture Disable screen capture
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<div> <div class="device-owner">
<ul class="message message-info"> <ul class="message message-info device-owner">
<i class="icon fw fw-info"></i> <i class="icon fw fw-info"></i>
<a id="policy-listing-status-msg"> Below Restrictions are valid only when the Agent is the <a id="policy-listing-status-msg"> Below Restrictions are valid only when the Agent is
<b>device owner</b>.</a> the
</ul> <b>device owner</b>.</a>
</div> </ul>
<div class="wr-input-control"> </div>
<label class="wr-input-control checkbox"> <div class="wr-input-control device-owner">
<input id="disallow-SMS-enabled" type="checkbox" class="operationDataKeys" <label class="wr-input-control checkbox">
data-key="disallowSMS"/> <input id="disallow-SMS-enabled" type="checkbox" class="operationDataKeys"
<span class="helper" title="Having this checked would disallow SMS."> data-key="disallowSMS"/>
<span class="helper" title="Having this checked would disallow SMS.">
Disallow SMS Disallow SMS
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="volume-adjust-enabled" type="checkbox" class="operationDataKeys" <input id="volume-adjust-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowAdjustVolumeEnabled"/> data-key="disallowAdjustVolumeEnabled"/>
<span class="helper" title="Having this checked would disallow volume adjust."> <span class="helper" title="Having this checked would disallow volume adjust.">
Disallow volume adjust Disallow volume adjust
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-configuring-cell-broadcast-enabled" type="checkbox" <input id="disallow-configuring-cell-broadcast-enabled" type="checkbox"
class="operationDataKeys" class="operationDataKeys"
data-key="disallowConfigCellBroadcasts"/> data-key="disallowConfigCellBroadcasts"/>
<span class="helper" title="Having this checked would disallow configuring cell broadcast."> <span class="helper"
title="Having this checked would disallow configuring cell broadcast.">
Disallow cell broadcast Disallow cell broadcast
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-configuring-bluetooth-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-configuring-bluetooth-enabled" type="checkbox"
data-key="disallowConfigBluetooth"/> class="operationDataKeys"
<span class="helper" title="Having this checked would disallow configuring bluetooth."> data-key="disallowConfigBluetooth"/>
<span class="helper" title="Having this checked would disallow configuring bluetooth.">
Disallow configuring bluetooth. Disallow configuring bluetooth.
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-configuring-mobile-networkst-enabled" type="checkbox" <input id="disallow-configuring-mobile-networkst-enabled" type="checkbox"
class="operationDataKeys" class="operationDataKeys"
data-key="disallowConfigMobileNetworks"/> data-key="disallowConfigMobileNetworks"/>
<span class="helper" <span class="helper"
title="Having this checked would disallow configuring mobile networks."> title="Having this checked would disallow configuring mobile networks.">
Disallow configuring mobile networks Disallow configuring mobile networks
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-configuring-tethering-enabled" type="checkbox" <input id="disallow-configuring-tethering-enabled" type="checkbox"
class="operationDataKeys" class="operationDataKeys"
data-key="disallowConfigTethering"/> data-key="disallowConfigTethering"/>
<span class="helper" title="Having this checked would disallow configuring tethering."> <span class="helper" title="Having this checked would disallow configuring tethering.">
Disallow configuring tethering Disallow configuring tethering
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-configuring-Wifi-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-configuring-Wifi-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowConfigWifi"/> data-key="disallowConfigWifi"/>
<span class="helper" title="Having this checked would disallow configuring Wifi."> <span class="helper" title="Having this checked would disallow configuring Wifi.">
Disallow configuring Wifi Disallow configuring Wifi
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-safe-boot-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-safe-boot-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowSafeBoot"/> data-key="disallowSafeBoot"/>
<span class="helper" title="Having this checked would disallow safe boot."> <span class="helper" title="Having this checked would disallow safe boot.">
Disallow safe boot Disallow safe boot
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-outgoing-calls-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-outgoing-calls-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowOutgoingCalls"/> data-key="disallowOutgoingCalls"/>
<span class="helper" title="Having this checked would disallow outgoing calls."> <span class="helper" title="Having this checked would disallow outgoing calls.">
Disallow outgoing calls Disallow outgoing calls
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-mount-physical-media-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-mount-physical-media-enabled" type="checkbox"
data-key="disallowMountPhysicalMedia"/> class="operationDataKeys"
<span class="helper" title="Having this checked would disallow mount physical media."> data-key="disallowMountPhysicalMedia"/>
<span class="helper" title="Having this checked would disallow mount physical media.">
Disallow mount physical media Disallow mount physical media
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-create-window-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-create-window-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowCreateWindows"/> data-key="disallowCreateWindows"/>
<span class="helper" title="Having this checked would disallow create window."> <span class="helper" title="Having this checked would disallow create window.">
Disallow create window Disallow create window
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-factory-reset-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-factory-reset-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowFactoryReset"/> data-key="disallowFactoryReset"/>
<span class="helper" title="Having this checked would disallow factory reset."> <span class="helper" title="Having this checked would disallow factory reset.">
Disallow factory reset Disallow factory reset
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-remove-user-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-remove-user-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowRemoveUser"/> data-key="disallowRemoveUser"/>
<span class="helper" title="Having this checked would disallow remove user."> <span class="helper" title="Having this checked would disallow remove user.">
Disallow remove user Disallow remove user
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-add-user-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-add-user-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowAddUser"/> data-key="disallowAddUser"/>
<span class="helper" title="Having this checked would disallow add user."> <span class="helper" title="Having this checked would disallow add user.">
Disallow add user Disallow add user
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-network-reset-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-network-reset-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowNetworkReset"/> data-key="disallowNetworkReset"/>
<span class="helper" title="Having this checked would disallow network reset."> <span class="helper" title="Having this checked would disallow network reset.">
Disallow network reset Disallow network reset
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-USB-transfer-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-USB-transfer-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowUSBFileTransfer"/> data-key="disallowUSBFileTransfer"/>
<span class="helper" title="Having this checked would disallow USB file transfer."> <span class="helper" title="Having this checked would disallow USB file transfer.">
Disallow USB file transfer Disallow USB file transfer
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div class="wr-input-control"> <div class="wr-input-control device-owner">
<label class="wr-input-control checkbox"> <label class="wr-input-control checkbox">
<input id="disallow-unmute-microphone-enabled" type="checkbox" class="operationDataKeys" <input id="disallow-unmute-microphone-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowUnmuteMicrophone"/> data-key="disallowUnmuteMicrophone"/>
<span class="helper" title="Having this checked would disallow unmute microphone."> <span class="helper" title="Having this checked would disallow unmute microphone.">
Disallow unmute microphone Disallow unmute microphone
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
<div> <div class="device-owner">
<ul class="message message-info"> <ul class="message message-info">
<i class="icon fw fw-info"></i> <i class="icon fw fw-info"></i>
<a id="policy-listing-status-msg">Below restrictions will be applied on devices with Android <a id="policy-listing-status-msg">Below restrictions will be applied on devices with
version 6.0 Marshmallow onwards only.</a> Android
</ul> version 6.0 Marshmallow onwards only.</a>
</div> </ul>
<div class="wr-input-control"> </div>
<label class="wr-input-control checkbox"> <div class="wr-input-control device-owner">
<input id="disable-status-bar-enabled" type="checkbox" class="operationDataKeys" <label class="wr-input-control checkbox">
data-key="disableStatusBar"/> <input id="disable-status-bar-enabled" type="checkbox" class="operationDataKeys"
<span class="helper" title="Having this checked would disable status bar ."> data-key="disableStatusBar"/>
<span class="helper" title="Having this checked would disable status bar .">
Disable status bar Disable status bar
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span> <span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span> </span>
</label> </label>
</div> </div>
<br> <br>
{{/unless}}
</div> </div>
</div> </div>
</div> </div>
@ -1375,9 +1394,7 @@
</label> </label>
</h2> </h2>
<div class="panel-title-description"> <div class="panel-title-description">
This configuration can be used to set a passcode policy to an Android Device. this configurations can be used to set when system update take place in the COSU devices.
Once this configuration profile is installed on a device, corresponding users will not be able
to modify these settings on their devices.
</div> </div>
</div> </div>
<div id="cosu-whitelisted-applications-body" class="panel-collapse panel-body collapse" role="tabpanel" <div id="cosu-whitelisted-applications-body" class="panel-collapse panel-body collapse" role="tabpanel"

Loading…
Cancel
Save