mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
Merge branch 'master' of https://github.com/wso2/carbon-device-mgt-plugins
This commit is contained in:
commit
33b4f90e00
@ -26,6 +26,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
<a href="{{@app.context}}/devices">
|
<a href="{{@app.context}}/devices">
|
||||||
Devices
|
Devices
|
||||||
</a>
|
</a>
|
||||||
@ -38,7 +39,15 @@
|
|||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "content"}}
|
{{#zone "content"}}
|
||||||
|
{{#if isAuthorized}}
|
||||||
{{unit "cdmf.unit.lib.data-table"}}
|
{{unit "cdmf.unit.lib.data-table"}}
|
||||||
{{unit "cdmf.unit.device.operation-mod"}}
|
{{unit "cdmf.unit.device.operation-mod"}}
|
||||||
{{unit "cdmf.unit.device.view"}}
|
{{unit "cdmf.unit.device.view"}}
|
||||||
|
{{else}}
|
||||||
|
<h1 class="page-sub-title">
|
||||||
|
Permission Denied
|
||||||
|
</h1>
|
||||||
|
<br>
|
||||||
|
You are not authorized to view any enrolled device in the system.
|
||||||
|
{{/if}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
@ -17,7 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function onRequest(context){
|
function onRequest(context){
|
||||||
var utility = require("/app/modules/utility.js").utility;
|
var userModule = require("/app/modules/business-controllers/user.js")["userModule"];
|
||||||
|
var viewModel = {};
|
||||||
|
|
||||||
|
// permission checks
|
||||||
|
// [1] checking viewing devices permission
|
||||||
|
viewModel["isAuthorized"] = userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/view");
|
||||||
|
|
||||||
|
if (viewModel["isAuthorized"]) {
|
||||||
context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) {
|
context.handlebars.registerHelper('equal', function (lvalue, rvalue, options) {
|
||||||
if (arguments.length < 3)
|
if (arguments.length < 3)
|
||||||
throw new Error("Handlebars Helper equal needs 2 parameters");
|
throw new Error("Handlebars Helper equal needs 2 parameters");
|
||||||
@ -27,7 +34,7 @@ function onRequest(context){
|
|||||||
return options.fn(this);
|
return options.fn(this);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
var deviceType = context.uriParams.deviceType;
|
|
||||||
return {"deviceViewUnitName": utility.getTenantedDeviceUnitName(deviceType, "device-view")};
|
return viewModel;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -156,6 +156,12 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{else}}
|
||||||
|
<h1 class="page-sub-title">
|
||||||
|
Permission Denied
|
||||||
|
</h1>
|
||||||
|
<br>
|
||||||
|
You are not authorized to view any enrolled device in the system.
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
|
|||||||
@ -115,8 +115,8 @@ var operationModule = function () {
|
|||||||
var featureMap = {
|
var featureMap = {
|
||||||
"DEVICE_LOCK": "lock",
|
"DEVICE_LOCK": "lock",
|
||||||
"VPN": "vpn",
|
"VPN": "vpn",
|
||||||
"PER_APP_VPN": "perappvpn",
|
"PER_APP_VPN": "per-app-vpn",
|
||||||
"APP_TO_PER_APP_VPN_MAPPING": "apptoperappvpnmapping",
|
"APP_TO_PER_APP_VPN_MAPPING": "app-to-per-app-vpn-mapping",
|
||||||
"RING": "ring",
|
"RING": "ring",
|
||||||
"LOCATION": "location",
|
"LOCATION": "location",
|
||||||
"NOTIFICATION": "notification",
|
"NOTIFICATION": "notification",
|
||||||
@ -124,12 +124,12 @@ var operationModule = function () {
|
|||||||
"RESTRICTION": "restriction",
|
"RESTRICTION": "restriction",
|
||||||
"CELLULAR": "cellular",
|
"CELLULAR": "cellular",
|
||||||
"WIFI": "wifi",
|
"WIFI": "wifi",
|
||||||
"INSTALL_STORE_APPLICATION": "storeapplication",
|
"INSTALL_STORE_APPLICATION": "store-application",
|
||||||
"INSTALL_ENTERPRISE_APPLICATION": "enterpriseapplication",
|
"INSTALL_ENTERPRISE_APPLICATION": "enterprise-application",
|
||||||
"REMOVE_APPLICATION": "removeapplication",
|
"REMOVE_APPLICATION": "remove-application",
|
||||||
"ENTERPRISE_WIPE": "enterprisewipe"
|
"ENTERPRISE_WIPE": "enterprise-wipe"
|
||||||
};
|
};
|
||||||
return "/ios/operation/" + featureMap[operationCode];
|
return "/api/device-mgt/ios/v1.0/admin/devices/" + featureMap[operationCode];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
@ -50,49 +50,61 @@ var InitiateViewOption = null;
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$(".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");
|
||||||
activeCollapsePane = $(activeTabPane).find("[data-toggle=collapse]").data("target"),
|
var activeListGroupItem = $(".media .list-group-item.active");
|
||||||
activeCollapsePaneSiblings = $(activeTabPane).siblings().find("[data-toggle=collapse]").data("target"),
|
|
||||||
activeListGroupItem = $(".media .list-group-item.active");
|
|
||||||
|
|
||||||
$(activeCollapsePaneSiblings).collapse("hide");
|
$(activeTabPane).removeClass("visible-xs-block");
|
||||||
$(activeCollapsePane).collapse("show");
|
$(activeTabPane).siblings().not(".arrow-left").addClass("visible-xs-block");
|
||||||
positionArrow(activeListGroupItem);
|
positionArrow(activeListGroupItem);
|
||||||
|
|
||||||
$(".panel-heading .caret-updown").removeClass("fw-sort-down");
|
|
||||||
$(".panel-heading.collapsed .caret-updown").addClass("fw-sort-up");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$(".media.tab-responsive .tab-content").on("shown.bs.collapse", function (e) {
|
$(".media.tab-responsive .tab-content").on("shown.bs.collapse", function (e) {
|
||||||
var activeTabPane = $(e.target).parent().attr("id");
|
var thisParent = $(e.target).parent();
|
||||||
$(".media.tab-responsive [data-toggle=tab][href=#" + activeTabPane + "]").tab("show");
|
var activeTabPaneCaret = thisParent.find('.caret-updown');
|
||||||
$(".panel-heading .caret-updown").removeClass("fw-sort-up");
|
var activeTabPaneCaretSiblings = thisParent.siblings().find('.caret-updown');
|
||||||
$(".panel-heading.collapsed .caret-updown").addClass("fw-sort-down");
|
|
||||||
|
activeTabPaneCaret.removeClass("fw-up").addClass("fw-down");
|
||||||
|
activeTabPaneCaretSiblings.removeClass("fw-down").addClass("fw-up");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$('.media.tab-responsive a[data-toggle="collapse"]').on('click',function(){
|
||||||
|
var clickedPanel = $(this).attr('href');
|
||||||
|
|
||||||
|
if($(clickedPanel).hasClass('in')){
|
||||||
|
$(clickedPanel).collapse('hide');
|
||||||
|
}else{
|
||||||
|
$(clickedPanel).collapse('show');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
function positionArrow(selectedTab) {
|
function positionArrow(selectedTab) {
|
||||||
var selectedTabHeight = $(selectedTab).outerHeight();
|
var selectedTabHeight = $(selectedTab).innerHeight();
|
||||||
var arrowPosition = 0;
|
var arrowPosition = 0;
|
||||||
var totalHeight = 0;
|
var totalHeight = 0;
|
||||||
var arrow = $(".media .panel-group.tab-content .arrow-left");
|
var arrow = $(".media .panel-group.tab-content .arrow-left");
|
||||||
var parentHeight = $(arrow).parent().outerHeight();
|
var parentHeight = $(arrow).parent().innerHeight();
|
||||||
|
|
||||||
// if($(selectedTab).prev().length){
|
|
||||||
// $(selectedTab).prevAll().each(function() {
|
if($(selectedTab).prev().length){
|
||||||
// totalHeight += $(this).outerHeight();
|
$(selectedTab).prevAll().each(function() {
|
||||||
// });
|
totalHeight += $(this).innerHeight();
|
||||||
// arrowPosition = totalHeight + (selectedTabHeight / 2);
|
});
|
||||||
// }else{
|
arrowPosition = totalHeight + (selectedTabHeight / 2);
|
||||||
// arrowPosition = selectedTabHeight / 2;
|
}else{
|
||||||
// }
|
arrowPosition = selectedTabHeight / 2;
|
||||||
|
}
|
||||||
|
|
||||||
if(arrowPosition >= parentHeight){
|
if(arrowPosition >= parentHeight){
|
||||||
parentHeight = arrowPosition + 10;
|
parentHeight = arrowPosition + 50;
|
||||||
$(arrow).parent().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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -228,8 +240,8 @@ var InitiateViewOption = null;
|
|||||||
$("#applications-list-container").html(content);
|
$("#applications-list-container").html(content);
|
||||||
} else {
|
} else {
|
||||||
$("#applications-list-container").
|
$("#applications-list-container").
|
||||||
html("<div class='panel-body'><br><p class='fw-warning'> No applications found. " +
|
html("<div class='message message-info'><h4><i class='icon fw fw-info'></i>No applications found.</h4>" +
|
||||||
"please try refreshing the list in a while.<p></div>");
|
"<p>Please try refreshing the list in a while.</p></div>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -315,4 +327,5 @@ var InitiateViewOption = null;
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}());
|
}());
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
{{unit "mdm.unit.device.qr-modal"}}
|
{{unit "mdm.unit.device.qr-modal"}}
|
||||||
|
|
||||||
{{#zone "contentTitle"}}
|
{{#zone "contentTitle"}}
|
||||||
|
{{#if isAuthorized}}
|
||||||
<div class="row wr-device-board">
|
<div class="row wr-device-board">
|
||||||
<div class="col-lg-12 wr-secondary-bar">
|
<div class="col-lg-12 wr-secondary-bar">
|
||||||
<label class="device-id device-select" data-deviceid="{{device.deviceIdentifier}}"
|
<label class="device-id device-select" data-deviceid="{{device.deviceIdentifier}}"
|
||||||
@ -16,9 +17,11 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{/if}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
|
|
||||||
{{#zone "content"}}
|
{{#zone "content"}}
|
||||||
|
{{#if isAuthorized}}
|
||||||
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;">
|
<div class="row no-gutter add-padding-5x add-margin-top-5x" style="border: 1px solid #e4e4e4;">
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="media-left media-middle asset-image col-xs-2 col-sm-2 col-md-2 col-lg-2">
|
<div class="media-left media-middle asset-image col-xs-2 col-sm-2 col-md-2 col-lg-2">
|
||||||
@ -366,8 +369,16 @@
|
|||||||
{{/defineZone}}
|
{{/defineZone}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{else}}
|
||||||
|
<h1 class="page-sub-title">
|
||||||
|
Permission Denied
|
||||||
|
</h1>
|
||||||
|
<br>
|
||||||
|
You are not authorized to view specified device in the system.
|
||||||
|
{{/if}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
{{#zone "bottomJs"}}
|
{{#zone "bottomJs"}}
|
||||||
|
{{#if isAuthorized}}
|
||||||
<script id="policy-view" src="{{@unit.publicUri}}/templates/policy-compliance.hbs"
|
<script id="policy-view" src="{{@unit.publicUri}}/templates/policy-compliance.hbs"
|
||||||
data-device-id="{{device.deviceIdentifier}}" data-device-type="{{device.type}}"
|
data-device-id="{{device.deviceIdentifier}}" data-device-type="{{device.type}}"
|
||||||
type="text/x-handlebars-template"></script>
|
type="text/x-handlebars-template"></script>
|
||||||
@ -380,4 +391,5 @@
|
|||||||
{{js "js/device-detail.js"}}
|
{{js "js/device-detail.js"}}
|
||||||
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
|
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
|
||||||
{{js "js/load-map.js"}}
|
{{js "js/load-map.js"}}
|
||||||
|
{{/if}}
|
||||||
{{/zone}}
|
{{/zone}}
|
||||||
@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function onRequest(context) {
|
function onRequest(context) {
|
||||||
var log = new Log("view.js");
|
// var log = new Log("view.js");
|
||||||
var deviceType = context.uriParams.deviceType;
|
var deviceType = context.uriParams.deviceType;
|
||||||
var deviceId = request.getParameter("id");
|
var deviceId = request.getParameter("id");
|
||||||
var deviceData = {};
|
var deviceData = {};
|
||||||
@ -26,6 +26,8 @@ function onRequest(context) {
|
|||||||
var deviceModule = require("/app/modules/business-controllers/device.js")["deviceModule"];
|
var deviceModule = require("/app/modules/business-controllers/device.js")["deviceModule"];
|
||||||
var response = deviceModule.viewDevice(deviceType, deviceId);
|
var response = deviceModule.viewDevice(deviceType, deviceId);
|
||||||
if (response["status"] == "success") {
|
if (response["status"] == "success") {
|
||||||
|
deviceData["isAuthorized"] = true;
|
||||||
|
|
||||||
var device = response["content"];
|
var device = response["content"];
|
||||||
var viewModel = {};
|
var viewModel = {};
|
||||||
var deviceInfo = device["properties"]["DEVICE_INFO"];
|
var deviceInfo = device["properties"]["DEVICE_INFO"];
|
||||||
@ -54,8 +56,7 @@ function onRequest(context) {
|
|||||||
viewModel["vendor"] = device["properties"]["VENDOR"];
|
viewModel["vendor"] = device["properties"]["VENDOR"];
|
||||||
var osBuildDate = device["properties"]["OS_BUILD_DATE"];
|
var osBuildDate = device["properties"]["OS_BUILD_DATE"];
|
||||||
if (osBuildDate != null && osBuildDate != "0") {
|
if (osBuildDate != null && osBuildDate != "0") {
|
||||||
var formattedDate = new Date(osBuildDate * 1000);
|
viewModel["os_build_date"] = new Date(osBuildDate * 1000);
|
||||||
viewModel["os_build_date"] = formattedDate;
|
|
||||||
}
|
}
|
||||||
viewModel["internal_memory"] = {};
|
viewModel["internal_memory"] = {};
|
||||||
viewModel["external_memory"] = {};
|
viewModel["external_memory"] = {};
|
||||||
@ -96,6 +97,8 @@ function onRequest(context) {
|
|||||||
device["viewModel"] = viewModel;
|
device["viewModel"] = viewModel;
|
||||||
}
|
}
|
||||||
deviceData["device"] = device;
|
deviceData["device"] = device;
|
||||||
|
} else if (response["status"] == "unauthorized") {
|
||||||
|
deviceData["isAuthorized"] = false;
|
||||||
}
|
}
|
||||||
return deviceData;
|
return deviceData;
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
package org.wso2.carbon.device.mgt.mobile.windows.api.services;
|
package org.wso2.carbon.device.mgt.mobile.windows.api.services;
|
||||||
|
|
||||||
|
import org.wso2.carbon.apimgt.annotations.api.Permission;
|
||||||
import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsDeviceEnrolmentException;
|
import org.wso2.carbon.device.mgt.mobile.windows.api.common.exceptions.WindowsDeviceEnrolmentException;
|
||||||
|
|
||||||
import javax.ws.rs.*;
|
import javax.ws.rs.*;
|
||||||
@ -35,26 +36,31 @@ public interface DeviceManagementAdminService {
|
|||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/lock-devices")
|
@Path("/lock-devices")
|
||||||
|
@Permission(name = "Lock Device", permission = "/device-mgt/devices/owning/operations/windows/lock")
|
||||||
Response lock(@HeaderParam("Accept") String headerParam, List<String> deviceIds) throws
|
Response lock(@HeaderParam("Accept") String headerParam, List<String> deviceIds) throws
|
||||||
WindowsDeviceEnrolmentException;
|
WindowsDeviceEnrolmentException;
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/disenroll-devices")
|
@Path("/disenroll-devices")
|
||||||
|
@Permission(name = "Disenroll Device", permission = "/device-mgt/devices/disenroll/windows")
|
||||||
Response disenroll(@HeaderParam("Accept") String headerParam, List<String> deviceIds) throws
|
Response disenroll(@HeaderParam("Accept") String headerParam, List<String> deviceIds) throws
|
||||||
WindowsDeviceEnrolmentException;
|
WindowsDeviceEnrolmentException;
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/wipe-devices")
|
@Path("/wipe-devices")
|
||||||
|
@Permission(name = "Wipe Device", permission = "/device-mgt/devices/owning/operations/windows/wipe")
|
||||||
Response wipe(@HeaderParam("Accept") String headerParam, List<String> deviceIds) throws
|
Response wipe(@HeaderParam("Accept") String headerParam, List<String> deviceIds) throws
|
||||||
WindowsDeviceEnrolmentException;
|
WindowsDeviceEnrolmentException;
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/ring-devices")
|
@Path("/ring-devices")
|
||||||
|
@Permission(name = "Ring Device", permission = "/device-mgt/devices/owning/operations/windows/ring")
|
||||||
Response ring(@HeaderParam("Accept") String headerParam, List<String> deviceIds) throws
|
Response ring(@HeaderParam("Accept") String headerParam, List<String> deviceIds) throws
|
||||||
WindowsDeviceEnrolmentException;
|
WindowsDeviceEnrolmentException;
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/lockreset-devices")
|
@Path("/lockreset-devices")
|
||||||
|
@Permission(name = "Lock-Reset Device", permission = "/device-mgt/devices/owning/operations/windows/lockreset")
|
||||||
Response lockReset(@HeaderParam("Accept") String acceptHeader, List<String> deviceIds)
|
Response lockReset(@HeaderParam("Accept") String acceptHeader, List<String> deviceIds)
|
||||||
throws WindowsDeviceEnrolmentException;
|
throws WindowsDeviceEnrolmentException;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user