From 7898a7475c4e68804b5419d55778c323551d54db Mon Sep 17 00:00:00 2001 From: kamidu Date: Tue, 4 Oct 2016 12:24:41 +0530 Subject: [PATCH 01/13] UI fixes in 2.2.0-beta --- .../app/pages/cdmf.page.users/public/js/listing.js | 8 ++++---- .../public/templates/notification-listing.hbs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js index 2d5b88e35b..8baf1b32e5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js @@ -45,7 +45,7 @@ var modalPopupContent = modalPopup + " .modal-content"; var body = "body"; /** - * + * * Fires the res_text when ever a data table redraw occurs making * the font icons change the size to respective screen resolution. * @@ -266,7 +266,7 @@ function loadUsers() { "recordsFiltered": data.count, "data": objects }; - + console.log(json); return JSON.stringify(json); }; @@ -282,8 +282,8 @@ function loadUsers() { class: "remove-padding icon-only content-fill", data: null, defaultContent: '
' + - '' + - '
' + '' + + '' }, { class: "fade-edge", diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.notification.listing/public/templates/notification-listing.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.notification.listing/public/templates/notification-listing.hbs index 2206689845..4f98c03e9b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.notification.listing/public/templates/notification-listing.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.notification.listing/public/templates/notification-listing.hbs @@ -57,7 +57,7 @@ {{description}} - + From f32caf1833aaa1e4e8f3a3635bb15f832f9f4b24 Mon Sep 17 00:00:00 2001 From: kamidu Date: Tue, 4 Oct 2016 13:20:09 +0530 Subject: [PATCH 02/13] UI fixes in 2.2.0-beta --- .../cdmf.page.roles/public/js/role-listing.js | 6 +-- .../cdmf.page.users/public/js/listing.js | 42 +++++++++++++------ .../public/js/dataTables.extended.js | 1 + 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/public/js/role-listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/public/js/role-listing.js index 602dbc0544..b27dfbe698 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/public/js/role-listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.roles/public/js/role-listing.js @@ -83,7 +83,7 @@ function hidePopup() { * initial mode and with out select mode. */ function InitiateViewOption() { - $(location).attr('href', $(this).data("url")); + // $(location).attr('href', $(this).data("url")); } function loadRoles() { @@ -124,8 +124,8 @@ function loadRoles() { class: "remove-padding icon-only content-fill", data: null, defaultContent: "
" + - "" + - "
" + "" + + "" }, { class: "fade-edge", diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js index 8baf1b32e5..c21b515cd0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js @@ -266,7 +266,7 @@ function loadUsers() { "recordsFiltered": data.count, "data": objects }; - console.log(json); + return JSON.stringify(json); }; @@ -281,9 +281,11 @@ function loadUsers() { { class: "remove-padding icon-only content-fill", data: null, - defaultContent: '
' + - '' + - '
' + render: function (data, type, row, meta) { + return '
' + + '' + + '
'; + } }, { class: "fade-edge", @@ -318,7 +320,7 @@ function loadUsers() { class: "text-right content-fill text-left-on-grid-view no-wrap", data: null, render: function (data, type, row, meta) { - return ' 
' + ' ' + @@ -328,8 +330,9 @@ function loadUsers() { '' + - '' + - ''; + + var resetPasswordbtn = '' + @@ -340,8 +343,9 @@ function loadUsers() { '' + - '' + - ''; + + var removebtn = '' + @@ -353,6 +357,19 @@ function loadUsers() { '  Remove' + '' + ''; + + var returnbtnSet = ''; + if($("#can-edit").length > 0) { + returnbtnSet = returnbtnSet + editbtn; + } + if($("#can-reset-password").length > 0) { + returnbtnSet = returnbtnSet + resetPasswordbtn; + } + if($("#can-remove").length > 0) { + returnbtnSet = returnbtnSet + removebtn; + } + + return returnbtnSet; } } @@ -365,14 +382,15 @@ function loadUsers() { $('#user-grid').datatables_extended_serverside_paging(null, '/api/device-mgt/v1.0/users', dataFilter, columns, fnCreatedRow, null, options); $(loadingContentView).hide(); + } $(document).ready(function () { loadUsers(); - $(".viewEnabledIcon").click(function () { - InitiateViewOption(); - }); if (!$("#can-invite").val()) { $("#invite-user-button").remove(); } + $(".viewEnabledIcon").click(function () { + InitiateViewOption(); + }); }); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.data-tables-extended/public/js/dataTables.extended.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.data-tables-extended/public/js/dataTables.extended.js index bc14c19c2a..812acca6f7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.data-tables-extended/public/js/dataTables.extended.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.data-tables-extended/public/js/dataTables.extended.js @@ -25,6 +25,7 @@ $.fn.datatables_extended = function(settings){ // EMM related function if (InitiateViewOption) { + $(".viewEnabledIcon").unbind("click"); $(".viewEnabledIcon").bind("click", InitiateViewOption); } //--- End of EMM related codes From b77aefa02c6e560ccc5444c96be9f6f0e5d2cb7c Mon Sep 17 00:00:00 2001 From: Shavindri Date: Tue, 4 Oct 2016 13:34:44 +0530 Subject: [PATCH 03/13] test push --- .../carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/src/main/java/org/wso2/carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/src/main/java/org/wso2/carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java index 6527bff32d..4c337d0546 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/src/main/java/org/wso2/carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/src/main/java/org/wso2/carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java @@ -33,6 +33,8 @@ public interface CertificateMgtService { notes = "This will return a signed certificate upon a given CSR.", tags = "Device Management") @ApiResponses( + + value = { @ApiResponse( code = 200, From 3d383b0414f6fbca4526af09a1cffcc328c254d0 Mon Sep 17 00:00:00 2001 From: Shavindri Date: Tue, 4 Oct 2016 13:39:08 +0530 Subject: [PATCH 04/13] test push reverse --- .../carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/src/main/java/org/wso2/carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/src/main/java/org/wso2/carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java index 4c337d0546..6527bff32d 100644 --- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/src/main/java/org/wso2/carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java +++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/src/main/java/org/wso2/carbon/certificate/mgt/jaxrs/api/CertificateMgtService.java @@ -33,8 +33,6 @@ public interface CertificateMgtService { notes = "This will return a signed certificate upon a given CSR.", tags = "Device Management") @ApiResponses( - - value = { @ApiResponse( code = 200, From b7990b91462092090aabdb5be90e9a8b3bd2f6b7 Mon Sep 17 00:00:00 2001 From: Megala Date: Tue, 4 Oct 2016 17:22:45 +0530 Subject: [PATCH 05/13] Fixing problems in retriveing data from secondary user store --- .../service/api/UserManagementService.java | 25 +++++++++++++++++-- .../api/admin/UserManagementAdminService.java | 5 ++++ .../impl/UserManagementServiceImpl.java | 20 ++++++++++++--- .../admin/UserManagementAdminServiceImpl.java | 5 +++- .../app/modules/business-controllers/user.js | 16 ++++++++++++ .../cdmf.page.user.edit/public/js/bottomJs.js | 4 +-- .../cdmf.page.users/public/js/listing.js | 18 ++++++++++++- .../user-menu.hbs | 2 +- 8 files changed, 84 insertions(+), 11 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/UserManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/UserManagementService.java index 7ea6d8d5c5..c8d528dd3e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/UserManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/UserManagementService.java @@ -135,6 +135,7 @@ public interface UserManagementService { " fetching the requested user.", response = ErrorResponse.class) }) + @Permission(name = "View Users", permission = "/device-mgt/users/view") Response getUser( @ApiParam( @@ -142,6 +143,11 @@ public interface UserManagementService { value = "Username of the user to be fetched.", required = true) @PathParam("username") String username, + @ApiParam( + name = "domain", + value = "Domain name of the user store.", + required = false) + @QueryParam("domain") String domain, @ApiParam( name = "If-Modified-Since", value = "Validates if the requested variant has not been modified since the time specified", @@ -199,6 +205,11 @@ public interface UserManagementService { value = "Username of the user to be updated.", required = true) @PathParam("username") String username, + @ApiParam( + name = "domain", + value = "Domain name of the user store.", + required = false) + @QueryParam("domain") String domain, @ApiParam( name = "userData", value = "User related details.", @@ -230,7 +241,12 @@ public interface UserManagementService { @Permission(name = "Manage Users", permission = "/device-mgt/users/manage") Response removeUser( @ApiParam(name = "username", value = "Username of the user to be deleted.", required = true) - @PathParam("username") String username); + @PathParam("username") String username, + @ApiParam( + name = "domain", + value = "Domain name of the user store.", + required = false) + @QueryParam("domain") String domain); @GET @Path("/{username}/roles") @@ -279,7 +295,12 @@ public interface UserManagementService { @Permission(name = "View Users", permission = "/device-mgt/users/view") Response getRolesOfUser( @ApiParam(name = "username", value = "Username of the user.", required = true) - @PathParam("username") String username); + @PathParam("username") String username, + @ApiParam( + name = "domain", + value = "Domain name of the user store.", + required = false) + @QueryParam("domain") String domain); @GET @ApiOperation( diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/UserManagementAdminService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/UserManagementAdminService.java index 6b18ea8367..026910d8e2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/UserManagementAdminService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/admin/UserManagementAdminService.java @@ -78,6 +78,11 @@ public interface UserManagementAdminService { @PathParam("username") @Size(max = 45) String username, + @ApiParam( + name = "domain", + value = "Domain name of the user store.", + required = false) + @QueryParam("domain") String domain, @ApiParam( name = "credentials", value = "Credential.", diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java index 43f52d812a..f6ba34a085 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/UserManagementServiceImpl.java @@ -105,8 +105,11 @@ public class UserManagementServiceImpl implements UserManagementService { @GET @Path("/{username}") @Override - public Response getUser(@PathParam("username") String username, + public Response getUser(@PathParam("username") String username, @QueryParam("domain") String domain, @HeaderParam("If-Modified-Since") String ifModifiedSince) { + if (domain != null) { + username = domain + '/' + username; + } try { UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager(); if (!userStoreManager.isExistingUser(username)) { @@ -131,7 +134,10 @@ public class UserManagementServiceImpl implements UserManagementService { @PUT @Path("/{username}") @Override - public Response updateUser(@PathParam("username") String username, UserInfo userInfo) { + public Response updateUser(@PathParam("username") String username, @QueryParam("domain") String domain, UserInfo userInfo) { + if (domain != null) { + username = domain + '/' + username; + } try { UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager(); if (!userStoreManager.isExistingUser(username)) { @@ -205,7 +211,10 @@ public class UserManagementServiceImpl implements UserManagementService { @DELETE @Path("/{username}") @Override - public Response removeUser(@PathParam("username") String username) { + public Response removeUser(@PathParam("username") String username, @QueryParam("domain") String domain) { + if (domain != null) { + username = domain + '/' + username; + } try { UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager(); if (!userStoreManager.isExistingUser(username)) { @@ -233,7 +242,10 @@ public class UserManagementServiceImpl implements UserManagementService { @GET @Path("/{username}/roles") @Override - public Response getRolesOfUser(@PathParam("username") String username) { + public Response getRolesOfUser(@PathParam("username") String username, @QueryParam("domain") String domain) { + if (domain != null) { + username = domain + '/' + username; + } try { UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager(); if (!userStoreManager.isExistingUser(username)) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/UserManagementAdminServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/UserManagementAdminServiceImpl.java index 5fad04b0d9..fbcc38178b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/UserManagementAdminServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/admin/UserManagementAdminServiceImpl.java @@ -37,7 +37,10 @@ public class UserManagementAdminServiceImpl implements UserManagementAdminServic @Override public Response resetUserPassword(@PathParam("username") @Size(max = 45) - String user, PasswordResetWrapper credentials) { + String user, @QueryParam("domain") String domain, PasswordResetWrapper credentials) { + if (domain != null) { + user = domain + '/' + user; + } return CredentialManagementResponseBuilder.buildResetPasswordResponse(user, credentials); } 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 43e30b530c..299c39ebc6 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 @@ -177,10 +177,18 @@ var userModule = function () { */ publicMethods.getUser = function (username) { var carbonUser = privateMethods.getCarbonUser(); + var domain; + if (username.indexOf('/') > 0) { + domain = username.substr(0, username.indexOf('/')); + username = username.substr(username.indexOf('/')+1); + } try { utility.startTenantFlow(carbonUser); var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + "/users/" + encodeURIComponent(username); + if (domain) { + url += '?domain=' + domain; + } var response = privateMethods.callBackend(url, constants["HTTP_GET"]); response["content"] = parse(response.content); response["userDomain"] = carbonUser.domain; @@ -199,10 +207,18 @@ var userModule = function () { */ publicMethods.getRolesByUsername = function (username) { var carbonUser = privateMethods.getCarbonUser(); + var domain; + if (username.indexOf('/') > 0) { + domain = username.substr(0, username.indexOf('/')); + username = username.substr(username.indexOf('/')+1); + } try { utility.startTenantFlow(carbonUser); var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + "/users/" + encodeURIComponent(username) + "/roles"; + if (domain) { + url += '?domain=' + domain; + } var response = privateMethods.callBackend(url, constants["HTTP_GET"]); if (response.status == "success") { response.content = parse(response.content).roles; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.user.edit/public/js/bottomJs.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.user.edit/public/js/bottomJs.js index 295195e3f7..a39472b01a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.user.edit/public/js/bottomJs.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.user.edit/public/js/bottomJs.js @@ -235,8 +235,8 @@ $(document).ready(function () { roles = []; } addUserFormData.roles = roles; - - var addUserAPI = deviceMgtBasePath + "/users/" + username; + username = username.substr(username.indexOf('/') + 1); + var addUserAPI = deviceMgtBasePath + "/users/" + username + "?domain="+domain; invokerUtil.put( addUserAPI, diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js index 2d5b88e35b..30c601f180 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.users/public/js/listing.js @@ -162,9 +162,17 @@ function resetPassword(username) { } else { var resetPasswordFormData = {}; resetPasswordFormData.newPassword = unescape(confirmedPassword); - + var domain; + if (username.indexOf('/') > 0) { + domain = username.substr(0, username.indexOf('/')); + username = username.substr(username.indexOf('/')+1); + } var resetPasswordServiceURL = apiBasePath + "/admin/users/"+ username +"/credentials"; + if (domain) { + resetPasswordServiceURL += '?domain=' + domain; + } + invokerUtil.post( resetPasswordServiceURL, resetPasswordFormData, @@ -198,7 +206,15 @@ function resetPassword(username) { * on User Listing page in WSO2 MDM Console. */ function removeUser(username) { + var domain; + if (username.indexOf('/') > 0) { + domain = username.substr(0, username.indexOf('/')); + username = username.substr(username.indexOf('/')+1); + } var removeUserAPI = apiBasePath + "/users/" + username; + if (domain) { + url += '?domain=' + domain; + } $(modalPopupContent).html($('#remove-user-modal-content').html()); showPopup(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.user-menu/user-menu.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.user-menu/user-menu.hbs index eb958f6bfc..d2aba63fdc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.user-menu/user-menu.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.ui.header.user-menu/user-menu.hbs @@ -46,7 +46,7 @@
- +