Merge branch 'cloud-3.1.0'

revert-dabc3590
kamidu 8 years ago
commit 564c188b83

@ -1,5 +1,4 @@
{{unit "cdmf.unit.device.type.android.leaflet"}}
{{unit "cdmf.unit.lib.editable"}}
{{unit "cdmf.unit.lib.qrcode"}}
{{unit "cdmf.unit.device.type.qr-modal"}}
@ -52,41 +51,16 @@
<tr role="row" class="even">
<td class="sorting_1" style="padding:10px 15px; width: 15%;">Status</td>
<td style="padding:10px 15px;">
{{#if permissions.CHANGE_DEVICE_STATUS}}
{{#equal device.status "ACTIVE"}}<span><i id="statusIcon"
class="fw fw-success icon-success"></i>
<a href="#" id="status" data-type="select" data-pk="1"
data-title="Select status"
selectedValue="Active"></a>
</span>{{/equal}}
{{#equal device.status "INACTIVE"}}<span><i id="statusIcon"
class="fw fw-warning icon-warning"></i>
<a href="#" id="status" data-type="select" data-pk="1"
data-title="Select status"
selectedValue="Inactive"></a>
</span>{{/equal}}
{{#equal device.status "BLOCKED"}}<span><i id="statusIcon"
class="fw fw-remove icon-danger"></i>
<a href="#" id="status" data-type="select" data-pk="1"
data-title="Select status"
selectedValue="Blocked"></a>
</span>{{/equal}}
{{#equal device.status "REMOVED"}}<span><i id="statusIcon"
class="fw fw-delete icon-danger"></i>
<a href="#" id="status" data-type="select" data-pk="1"
data-title="Select status"
selectedValue="Removed"></a>
</span>{{/equal}}
{{else}}
{{#equal device.status "ACTIVE"}}<span><i
class="fw fw-success icon-success"></i> Active</span>{{/equal}}
class="fw fw-success icon-success"></i>Active</span>{{/equal}}
{{#equal device.status "INACTIVE"}}<span><i
class="fw fw-warning icon-warning"></i> Inactive</span>{{/equal}}
class="fw fw-warning icon-warning"></i>Inactive</span>{{/equal}}
{{#equal device.status "BLOCKED"}}<span><i
class="fw fw-remove icon-danger"></i> Blocked</span>{{/equal}}
class="fw fw-remove icon-danger"></i>Blocked</span>{{/equal}}
{{#equal device.status "REMOVED"}}<span><i
class="fw fw-delete icon-danger"></i> Removed</span>{{/equal}}
{{/if}}
class="fw fw-delete icon-danger"></i>Removed</span>{{/equal}}
{{#equal device.status "UNREACHABLE"}}<span><i
class="fw fw-warning icon-warning"></i>Unreachable</span>{{/equal}}
</td>
</tr>
{{/if}}
@ -356,7 +330,17 @@
</a>
</h4>
</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 id="map-spinner" class="wr-advance-operations-init hidden">
<i class="fw fw-settings fw-spin fw-2x"></i> Fetching the latest location...
</div>
</div>
<div id="collapseThree" class="panel-collapse collapse in" role="tabpanel"
aria-labelledby="device_location">
<div class="panel-body">

@ -35,6 +35,37 @@ var InitiateViewOption = null;
serviceUrl = "/api/device-mgt/android/v1.0/admin/devices/info";
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) {
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');
if($(clickedPanel).hasClass('in')){
if ($(clickedPanel).hasClass('in')) {
$(clickedPanel).collapse('hide');
}else{
} else {
$(clickedPanel).collapse('show');
}
});
@ -130,26 +161,26 @@ var InitiateViewOption = null;
var parentHeight = $(arrow).parent().innerHeight();
if($(selectedTab).prev().length){
$(selectedTab).prevAll().each(function() {
if ($(selectedTab).prev().length) {
$(selectedTab).prevAll().each(function () {
totalHeight += $(this).innerHeight();
});
arrowPosition = totalHeight + (selectedTabHeight / 2);
}else{
} else {
arrowPosition = selectedTabHeight / 2;
}
if(arrowPosition >= parentHeight){
if (arrowPosition >= parentHeight) {
parentHeight = arrowPosition + 50;
$(arrow).siblings(".panel.active").height(parentHeight);
}else{
} else {
$(arrow).parent().removeAttr("style");
}
$(arrow).css("top", arrowPosition - 10);
}
$(document).ready(function() {
$(document).ready(function () {
$(".device-detail-body").removeClass("hidden");
$("#loading-content").remove();
loadApplicationsList();
@ -179,11 +210,11 @@ var InitiateViewOption = null;
processing: false,
searching: false,
ordering: false,
pageLength : 10,
pageLength: 10,
order: [],
ajax: {
url: "/devicemgt/api/operation/paginate",
data: {deviceId : deviceIdentifier, deviceType: deviceType, owner:owner},
data: {deviceId: deviceIdentifier, deviceType: deviceType, owner: owner},
dataSrc: function (json) {
$("#operations-spinner").addClass("hidden");
$("#operations-log-container").empty();
@ -191,9 +222,9 @@ var InitiateViewOption = null;
}
},
columnDefs: [
{targets: 0, data: "code" },
{targets: 1, data: "status", render:
function (status) {
{targets: 0, data: "code"},
{
targets: 1, data: "status", render: function (status) {
var html;
switch (status) {
case "COMPLETED" :
@ -215,19 +246,19 @@ var InitiateViewOption = null;
return html;
}
},
{targets: 2, data: "createdTimeStamp", render:
function (date) {
{
targets: 2, data: "createdTimeStamp", render: function (date) {
var value = String(date);
return value.slice(0, 16);
}
}
],
"createdRow": function(row, data) {
"createdRow": function (row, data) {
$(row).attr("data-type", "selectable");
$(row).attr("data-id", data["id"]);
$.each($("td", row),
function(colIndex) {
switch(colIndex) {
function (colIndex) {
switch (colIndex) {
case 1:
$(this).attr("data-grid-label", "Code");
$(this).attr("data-display", data["code"]);
@ -276,16 +307,14 @@ var InitiateViewOption = null;
var content = template(viewModel);
$("#applications-list-container").html(content);
} else {
$("#applications-list-container").
html("<div class='message message-info'><h4><i class='icon fw fw-info'></i>No applications found.</h4>" +
$("#applications-list-container").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>");
}
}
},
// error-callback
function () {
$("#applications-list-container").
html("<div class='panel-body'><br><p class='fw-warning'>&nbsp;Loading application list " +
$("#applications-list-container").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>");
});
});
@ -338,16 +367,14 @@ var InitiateViewOption = null;
$("#policy-compliance-table").addClass("hidden");
}
} else {
$("#policy-list-container").
html("<div class='panel-body'><br><p class='fw-warning'> This device " +
$("#policy-list-container").html("<div class='panel-body'><br><p class='fw-warning'> This device " +
"has no policy applied.<p></div>");
}
}
},
// error-callback
function () {
$("#policy-list-container").
html("<div class='panel-body'><br><p class='fw-warning'> Loading policy compliance related data " +
$("#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>");
}
);
@ -356,8 +383,7 @@ var InitiateViewOption = null;
},
// error-callback
function () {
$("#policy-list-container").
html("<div class='panel-body'><br><p class='fw-warning'> Loading policy compliance related data " +
$("#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>");
}
);

@ -17,8 +17,10 @@
*/
var map;
var isAnalitics = false;
var marker;
function loadLeafletMap() {
function loadLeafletMap(refresh) {
var deviceLocationID = "#device-location",
locations = $(deviceLocationID).data("locations"),
@ -28,8 +30,48 @@ function loadLeafletMap() {
zoomLevel = 13,
tileSet = "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
attribution = "&copy; <a href='https://openstreetmap.org/copyright'>OpenStreetMap</a> contributors";
if (locations && locations.locations.length > 0) {
if (refresh && !isAnalitics) {
$("#map-spinner").removeClass("hidden");
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");
map.panTo(new L.LatLng(data.latitude, data.longitude));
// map.panTo(new L.LatLng(40.737, -73.923));
marker.on('mouseover', function (e) {
this.openPopup();
});
marker.on('mouseout', function (e) {
this.closePopup();
});
}
$("#map-spinner").addClass("hidden");
} else {
$("#map-spinner").adddClass("hidden");
$("#device-location").hide();
$("#map-error").show();
}
},
// error-callback
function () {
$("#map-spinner").addClass("hidden");
$("#device-location").hide();
$("#map-error").show();
});
} else if (locations && locations.locations.length > 0) {
isAnalitics = true;
var locationSets = locations.locations;
map = L.map(container).setView([locationSets[0].lat, locationSets[0].lng], zoomLevel);
L.tileLayer(tileSet, {attribution: attribution}).addTo(map);
@ -48,23 +90,26 @@ function loadLeafletMap() {
}
$("#map-error").hide();
$("#device-location").show();
setTimeout(function(){ map.invalidateSize()}, 400);
setTimeout(function () {
map.invalidateSize()
}, 400);
} else if (location_long && location_lat) {
map = L.map(container).setView([location_lat, location_long], zoomLevel);
L.tileLayer(tileSet, {attribution: attribution}).addTo(map);
var m = L.marker([location_lat, location_long], {"opacity": opacVal}).addTo(map).bindPopup("Your device is here");
m.on('mouseover', function (e) {
marker = L.marker([location_lat, location_long], {"opacity": opacVal}).addTo(map).bindPopup("Your device is here");
marker.on('mouseover', function (e) {
this.openPopup();
});
m.on('mouseout', function (e) {
marker.on('mouseout', function (e) {
this.closePopup();
});
$("#map-error").hide();
$("#device-location").show();
setTimeout(function(){ map.invalidateSize()}, 400);
setTimeout(function () {
map.invalidateSize()
}, 400);
} else {
$("#device-location").hide();
$("#map-error").show();
@ -73,6 +118,10 @@ function loadLeafletMap() {
$(document).ready(function () {
$(".location_tab").on("click", function () {
loadLeafletMap();
loadLeafletMap(false);
});
$("#refresh-location").on("click", function () {
loadLeafletMap(true);
});
});

@ -65,7 +65,7 @@
{{description}}
<br>
</h4>
<div id="operation-form">
<form action="{{params.0.uri}}" method="{{params.0.method}}"
style="padding-bottom: 20px;"
data-payload="{{payload}}" id="form-{{operation}}"
@ -73,16 +73,19 @@
data-content-type="{{params.0.contentType}}"
data-operation-code="{{operation}}">
{{#each params.0.pathParams}}
<input type="{{type}}" id="{{name}}" placeholder="{{name}}" class="form-control" data-param-type="path" value="{{value}}" />
<br />
<input type="{{type}}" id="{{name}}" placeholder="{{name}}" class="form-control"
data-param-type="path" value="{{value}}"/>
<br/>
{{/each}}
{{#each params.0.formParams}}
<input type="{{type}}" id="{{name}}" name="{{name}}" placeholder="{{name}}" class="form-control" data-param-type="form" value="{{value}}" />
<br />
<input type="{{type}}" id="{{name}}" name="{{name}}" placeholder="{{name}}"
class="form-control" data-param-type="form" value="{{value}}"/>
<br/>
{{/each}}
{{#each params.0.queryParams}}
<input type="{{type}}" id="{{name}}" placeholder="{{name}}" class="form-control" data-param-type="query" value="{{value}}" />
<br />
<input type="{{type}}" id="{{name}}" placeholder="{{name}}" class="form-control"
data-param-type="query" value="{{value}}"/>
<br/>
{{/each}}
{{#each uiParams}}
{{#equal this.type "checkbox"}}
@ -100,17 +103,20 @@
<br/>
{{/equal}}
{{/each}}
<button id="btnSend" type="button" onclick="submitForm('form-{{operation}}')" class="btn btn-default">&nbsp;&nbsp;&nbsp;&nbsp;Send
to Device&nbsp;&nbsp;&nbsp;&nbsp;</button>
<button id="btnSend" type="button" onclick="submitForm('form-{{operation}}')"
class="btn btn-default">Send
to Device</button>
<label id="lblSending" class="wr-input-label hidden"><i
class="fw fw-lifecycle fw-spin fw-2x"></i> Sending..</label>
<label id="lblSent" class="wr-input-label hidden"><i
class="fw fw-check fw-2x"></i> Sent</label>
<i id="lbl-execution" class="fw fw-wso2-logo fw-pulse fw-2x hidden"> Executing Operation </i>
</form>
</div>
</div>
</div>
</div>
</div>
{{/each}}
</div>
{{/if}}

@ -28,6 +28,8 @@ function operationSelect(selection) {
}
function submitForm(formId) {
$("#btnSend").addClass("hidden");
$("#lbl-execution").removeClass("hidden");
var form = $("#" + formId);
var uri = form.attr("action");
var deviceId = form.data("device-id");
@ -69,6 +71,12 @@ function submitForm(formId) {
var statusIcon = content.find("#status-icon");
var description = content.find("#description");
description.html("");
var resetLoader = function () {
$("#btnSend").removeClass("hidden");
$('#lbl-execution').addClass("hidden");
};
var successCallBack = function (response) {
var res = response;
try {
@ -79,11 +87,12 @@ function submitForm(formId) {
title.html("Operation Triggered!");
statusIcon.attr("class", defaultStatusClasses + " fw-check");
description.html(res);
console.log("success!");
// console.log("success!");
resetLoader();
$(modalPopupContent).html(content.html());
};
var errorCallBack = function (response) {
console.log(response);
// console.log(response);
title.html("An Error Occurred!");
statusIcon.attr("class", defaultStatusClasses + " fw-error");
var reason = (response.responseText == "null")?response.statusText:response.responseText;
@ -93,7 +102,8 @@ function submitForm(formId) {
//do nothing
}
description.html(reason);
console.log("Error!");
// console.log("Error!");
resetLoader();
$(modalPopupContent).html(content.html());
};
//executing http request
@ -111,12 +121,12 @@ function submitForm(formId) {
title.html("An Error Occurred!");
statusIcon.attr("class", defaultStatusClasses + " fw-error");
description.html("This operation requires http method: " + httpMethod + " which is not supported yet!");
resetLoader();
$(modalPopupContent).html(content.html());
}
}
$(document).on('submit', 'form', function (e) {
cosole.log("darn!!");
e.preventDefault();
var postOperationRequest = $.ajax({
url: $(this).attr("action") + '&' + $(this).serialize(),

@ -65,12 +65,14 @@
<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>
</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">
<i class="fw fw-service fw-stack-2x"></i>
</span>
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
class="fw fw-success"></i></span>
<span id="work-profile-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
<span id="work-profile-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
</a>
@ -82,10 +84,12 @@
Application Restrictions
<span id="app-restriction-configured" class="has-configured status-icon hidden"><i
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
class="fw fw-success"></i></span>
<span id="app-restriction-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
</a>
<a href="javascript:void(0)" onclick="showAdvanceOperation('cosu-system-update-policy', this)">
<a href="javascript:void(0)" class="worker-profile"
onclick="showAdvanceOperation('cosu-system-update-policy', this)">
<span class="wr-hidden-operation-icon fw-stack">
<i class="fw fw-import fw-stack-2x"></i>
</span>
@ -94,19 +98,23 @@
class="fw fw-success"></i></span>
<span id="cosu-system-update-policy-ok" class="has-success status-icon hidden"><i
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
class="fw fw-error"></i></span>
</a>
<a href="javascript:void(0)" onclick="showAdvanceOperation('cosu-whitelisted-applications', this)" class="hide">
<a href="javascript:void(0)" onclick="showAdvanceOperation('cosu-whitelisted-applications', this)"
class="hide">
<span class="wr-hidden-operations-icon fw-stack">
<i class="fw fw-register fw-stack-2x"></i>
</span>
Whitelist Apps (COSU)
<span id="cosu-whitelisted-applications-configured" class="has-configured status-icon hidden"><i
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
class="fw fw-success"></i></span>
<span id="cosu-whitelisted-applications-error" class="has-error status-icon hidden"><i
class="fw fw-error"></i></span>
</a>
{{/unless}}
</div>
<div class="wr-hidden-operations-content col-lg-8">
@ -302,26 +310,28 @@
</span>
</label>
</div>
<div>
{{#unless iscloud}}
<div class="worker-profile-or-owner">
<ul class="message message-info">
<i class="icon fw fw-info"></i>
<a id="policy-listing-status-msg"> Below Restrictions are valid only when the Agent is
<b>work-profile owner</b> or <b>device owner</b>.</a>
</ul>
</div>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-configuring-credentials-enabled" type="checkbox"
class="operationDataKeys"
data-key="disallowConfigCredentials"/>
<span class="helper" title="Having this checked would disallow configuring credentials.">
<span class="helper"
title="Having this checked would disallow configuring credentials.">
Disallow configuring credentials
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span>
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-configuring-VPN-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowConfigVpn"/>
@ -333,31 +343,33 @@
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-configuring-app-control-enabled" type="checkbox"
class="operationDataKeys"
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
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span>
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-cross-profile-copy-paste-enabled" type="checkbox"
class="operationDataKeys"
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
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span>
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-debugging-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowDebugging"/>
@ -368,7 +380,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-install-apps-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowInstallApps"/>
@ -379,7 +391,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-installing-from-unknown-enabled" type="checkbox"
class="operationDataKeys"
@ -392,7 +404,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-modify-accounts-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowModifyAccounts"/>
@ -403,7 +415,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-outgoing-beam-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowOutgoingBeam"/>
@ -414,7 +426,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-location-sharing-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowLocationSharing"/>
@ -425,7 +437,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-uninstall-apps-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowUninstallApps"/>
@ -436,19 +448,20 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disallow-parent-profile-app-linking-enabled" type="checkbox"
class="operationDataKeys"
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
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span>
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="ensure-verifying-apps-enabled" type="checkbox" class="operationDataKeys"
data-key="ensureVerifyApps"/>
@ -459,7 +472,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="enable-auto-timing-enabled" type="checkbox" class="operationDataKeys"
data-key="enableAutoTime"/>
@ -470,7 +483,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control worker-profile-or-owner">
<label class="wr-input-control checkbox">
<input id="disable-screen-capture-enabled" type="checkbox" class="operationDataKeys"
data-key="disableScreenCapture"/>
@ -480,14 +493,15 @@
</span>
</label>
</div>
<div>
<ul class="message message-info">
<div class="device-owner">
<ul class="message message-info device-owner">
<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
the
<b>device owner</b>.</a>
</ul>
</div>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-SMS-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowSMS"/>
@ -498,7 +512,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="volume-adjust-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowAdjustVolumeEnabled"/>
@ -509,21 +523,23 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-configuring-cell-broadcast-enabled" type="checkbox"
class="operationDataKeys"
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
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
</span>
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-configuring-bluetooth-enabled" type="checkbox" class="operationDataKeys"
<input id="disallow-configuring-bluetooth-enabled" type="checkbox"
class="operationDataKeys"
data-key="disallowConfigBluetooth"/>
<span class="helper" title="Having this checked would disallow configuring bluetooth.">
Disallow configuring bluetooth.
@ -532,7 +548,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-configuring-mobile-networkst-enabled" type="checkbox"
class="operationDataKeys"
@ -545,7 +561,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-configuring-tethering-enabled" type="checkbox"
class="operationDataKeys"
@ -557,7 +573,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-configuring-Wifi-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowConfigWifi"/>
@ -568,7 +584,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-safe-boot-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowSafeBoot"/>
@ -579,7 +595,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-outgoing-calls-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowOutgoingCalls"/>
@ -590,9 +606,10 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<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"
class="operationDataKeys"
data-key="disallowMountPhysicalMedia"/>
<span class="helper" title="Having this checked would disallow mount physical media.">
Disallow mount physical media
@ -601,7 +618,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-create-window-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowCreateWindows"/>
@ -612,7 +629,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-factory-reset-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowFactoryReset"/>
@ -623,7 +640,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-remove-user-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowRemoveUser"/>
@ -634,7 +651,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-add-user-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowAddUser"/>
@ -645,7 +662,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-network-reset-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowNetworkReset"/>
@ -656,7 +673,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-USB-transfer-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowUSBFileTransfer"/>
@ -667,7 +684,7 @@
</label>
</div>
<br>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disallow-unmute-microphone-enabled" type="checkbox" class="operationDataKeys"
data-key="disallowUnmuteMicrophone"/>
@ -678,14 +695,15 @@
</label>
</div>
<br>
<div>
<div class="device-owner">
<ul class="message message-info">
<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
Android
version 6.0 Marshmallow onwards only.</a>
</ul>
</div>
<div class="wr-input-control">
<div class="wr-input-control device-owner">
<label class="wr-input-control checkbox">
<input id="disable-status-bar-enabled" type="checkbox" class="operationDataKeys"
data-key="disableStatusBar"/>
@ -696,6 +714,7 @@
</label>
</div>
<br>
{{/unless}}
</div>
</div>
</div>
@ -1375,9 +1394,7 @@
</label>
</h2>
<div class="panel-title-description">
This configuration can be used to set a passcode policy to an Android Device.
Once this configuration profile is installed on a device, corresponding users will not be able
to modify these settings on their devices.
this configurations can be used to set when system update take place in the COSU devices.
</div>
</div>
<div id="cosu-whitelisted-applications-body" class="panel-collapse panel-body collapse" role="tabpanel"

@ -19,11 +19,13 @@
</div>-->
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 add-padding-top-2x add-padding-bottom-2x">
{{#if isVirtual}}
<h3 class="text-center add-padding-bottom-4x">Download our Android-try-it emulator, enroll it with WSO2 Device Cloud and try it out!</h3>
<h3 class="text-center add-padding-bottom-4x">Download our virtual Android device, enroll it with WSO2
Device Cloud and try it out!</h3>
<div class="text-center"><a
href="{{@unit.publicUri}}/assets/android-tryit.ZIP"
class="btn-operations remove-margin download_agent">
<i class="fw fw-download fw-inverse fw-lg add-margin-1x"></i>Download the android-try-it Emulator</a></div>
<i class="fw fw-download fw-inverse fw-lg add-margin-1x"></i>Download the virtual Android device</a>
</div>
{{else}}
<h3 class="text-center">Scan to get the Android Agent.</h3>
<div class="enrollment-qr-container text-center"></div>
@ -80,12 +82,12 @@
{{#if isCloud}}
<div class="row grey-bg">
{{#if isVirtual}}
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-4 col-md-offset-1 col-lg-offset-1 add-padding-top-2x add-padding-bottom-2x">
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 add-padding-top-2x add-padding-bottom-2x">
<h5><strong>Step 1</strong></h5>
<div class="add-min-height">
<ol>
<li>Unzip the 'android-tryit.zip file and run the 'start' script on your terminal.</li>
<li>Download and install the Android SDK.
<li>Download and install the Android SDK:
<ul>
<li>If you already have an Android SDK on your computer, please provide the location of
the SDK.
@ -107,7 +109,7 @@
<img src="{{@unit.publicUri}}/images/android-tryit.png" class="img-responsive">
</div>
{{else}}
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 col-md-offset-1 col-lg-offset-1 add-padding-top-2x add-padding-bottom-2x">
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4 add-padding-top-2x add-padding-bottom-2x">
<h5><strong>Step 1</strong></h5>
<div class="add-min-height">
<p>Let's start by opening the Android agent on your device.
@ -117,10 +119,10 @@
<img src="{{@unit.publicUri}}/images/launch_agent.png" class="img-responsive">
</div>
{{/if}}
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-2 col-md-offset-1 col-lg-offset-1 add-padding-top-2x add-padding-bottom-2x">
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 col-md-offset-1 col-lg-offset-1 add-padding-top-2x add-padding-bottom-2x">
<h5><strong>Step 2</strong></h5>
<div class="add-min-height">
<p>Enter your:
<p>Enter your :
<p>
<ul>
<li>Organization: <b>{{@user.domain}}</b></li>
@ -130,7 +132,7 @@
</div>
<img src="{{@unit.publicUri}}/images/register.png" class="img-responsive">
</div>
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-2 col-md-offset-1 col-lg-offset-1 add-padding-top-2x add-padding-bottom-2x">
<div class="col-xs-12 col-sm-6 col-md-3 col-lg-3 col-md-offset-1 col-lg-offset-1 add-padding-top-2x add-padding-bottom-2x">
<h5><strong>Step 3</strong></h5>
<div class="add-min-height">
<p>To successfully register the virtual device,</p>
@ -149,9 +151,13 @@
<li>Unzip the 'android-tryit.zip file and run the 'start' script on your terminal.</li>
<li>Download and install the Android SDK.
<ul>
<li>If you already have an Android SDK on your computer, please provide the location of the SDK.</li>
<li>Else, this tool will download and install the minimum SDK components required to run the emulator.
This is a one-time process.</li>
<li>If you already have an Android SDK on your computer, please provide the location of the
SDK.
</li>
<li>Else, this tool will download and install the minimum SDK components required to run the
emulator.
This is a one-time process.
</li>
</ul>
</li>
<li>Next, you will be asked to create an AVD:
@ -194,63 +200,6 @@
</div>
<!--<div class="row">
<div class="col-xs-12 col-sm-12 col-md-8 col-lg-12 padding-double ">
<h3 class="uppercase">What You Need</h3>
<hr>
<ul class="list-unstyled">
<li class="padding-top-double"><span class="badge">STEP 01</span> Android
Mobile.
</li>
<li><span class="badge">STEP 02</span> Go ahead
and click [Enroll Device].
</li>
<li><span class="badge">STEP 03</span> Proceed
to the [Prepare] section.
</li>
</ul>
<br>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-8 col-md-9 col-lg-9">
<h3 class="uppercase">What it Does</h3>
<hr>
<p class="grey margin-top">Connect and manage your Android device with WSO2 IoT Server.</p>
<br>
<a href="javascript:toggleEnrollment()" class="download-link btn-operations"><i class="fw fw-mobile fw-inverse fw-lg add-margin-1x"></i> Enroll Device</a>
<a href="{{host}}/android-web-agent/public/mdm.page.enrollments.android.download-agent/asset/android-agent.apk" class="btn-operations"><i class="fw fw-download fw-inverse fw-lg add-margin-1x"></i> Download APK</a>
<a href="javascript:toggleEmailInvite()" class="btn-operations"><i class="fw fw-mail fw-inverse fw-lg add-margin-1x"></i> Invite by Email</a>
<p class="doc-link">Click <a href="https://docs.wso2.com/display/IoTS300/Android" target="_blank">here</a> for further instructions and troubleshooting.</p>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-8 col-lg-12 padding-double grey-bg">
<h3 class="uppercase">Prepare</h3><hr>
<ul class="list-unstyled">
<li class="padding-top-double"><span class="badge">01</span> Download Device Agent into your Android Mobile.</li>
<li><span class="badge">02</span> Install Agent APK file.</li>
<li><span class="badge">03</span> Configure Agent App</li>
</ul>
<br>
</div>-->
<!--<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 padding-double">
<p class="grey margin-top">Click on the image to zoom</p>
<center>
<a href="{{@unit.publicUri}}/images/android_device.png" target="_blank">
<img src="{{@unit.publicUri}}/images/android_device.png" class="img-responsive">
</a>
</center>
</div>-->
{{#zone "topCss"}}
{{css "css/styles.css"}}
{{/zone}}

@ -1128,7 +1128,7 @@
<javax.ws.rs.version>1.1.1</javax.ws.rs.version>
<!-- Carbon Device Management -->
<carbon.devicemgt.version>2.0.22</carbon.devicemgt.version>
<carbon.devicemgt.version>2.0.42</carbon.devicemgt.version>
<carbon.devicemgt.version.range>[2.0.0, 3.0.0)</carbon.devicemgt.version.range>
<!-- Carbon App Management -->

Loading…
Cancel
Save