From 24d846a328ba221da1bbec633c8fff464b0d8b84 Mon Sep 17 00:00:00 2001 From: dilanua Date: Fri, 22 Jul 2016 15:25:33 +0530 Subject: [PATCH] Refactoring user-create page and related modules --- .../jaggeryapps/devicemgt/app/modules/user.js | 502 +++++++++--------- .../pages/cdmf.page.user.create/create.hbs | 16 +- .../app/pages/cdmf.page.user.create/create.js | 24 +- .../pages/cdmf.page.user.create/create.json | 2 +- .../public/js/bottomJs.js | 127 +++-- 5 files changed, 340 insertions(+), 331 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/user.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/user.js index 2a1eccdbed..0a3d157390 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/user.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/user.js @@ -1,17 +1,17 @@ /* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * Copyright (c) 2015, 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 + * 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 + * "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. */ @@ -25,32 +25,30 @@ var userModule = function () { var constants = require("/app/modules/constants.js"); var utility = require("/app/modules/utility.js")["utility"]; var devicemgtProps = require("/app/conf/devicemgt-props.js").config(); - var serviceInvokers = require("/app/modules/backend-service-invoker.js").backendServiceInvoker; + var serviceInvokers = require("/app/modules/backend-service-invoker.js")["backendServiceInvoker"]; /* Initializing user manager */ - var carbon = require('carbon'); - var tenantId = carbon.server.tenantId(); - var url = carbon.server.address('https') + "/admin/services"; + var carbon = require("carbon"); + var url = carbon.server.address("https") + "/admin/services"; var server = new carbon.server.Server(url); - var userManager = new carbon.user.UserManager(server, tenantId); - var deviceManagementService = utility.getDeviceManagementService(); - var EmailMessageProperties = Packages.org.wso2.carbon.device.mgt.common.EmailMessageProperties; + //var deviceManagementService = utility.getDeviceManagementService(); + //var EmailMessageProperties = Packages.org.wso2.carbon.device.mgt.common.EmailMessageProperties; var publicMethods = {}; var privateMethods = {}; /** - * Get the carbon user object from the session. If not found - it will throw a user not found error. - * @returns {carbon user object} + * Get the carbon user object from the session. If not found - it will throw a user not found error. + * @returns {object} carbon user object */ privateMethods.getCarbonUser = function () { - var carbon = require('carbon'); - var carbonUser = session.get(constants.USER_SESSION_KEY); - var utility = require('/app/modules/utility.js').utility; + var carbon = require("carbon"); + var carbonUser = session.get(constants["USER_SESSION_KEY"]); + var utility = require("/modules/utility.js")["utility"]; if (!carbonUser) { log.error("User object was not found in the session"); - throw constants.ERRORS.USER_NOT_FOUND; + throw constants["ERRORS"]["USER_NOT_FOUND"]; } return carbonUser; }; @@ -59,31 +57,25 @@ var userModule = function () { * Only GET method is implemented for now since there are no other type of methods used this method. * @param url - URL to call the backend without the host * @param method - HTTP Method (GET, POST) - * @returns { - * 'status': 'success'|'error', - * 'content': {} - * } + * @returns An object with 'status': 'success'|'error', 'content': {} */ privateMethods.callBackend = function (url, method) { - if (constants.HTTP_GET == method) { - var response = serviceInvokers.XMLHttp.get(url, function (responsePayload) { - var response = {}; - response.content = responsePayload["responseContent"]; - if (responsePayload["responseContent"] == null && responsePayload != null) { - response.content = responsePayload; + if (constants["HTTP_GET"] == method) { + return serviceInvokers.XMLHttp.get(url, + function (backendResponse) { + var response = {}; + response.content = backendResponse.responseText; + if (backendResponse.status == 200) { + response.status = "success"; + } else if (backendResponse.status == 400 || backendResponse.status == 401 || + backendResponse.status == 404 || backendResponse.status == 500) { + response.status = "error"; + } + return response; } - response.status = "success"; - return response; - }, - function (responsePayload) { - var response = {}; - response.content = responsePayload; - response.status = "error"; - return response; - }); - return response; + ); } else { - log.error("Programming error : This method only support HTTP GET requests."); + log.error("Runtime error : This method only support HTTP GET requests."); } }; @@ -101,43 +93,43 @@ var userModule = function () { * * @returns {number} HTTP Status code 201 if succeeded, 409 if user already exists */ - publicMethods.addUser = function (username, firstname, lastname, emailAddress, userRoles) { - var statusCode, carbon = require('carbon'); - var carbonUser = session.get(constants.USER_SESSION_KEY); - var utility = require('/app/modules/utility.js').utility; - if (!carbonUser) { - log.error("User object was not found in the session"); - throw constants.ERRORS.USER_NOT_FOUND; - } - try { - utility.startTenantFlow(carbonUser); - var tenantId = carbon.server.tenantId(); - var userManager = new carbon.user.UserManager(server, tenantId); - if (userManager.userExists(username)) { - if (log.isDebugEnabled()) { - log.debug("A user with name '" + username + "' already exists."); - } - // http status code 409 refers to - conflict. - statusCode = 409; - } else { - var initialUserPassword = privateMethods.generateInitialUserPassword(); - var defaultUserClaims = privateMethods.buildDefaultUserClaims(firstname, lastname, emailAddress); - - userManager.addUser(username, initialUserPassword, userRoles, defaultUserClaims, "default"); - privateMethods.inviteUserToEnroll(username, initialUserPassword); - if (log.isDebugEnabled()) { - log.debug("A new user with name '" + username + "' was created."); - } - // http status code 201 refers to - created. - statusCode = 201; - } - return statusCode; - } catch (e) { - throw e; - } finally { - utility.endTenantFlow(); - } - }; +// publicMethods.addUser = function (username, firstname, lastname, emailAddress, userRoles) { +// var statusCode, carbon = require("carbon"); +// var carbonUser = session.get(constants["USER_SESSION_KEY"]); +// var utility = require("/app/modules/utility.js")["utility"]; +// if (!carbonUser) { +// log.error("User object was not found in the session"); +// throw constants["ERRORS"]["USER_NOT_FOUND"]; +// } +// try { +// utility.startTenantFlow(carbonUser); +// var tenantId = carbon.server.tenantId(); +// var userManager = new carbon.user.UserManager(server, tenantId); +// if (userManager.userExists(username)) { +// if (log.isDebugEnabled()) { +// log.debug("A user with name '" + username + "' already exists."); +// } +// // http status code 409 refers to - conflict. +// statusCode = 409; +// } else { +// var initialUserPassword = privateMethods.generateInitialUserPassword(); +// var defaultUserClaims = privateMethods.buildDefaultUserClaims(firstname, lastname, emailAddress); +// +// userManager.addUser(username, initialUserPassword, userRoles, defaultUserClaims, "default"); +// privateMethods.inviteUserToEnroll(username, initialUserPassword); +// if (log.isDebugEnabled()) { +// log.debug("A new user with name '" + username + "' was created."); +// } +// // http status code 201 refers to - created. +// statusCode = 201; +// } +// return statusCode; +// } catch (e) { +// throw e; +// } finally { +// utility.endTenantFlow(); +// } +// }; /** * Register user to dc-user-store. @@ -188,39 +180,39 @@ var userModule = function () { * @param username Username of the user * @returns {number} HTTP Status code 200 if succeeded, 409 if the user does not exist */ - publicMethods.removeUser = function (username) { - var statusCode, carbon = require('carbon'); - var carbonUser = session.get(constants.USER_SESSION_KEY); - var utility = require('/app/modules/utility.js').utility; - if (!carbonUser) { - log.error("User object was not found in the session"); - throw constants.ERRORS.USER_NOT_FOUND; - } - try { - utility.startTenantFlow(carbonUser); - var tenantId = carbon.server.tenantId(); - var userManager = new carbon.user.UserManager(server, tenantId); - if (userManager.userExists(username)) { - userManager.removeUser(username); - if (log.isDebugEnabled()) { - log.debug("An existing user with name '" + username + "' was removed."); - } - // http status code 200 refers to - success. - statusCode = 200; - } else { - if (log.isDebugEnabled()) { - log.debug("A user with name '" + username + "' does not exist to remove."); - } - // http status code 409 refers to - conflict. - statusCode = 409; - } - return statusCode; - } catch (e) { - throw e; - } finally { - utility.endTenantFlow(); - } - }; +// publicMethods.removeUser = function (username) { +// var statusCode, carbon = require('carbon'); +// var carbonUser = session.get(constants.USER_SESSION_KEY); +// var utility = require("/app/modules/utility.js").utility; +// if (!carbonUser) { +// log.error("User object was not found in the session"); +// throw constants.ERRORS.USER_NOT_FOUND; +// } +// try { +// utility.startTenantFlow(carbonUser); +// var tenantId = carbon.server.tenantId(); +// var userManager = new carbon.user.UserManager(server, tenantId); +// if (userManager.userExists(username)) { +// userManager.removeUser(username); +// if (log.isDebugEnabled()) { +// log.debug("An existing user with name '" + username + "' was removed."); +// } +// // http status code 200 refers to - success. +// statusCode = 200; +// } else { +// if (log.isDebugEnabled()) { +// log.debug("A user with name '" + username + "' does not exist to remove."); +// } +// // http status code 409 refers to - conflict. +// statusCode = 409; +// } +// return statusCode; +// } catch (e) { +// throw e; +// } finally { +// utility.endTenantFlow(); +// } +// }; /* @Deprecated @@ -232,25 +224,25 @@ var userModule = function () { * * @returns {string} Initial User Password */ - privateMethods.generateInitialUserPassword = function () { - var passwordLength = 6; - //defining the pool of characters to be used for initial password generation - var lowerCaseCharset = "abcdefghijklmnopqrstuvwxyz"; - var upperCaseCharset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - var numericCharset = "0123456789"; - - var totalCharset = lowerCaseCharset + upperCaseCharset + numericCharset; - var totalCharsetLength = totalCharset.length; - - var initialUserPassword = ""; - for (var i = 0; i < passwordLength; ++i) { - initialUserPassword += totalCharset.charAt(Math.floor(Math.random() * totalCharsetLength)); - } - if (log.isDebugEnabled()) { - log.debug("Initial password created for new user : " + initialUserPassword); - } - return String(initialUserPassword); - }; +// privateMethods.generateInitialUserPassword = function () { +// var passwordLength = 6; +// //defining the pool of characters to be used for initial password generation +// var lowerCaseCharset = "abcdefghijklmnopqrstuvwxyz"; +// var upperCaseCharset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +// var numericCharset = "0123456789"; +// +// var totalCharset = lowerCaseCharset + upperCaseCharset + numericCharset; +// var totalCharsetLength = totalCharset.length; +// +// var initialUserPassword = ""; +// for (var i = 0; i < passwordLength; ++i) { +// initialUserPassword += totalCharset.charAt(Math.floor(Math.random() * totalCharsetLength)); +// } +// if (log.isDebugEnabled()) { +// log.debug("Initial password created for new user : " + initialUserPassword); +// } +// return String(initialUserPassword); +// }; /* @Deprecated @@ -264,17 +256,17 @@ var userModule = function () { * * @returns {Object} Default user claims to be provided */ - privateMethods.buildDefaultUserClaims = function (firstname, lastname, emailAddress) { - var defaultUserClaims = { - "http://wso2.org/claims/givenname": firstname, - "http://wso2.org/claims/lastname": lastname, - "http://wso2.org/claims/emailaddress": emailAddress - }; - if (log.isDebugEnabled()) { - log.debug("ClaimMap created for new user : " + stringify(defaultUserClaims)); - } - return defaultUserClaims; - }; +// privateMethods.buildDefaultUserClaims = function (firstname, lastname, emailAddress) { +// var defaultUserClaims = { +// "http://wso2.org/claims/givenname": firstname, +// "http://wso2.org/claims/lastname": lastname, +// "http://wso2.org/claims/emailaddress": emailAddress +// }; +// if (log.isDebugEnabled()) { +// log.debug("ClaimMap created for new user : " + stringify(defaultUserClaims)); +// } +// return defaultUserClaims; +// }; /* @Deprecated @@ -286,89 +278,89 @@ var userModule = function () { * @param username Username of the user * @param password Password of the user */ - privateMethods.inviteUserToEnroll = function (username, password) { - var carbon = require('carbon'); - var enrollmentURL = devicemgtProps.generalConfig.host + devicemgtProps.webAgentContext + "download-agent"; - var carbonUser = session.get(constants.USER_SESSION_KEY); - var utility = require('/app/modules/utility.js').utility; - if (!carbonUser) { - log.error("User object was not found in the session"); - throw constants.ERRORS.USER_NOT_FOUND; - } - //var user = userManagementService.getUser(username, carbonUser.tenantId); - try { - utility.startTenantFlow(carbonUser); - var tenantId = carbon.server.tenantId(); - var userManager = new carbon.user.UserManager(server, tenantId); - var emailTo = []; - var user = userManager.getUser(username); - emailTo[0] = privateMethods.getEmail(username, userManager); - var emailMessageProperties = new EmailMessageProperties(); - emailMessageProperties.setMailTo(emailTo); - emailMessageProperties.setFirstName(privateMethods.getFirstName(username, userManager)); - emailMessageProperties.setUserName(username); - emailMessageProperties.setPassword(password); - emailMessageProperties.setEnrolmentUrl(enrollmentURL); - deviceManagementService.sendRegistrationEmail(emailMessageProperties); - } catch (e) { - throw e; - } finally { - utility.endTenantFlow(); - } - }; +// privateMethods.inviteUserToEnroll = function (username, password) { +// var carbon = require('carbon'); +// var enrollmentURL = devicemgtProps.generalConfig.host + devicemgtProps.webAgentContext + "download-agent"; +// var carbonUser = session.get(constants.USER_SESSION_KEY); +// var utility = require('/app/modules/utility.js').utility; +// if (!carbonUser) { +// log.error("User object was not found in the session"); +// throw constants.ERRORS.USER_NOT_FOUND; +// } +// //var user = userManagementService.getUser(username, carbonUser.tenantId); +// try { +// utility.startTenantFlow(carbonUser); +// var tenantId = carbon.server.tenantId(); +// var userManager = new carbon.user.UserManager(server, tenantId); +// var emailTo = []; +// var user = userManager.getUser(username); +// emailTo[0] = privateMethods.getEmail(username, userManager); +// var emailMessageProperties = new EmailMessageProperties(); +// emailMessageProperties.setMailTo(emailTo); +// emailMessageProperties.setFirstName(privateMethods.getFirstName(username, userManager)); +// emailMessageProperties.setUserName(username); +// emailMessageProperties.setPassword(password); +// emailMessageProperties.setEnrolmentUrl(enrollmentURL); +// deviceManagementService.sendRegistrationEmail(emailMessageProperties); +// } catch (e) { +// throw e; +// } finally { +// utility.endTenantFlow(); +// } +// }; /* @Deprecated */ - privateMethods.getEmail = function (username, userManager) { - return userManager.getClaim(username, "http://wso2.org/claims/emailaddress", null) - }; +// privateMethods.getEmail = function (username, userManager) { +// return userManager.getClaim(username, "http://wso2.org/claims/emailaddress", null) +// }; /* @Deprecated */ - privateMethods.getFirstName = function (username, userManager) { - return userManager.getClaim(username, "http://wso2.org/claims/givenname", null) - }; +// privateMethods.getFirstName = function (username, userManager) { +// return userManager.getClaim(username, "http://wso2.org/claims/givenname", null) +// }; /* @Deprecated */ - privateMethods.getLastName = function (username, userManager) { - return userManager.getClaim(username, "http://wso2.org/claims/lastname", null) - }; +// privateMethods.getLastName = function (username, userManager) { +// return userManager.getClaim(username, "http://wso2.org/claims/lastname", null) +// }; /* @Deprecated */ - publicMethods.inviteUser = function (username) { - var carbonUser = session.get(constants.USER_SESSION_KEY); - var utility = require('/app/modules/utility.js').utility; - if (!carbonUser) { - log.error("User object was not found in the session"); - throw constants.ERRORS.USER_NOT_FOUND; - } - var enrollmentURL = devicemgtProps.generalConfig.host + devicemgtProps.webAgentContext + "download-agent"; - - try { - utility.startTenantFlow(carbonUser); - var tenantId = carbon.server.tenantId(); - var userManager = new carbon.user.UserManager(server, tenantId); - var user = userManager.getUser(username); - var emailProperties = new EmailMessageProperties(); - var emailTo = []; - emailTo[0] = privateMethods.getEmail(username, userManager); - emailProperties.setMailTo(emailTo); - //emailProperties.setFirstName(user.getFirstName()); - emailProperties.setFirstName(privateMethods.getFirstName(username, userManager)); - emailProperties.setEnrolmentUrl(enrollmentURL); - deviceManagementService.sendEnrolmentInvitation(emailProperties); - } catch (e) { - throw e; - } finally { - utility.endTenantFlow(); - } - }; +// publicMethods.inviteUser = function (username) { +// var carbonUser = session.get(constants.USER_SESSION_KEY); +// var utility = require('/app/modules/utility.js').utility; +// if (!carbonUser) { +// log.error("User object was not found in the session"); +// throw constants.ERRORS.USER_NOT_FOUND; +// } +// var enrollmentURL = devicemgtProps.generalConfig.host + devicemgtProps.webAgentContext + "download-agent"; +// +// try { +// utility.startTenantFlow(carbonUser); +// var tenantId = carbon.server.tenantId(); +// var userManager = new carbon.user.UserManager(server, tenantId); +// var user = userManager.getUser(username); +// var emailProperties = new EmailMessageProperties(); +// var emailTo = []; +// emailTo[0] = privateMethods.getEmail(username, userManager); +// emailProperties.setMailTo(emailTo); +// //emailProperties.setFirstName(user.getFirstName()); +// emailProperties.setFirstName(privateMethods.getFirstName(username, userManager)); +// emailProperties.setEnrolmentUrl(enrollmentURL); +// deviceManagementService.sendEnrolmentInvitation(emailProperties); +// } catch (e) { +// throw e; +// } finally { +// utility.endTenantFlow(); +// } +// }; /* @Updated @@ -382,9 +374,12 @@ var userModule = function () { } try { utility.startTenantFlow(carbonUser); - var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/users"; - return privateMethods.callBackend(url, constants.HTTP_GET); - + var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + "/users?offset=0&limit=100"; + var response = privateMethods.callBackend(url, constants["HTTP_GET"]); + if (response.status == "success") { + response.content = parse(response.content).users; + } + return response; } catch (e) { throw e; } finally { @@ -395,22 +390,16 @@ var userModule = function () { /** * Return a User object from the backend by calling the JAX-RS * @param username - * @returns { - * 'status': 'success'|'error', - * 'content': { - "username": "abc", - "firstname": "abc", - "lastname": "efj", - "emailAddress": "abc@abc.com" - } - * } + * @returns {object} a response object with status and content on success. */ publicMethods.getUser = function (username) { var carbonUser = privateMethods.getCarbonUser(); try { utility.startTenantFlow(carbonUser); - var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/users/view?username=" + username; - var response = privateMethods.callBackend(url, constants.HTTP_GET); + var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + "/users/" + + encodeURIComponent(username); + var response = privateMethods.callBackend(url, constants["HTTP_GET"]); + response["content"] = parse(response.content); response["userDomain"] = carbonUser.domain; return response; } catch (e) { @@ -419,18 +408,19 @@ var userModule = function () { utility.endTenantFlow(); } }; + /** - * TODO: comment + * Returns a set of roles assigned to a particular user * @param username - * @returns {*} + * @returns {object} a response object with status and content on success. */ publicMethods.getRolesByUsername = function (username) { var carbonUser = privateMethods.getCarbonUser(); try { utility.startTenantFlow(carbonUser); - var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/users/roles?username=" + username; - var response = privateMethods.callBackend(url, constants.HTTP_GET); - return response; + var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + "/users/" + + encodeURIComponent(username) + "/roles"; + return privateMethods.callBackend(url, constants["HTTP_GET"]); } catch (e) { throw e; } finally { @@ -450,8 +440,8 @@ var userModule = function () { } try { utility.startTenantFlow(carbonUser); - var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/users/users-by-username"; - return privateMethods.callBackend(url, constants.HTTP_GET) + var url = devicemgtProps["httpsURL"] + "/mdm-admin/users/users-by-username"; + return privateMethods.callBackend(url, constants["HTTP_GET"]); } catch (e) { throw e; } finally { @@ -467,15 +457,19 @@ var userModule = function () { */ publicMethods.getRoles = function () { var carbonUser = session.get(constants["USER_SESSION_KEY"]); - var utility = require('/app/modules/utility.js')["utility"]; + var utility = require("/app/modules/utility.js")["utility"]; if (!carbonUser) { log.error("User object was not found in the session"); throw constants["ERRORS"]["USER_NOT_FOUND"]; } try { utility.startTenantFlow(carbonUser); - var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/roles"; - return privateMethods.callBackend(url, constants.HTTP_GET); + var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + "/roles"; + var response = privateMethods.callBackend(url, constants["HTTP_GET"]); + if (response.status == "success") { + response.content = parse(response.content).roles; + } + return response; } catch (e) { throw e; } finally { @@ -488,18 +482,24 @@ var userModule = function () { */ /** * Get User Roles from user store (Internal roles not included). + * @returns {object} a response object with status and content on success. */ - publicMethods.getRolesByUserStore = function (userStore) { + publicMethods.getRolesByUserStore = function () { + var ROLE_LIMIT = devicemgtProps["pageSize"]; var carbonUser = session.get(constants["USER_SESSION_KEY"]); - var utility = require('/app/modules/utility.js')["utility"]; + var utility = require("/app/modules/utility.js")["utility"]; if (!carbonUser) { log.error("User object was not found in the session"); throw constants["ERRORS"]["USER_NOT_FOUND"]; } try { utility.startTenantFlow(carbonUser); - var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/roles/" + encodeURIComponent(userStore); - return privateMethods.callBackend(url, constants.HTTP_GET); + var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + "/roles?limit=" + ROLE_LIMIT; + var response = privateMethods.callBackend(url, constants["HTTP_GET"]); + if (response.status == "success") { + response.content = parse(response.content).roles; + } + return response; } catch (e) { throw e; } finally { @@ -510,17 +510,22 @@ var userModule = function () { /** * Get Platforms. */ + //TODO Move this piece of logic out of user.js to somewhere else appropriate. publicMethods.getPlatforms = function () { var carbonUser = session.get(constants["USER_SESSION_KEY"]); - var utility = require('/app/modules/utility.js')["utility"]; + var utility = require("/app/modules/utility.js")["utility"]; if (!carbonUser) { log.error("User object was not found in the session"); throw constants["ERRORS"]["USER_NOT_FOUND"]; } try { utility.startTenantFlow(carbonUser); - var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/devices/types"; - return privateMethods.callBackend(url, constants.HTTP_GET); + var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + "/admin/device-types"; + var response = privateMethods.callBackend(url, constants["HTTP_GET"]); + if (response.status == "success") { + response.content = parse(response.content); + } + return response; } catch (e) { throw e; } finally { @@ -535,15 +540,17 @@ var userModule = function () { */ publicMethods.getRole = function (roleName) { var carbonUser = session.get(constants["USER_SESSION_KEY"]); - var utility = require('/app/modules/utility.js')["utility"]; + var utility = require("/app/modules/utility.js")["utility"]; if (!carbonUser) { log.error("User object was not found in the session"); throw constants["ERRORS"]["USER_NOT_FOUND"]; } try { utility.startTenantFlow(carbonUser); - var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/roles/role?rolename=" + encodeURIComponent(roleName); - var response = privateMethods.callBackend(url, constants.HTTP_GET); + var url = devicemgtProps["httpsURL"] + devicemgtProps["backendRestEndpoints"]["deviceMgt"] + + "/roles/" + encodeURIComponent(roleName); + var response = privateMethods.callBackend(url, constants["HTTP_GET"]); + response.content = parse(response.content); return response; } catch (e) { throw e; @@ -776,24 +783,29 @@ var userModule = function () { * retrieve secondary user stores. * This needs Authentication since the method access admin services. * - * @returns {string array} Array of secondary user stores. + * @returns Array of secondary user stores. */ publicMethods.getSecondaryUserStores = function () { var returnVal = []; - var endpoint = devicemgtProps.adminService + constants.USER_STORE_CONFIG_ADMIN_SERVICE_END_POINT; + var endpoint = devicemgtProps["adminService"] + constants["USER_STORE_CONFIG_ADMIN_SERVICE_END_POINT"]; var wsPayload = ""; serviceInvokers.WS.soapRequest( - "urn:getSecondaryRealmConfigurations", endpoint, wsPayload, function (wsResponse) { + "urn:getSecondaryRealmConfigurations", + wsPayload, + endpoint, + function (wsResponse) { var domainIDs = stringify(wsResponse.*::['return']. *::domainId.text()); if (domainIDs != "\"\"") { - var regExpForSearch = new RegExp(constants.USER_STORES_NOISY_CHAR, "g"); + var regExpForSearch = new RegExp(constants["USER_STORES_NOISY_CHAR"], "g"); domainIDs = domainIDs.replace(regExpForSearch, ""); - returnVal = domainIDs.split(constants.USER_STORES_SPLITTING_CHAR); + returnVal = domainIDs.split(constants["USER_STORES_SPLITTING_CHAR"]); } }, function (e) { log.error("Error retrieving secondary user stores", e); - }, constants.SOAP_VERSION); + }, + constants["SOAP_VERSION"]); return returnVal; }; + return publicMethods; }(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.user.create/create.hbs b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.user.create/create.hbs index e8902e77d2..d9f24cd04f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.user.create/create.hbs +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/pages/cdmf.page.user.create/create.hbs @@ -15,7 +15,7 @@ specific language governing permissions and limitations under the License. }} -{{unit "cdmf.unit.ui.title" pageTitle="User Management"}} +{{unit "cdmf.unit.ui.title" pageTitle="User Management | Add User"}} {{#zone "breadcrumbs"}}
  • @@ -50,8 +50,8 @@ -