diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/config.json b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/config.json index 8e74ac0232d..a87877d6dce 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/config.json +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/conf/config.json @@ -122,6 +122,7 @@ "perm:users:update", "perm:users:send-invitation", "perm:admin-users:view", + "perm:admin:devices:update-enrollment", "perm:groups:devices", "perm:groups:update", "perm:groups:add", diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/user.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/user.js index 416bb197955..25f92f9c7ae 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/user.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/user.js @@ -620,6 +620,9 @@ var userModule = function () { if (publicMethods.isAuthorized("/permission/admin/device-mgt/topics/view")) { permissions["VIEW_TOPICS"] = true; } + if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/devices/update-enrollment")) { + permissions["UPDATE_ENROLLMENT"] = true; + } return permissions; }; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/devices.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/devices.hbs index 96d763192b9..0ff41a245bc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/devices.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/devices.hbs @@ -209,6 +209,22 @@ {{/if}} + + {{#if permissions.updateEnrollment}} +
  • + + + + + + Update Enrollment + +
  • + {{/if}} + @@ -513,6 +529,58 @@ + +
    + + + +
    + +
    + + + +
    + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/devices.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/devices.js index 41afed6ae9f..a04b0ab8acc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/devices.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/devices.js @@ -43,6 +43,9 @@ function onRequest(context) { if (uiPermissions.ADD_DEVICE) { viewModel.permissions.enroll = true; } + if (uiPermissions.UPDATE_ENROLLMENT) { + viewModel.permissions.updateEnrollment = true; + } viewModel.currentUser = currentUser; var deviceCount = 0; if (groupId) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/public/js/listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/public/js/listing.js index 26f3ea8ec67..c80e877b684 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/public/js/listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.devices/public/js/listing.js @@ -809,6 +809,68 @@ function attachDeviceEvents() { }); }); + /** + * Following click function would execute + * when a user clicks on "Update Enrollment" link + * on Device Management page. + */ + $("a.update-enrollment-link").click(function () { + var deviceIdentifiers = []; + var deviceId = $(this).data("deviceid"); + var deviceType = $(this).data("devicetype"); + + if (deviceId && deviceType) { + deviceIdentifiers = [{"id": deviceId, "type": deviceType}]; + } else { + deviceIdentifiers = getSelectedDevices(); + } + + if (deviceIdentifiers.length === 0) { + $(modalPopupContent).html($('#no-device-selected').html()); + $("a#no-device-selected-link").click(function () { + hidePopup(); + }); + showPopup(); + return; + } + + $(modalPopupContent).html($('#update-enrollment-modal-content').html()); + showPopup(); + + $("a#update-enrollment-yes-link").click(function () { + var username = $("#update-enrollment-name").val(); + console.log(username); + if (username) { + var i; + var deviceIds = []; + for (i=0; i