mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
Adding permissions to operation-bar UI
This commit is contained in:
parent
c2c71df610
commit
4799fcca5f
@ -16,12 +16,13 @@
|
||||
under the License.
|
||||
}}
|
||||
{{#zone "content"}}
|
||||
<div id = "operations-mod">
|
||||
<div id = "operations-mod" data-permissions="{{permissions}}">
|
||||
{{unit "mdm.unit.device.operation-mod"}}
|
||||
</div>
|
||||
{{/zone}}
|
||||
|
||||
{{#zone "bottomJs"}}
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<script id="operations-bar" src="{{@unit.publicUri}}/templates/operations.hbs"
|
||||
type="text/x-handlebars-template"></script>
|
||||
{{js "js/operation-bar.js"}}
|
||||
|
||||
@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
function onRequest(context) {
|
||||
var log = new Log("mdm.unit.device.operation-bar");
|
||||
var userModule = require("/app/modules/business-controllers/user.js")["userModule"];
|
||||
var deviceType = context.uriParams.deviceType;
|
||||
var viewModel = {};
|
||||
var permissions = [];
|
||||
|
||||
// permission checks
|
||||
if (deviceType == "android") {
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/ring")) {
|
||||
permissions.push("DEVICE_RING");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/lock-devices")) {
|
||||
permissions.push("DEVICE_LOCK");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/unlock-devices")) {
|
||||
permissions.push("DEVICE_UNLOCK");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/location")) {
|
||||
permissions.push("DEVICE_LOCATION");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/clear-password")) {
|
||||
permissions.push("CLEAR_PASSWORD");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/reboot")) {
|
||||
permissions.push("DEVICE_REBOOT");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/upgrade-firmware")) {
|
||||
permissions.push("UPGRADE_FIRMWARE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/mute")) {
|
||||
permissions.push("DEVICE_MUTE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/send-notification")) {
|
||||
permissions.push("NOTIFICATION");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/change-lock-code")) {
|
||||
permissions.push("CHANGE_LOCK_CODE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/enterprise-wipe")) {
|
||||
permissions.push("ENTERPRISE_WIPE");
|
||||
}
|
||||
if (userModule.isAuthorized("/permission/admin/device-mgt/devices/owning/operations/android/wipe")) {
|
||||
permissions.push("WIPE_DATA");
|
||||
}
|
||||
} else if (deviceType == "ios") {
|
||||
|
||||
} else if (deviceType == "windows") {
|
||||
|
||||
}
|
||||
|
||||
viewModel["permissions"] = stringify(permissions);
|
||||
|
||||
return viewModel;
|
||||
}
|
||||
@ -21,8 +21,8 @@
|
||||
*/
|
||||
|
||||
var operations = '.wr-operations',
|
||||
modalPopup = '.modal',
|
||||
modalPopupContent = modalPopup + ' .modal-content',
|
||||
modalPopup = '.wr-modalpopup',
|
||||
modalPopupContent = modalPopup + ' .modalpopup-content',
|
||||
navHeight = $('#nav').height(),
|
||||
headerHeight = $('header').height(),
|
||||
offset = (headerHeight + navHeight),
|
||||
@ -108,8 +108,21 @@ function loadOperationBar(deviceType) {
|
||||
//var serviceURL = "/mdm-admin/features/" + platformType;
|
||||
var serviceURL = "/api/device-mgt/v1.0/devices/" + platformType + "/*/features";
|
||||
var successCallback = function (data) {
|
||||
var permittedOpps = [];
|
||||
var i;
|
||||
var permissionList = $("#operations-mod").data("permissions");
|
||||
var totalFeatures = JSON.parse(data);
|
||||
for (i = 0; i < permissionList.length; i++) {
|
||||
var j;
|
||||
for (j = 0; j < totalFeatures.length; j++) {
|
||||
if (permissionList[i] == totalFeatures[j]["code"]) {
|
||||
permittedOpps.push(totalFeatures[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var viewModel = {};
|
||||
data = JSON.parse(data).filter(function (current) {
|
||||
permittedOpps = permittedOpps.filter(function (current) {
|
||||
var iconName;
|
||||
switch (deviceType) {
|
||||
case platformTypeConstants.ANDROID:
|
||||
@ -129,7 +142,8 @@ function loadOperationBar(deviceType) {
|
||||
return current;
|
||||
}
|
||||
});
|
||||
viewModel.features = data;
|
||||
|
||||
viewModel.features = permittedOpps;
|
||||
var content = template(viewModel);
|
||||
$(".wr-operations").html(content);
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user