diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/GroupDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/GroupDAOImpl.java index 52dba3579a..7d9947a421 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/GroupDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/GroupDAOImpl.java @@ -105,6 +105,11 @@ public class GroupDAOImpl implements GroupDAO { stmt.setInt(1, groupId); stmt.setInt(2, tenantId); stmt.executeUpdate(); + sql = "DELETE FROM DM_DEVICE_GROUP_POLICY WHERE DEVICE_GROUP_ID = ? AND TENANT_ID = ?"; + stmt = conn.prepareStatement(sql); + stmt.setInt(1, groupId); + stmt.setInt(2, tenantId); + stmt.executeUpdate(); } catch (SQLException e) { throw new GroupManagementDAOException("Error occurred while removing mappings for group.'", e); } finally { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java index 4053c641e3..948b38976f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java @@ -1903,6 +1903,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv defaultGroup = new DeviceGroup(groupName); // Setting system level user (wso2.system.user) as the owner defaultGroup.setOwner(CarbonConstants.REGISTRY_SYSTEM_USERNAME); + defaultGroup.setDescription("Default system group for devices with " + groupName + " ownership."); try { service.createGroup(defaultGroup, DeviceGroupConstants.Roles.DEFAULT_ADMIN_ROLE, DeviceGroupConstants.Permissions.DEFAULT_ADMIN_PERMISSIONS); 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 0283fd214d..f8a0fd1ad4 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 @@ -500,10 +500,11 @@ var userModule = function () { publicMethods.getUIPermissions = function () { var permissions = {}; - if (publicMethods.isAuthorized("/permission/admin/device-mgt/devices/list")) { + if (publicMethods.isAuthorized("/permission/admin/device-mgt/devices/any-device")) { permissions["LIST_DEVICES"] = true; + permissions["LIST_OWN_DEVICES"] = true; } - if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/devices/list")) { + if (publicMethods.isAuthorized("/permission/admin/device-mgt/devices/owning-device")) { permissions["LIST_OWN_DEVICES"] = true; } if (publicMethods.isAuthorized("/permission/admin/device-mgt/admin/groups/view")) { @@ -524,10 +525,10 @@ var userModule = function () { if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/policies/list")) { permissions["LIST_POLICIES"] = true; } - if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/devices/add")) { + if (publicMethods.isAuthorized("/permission/admin/device-mgt/devices/add")) { permissions["ADD_DEVICE"] = true; } - if (publicMethods.isAuthorized("/permission/admin/device-mgt/user/groups/add")) { + if (publicMethods.isAuthorized("/permission/admin/device-mgt/groups/add")) { permissions["ADD_GROUP"] = true; } if (publicMethods.isAuthorized("/permission/admin/device-mgt/users/add")) { @@ -542,9 +543,6 @@ var userModule = function () { if (publicMethods.isAuthorized("/permission/admin/device-mgt/groups/devices/view")) { permissions["VIEW_GROUP_DEVICES"] = true; } - if (publicMethods.isAuthorized("/permission/admin/device-mgt/groups/roles/create")) { - permissions["CREATE_GROUP_ROLES"] = true; - } if (publicMethods.isAuthorized("/permission/admin/device-mgt/groups/roles/view")) { permissions["VIEW_GROUP_ROLES"] = true; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/init.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/init.js index bf5f26cac8..bc0fa5abb0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/init.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/init.js @@ -29,7 +29,9 @@ var carbonServer = new carbonModule.server.Server({ application.put("carbonServer", carbonServer); var permissions = { - "/permission/admin/device-mgt/devices": ["ui.execute"], + "/permission/admin/device-mgt/devices/enroll": ["ui.execute"], + "/permission/admin/device-mgt/devices/disenroll": ["ui.execute"], + "/permission/admin/device-mgt/devices/owning-device": ["ui.execute"], "/permission/admin/device-mgt/groups": ["ui.execute"], "/permission/admin/device-mgt/notifications": ["ui.execute"], "/permission/admin/device-mgt/policies": ["ui.execute"], diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.groups/public/js/listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.groups/public/js/listing.js index 439861e956..af4c5606f6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.groups/public/js/listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.groups/public/js/listing.js @@ -93,7 +93,7 @@ function loadGroups() { var currentUser = groupListing.data("currentUser"); var serviceURL; if ($.hasPermission("LIST_ALL_GROUPS")) { - serviceURL = "/api/device-mgt/v1.0/groups"; + serviceURL = "/api/device-mgt/v1.0/admin/groups"; } else if ($.hasPermission("LIST_GROUPS")) { //Get authenticated users groups serviceURL = "/api/device-mgt/v1.0/groups/user/" + currentUser; @@ -113,8 +113,7 @@ function loadGroups() { groupId: data.deviceGroups[index].id, name: data.deviceGroups[index].name, description: data.deviceGroups[index].description, - owner: data.deviceGroups[index].owner, - dateOfCreation: data.deviceGroups[index].dateOfCreation + owner: data.deviceGroups[index].owner }) }); var json = { @@ -153,7 +152,7 @@ function loadGroups() { data: 'id', class: 'text-right content-fill text-left-on-grid-view no-wrap', render: function (id, type, row, meta) { - var html; + var html = ''; if ($.hasPermission("VIEW_GROUP_DEVICES")) { html = '' + @@ -166,46 +165,39 @@ function loadGroups() { '' + ''; - } else { - html = ''; - } - if ($.hasPermission("SHARE_GROUP")) { - html += - '' - + - ''; - } else { - html += ''; - } - if ($.hasPermission("UPDATE_GROUP")) { - html += - '' + - ''; - } else { - html += ''; } - if ($.hasPermission("REMOVE_GROUP")) { - html += - '' - + - ''; - } else { - html += ''; + if (row.owner != "wso2.system.user") { + if ($.hasPermission("SHARE_GROUP")) { + html += + '' + + + ''; + } + if ($.hasPermission("UPDATE_GROUP")) { + html += + '' + + ''; + } + if ($.hasPermission("REMOVE_GROUP")) { + html += + '' + + + ''; + } } return html; } } - ]; var fnCreatedRow = function (row, data) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.navbar.nav-menu/nav-menu.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.navbar.nav-menu/nav-menu.hbs index 232e2c9d77..0a6a7d5b7e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.navbar.nav-menu/nav-menu.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.navbar.nav-menu/nav-menu.hbs @@ -30,22 +30,13 @@ {{/if}} - {{#if permissions.LIST_DEVICES_ADMIN}} + {{#if permissions.LIST_OWN_DEVICES}}