diff options
Diffstat (limited to 'auth/src/main/webapp/user/js/createUser.js')
-rw-r--r-- | auth/src/main/webapp/user/js/createUser.js | 310 |
1 files changed, 0 insertions, 310 deletions
diff --git a/auth/src/main/webapp/user/js/createUser.js b/auth/src/main/webapp/user/js/createUser.js deleted file mode 100644 index 71a8d566..00000000 --- a/auth/src/main/webapp/user/js/createUser.js +++ /dev/null @@ -1,310 +0,0 @@ -/* - * Copyright 2016-2017 Huawei Technologies Co., Ltd. - * - * Licensed 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. - */ -$(document).ready(function() { - - var USER_SERVICE = "/openoapi/auth/v1/users"; - var ROLE_SERVICE = "/openoapi/auth/v1/roles"; - var $userName = $("#userName"); - var $password = $("#password"); - var $cfPsdError = $("#cfPsdError"); - var $userNameError = $("#userNameError"); - var $passwordError = $("#passwordError"); - var $rolesError = $("#rolesError"); - var roleMap=[]; - function initialPage() { - /*initial the event*/ - $("#confirm").click(function(e) { - if (!checkUserRules()) { - return; - } - var data = getCreateUser(); - createUser(data).done(function() { - window.document.location = "/openoui/user/user.html"; - }) - }) - $("#cancel").click(function(e) { - window.document.location = "/openoui/user/user.html"; - }) - //get and initialize roles - getRolesList().done(function(data) { - var data = formatRoles(data); - for (var i = 0; i < data.length; i++) { - var html = '<li><input type="checkbox" value="' + data[i].name + '"/>' + data[i].name + '</li>'; - $('.mutliSelect ul').append(html); - } - }) - - //init listener - $(".dropdown dt a").on('click', function() { - $(".dropdown dd ul").slideToggle('fast'); - }); - - $(".dropdown dd ul li a").on('click', function() { - $(".dropdown dd ul").hide(); - }); - - function getSelectedValue(id) { - return $("#" + id).find("dt a span.value").html(); - } - - $(document).bind('click', function(e) { - var $clicked = $(e.target); - if (!$clicked.parents().hasClass("dropdown")) $(".dropdown dd ul").hide(); - }); - - $('.mutliSelect input[type="checkbox"]').on('click', function() { - if($('.hida')[0].innerHTML=='Please select roles') - { - $('.hida')[0].innerHTML=''; - } - - var title; - if($('.multiSel').text() ==='') - { - title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(), - title = $(this).val(); - } - else - { - title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(), - title ="," + $(this).val(); - - } - var oldText=$('.hida')[0].innerHTML; - if ($(this).is(':checked')) { - if(oldText.length>0) - { - $('.hida')[0].innerHTML=oldText+','+title; - } - else - { - $('.hida')[0].innerHTML=title; - } - - } else { - - var rolesData = oldText.split(','); - var rolesList=''; - for (var i = 0; i < rolesData.length ; i++) { - if(title!=rolesData[i]) - { - if(i==0 || rolesList.length==0 ) - { - rolesList=rolesData[i]; - } - else - { - rolesList=rolesList+','+rolesData[i]; - } - } - } - if(rolesList.length ==0) - { - rolesList='Please select roles'; - } - $('.hida')[0].innerHTML=rolesList; - - } - }); - - } - - function getRolesList() { - return Rest.http({ - url: ROLE_SERVICE + "?=" + new Date().getTime(), - type: "GET", - async: false, - contentType: 'application/json', - dataType: "json" - }) - } - - function formatRoles(data) { - var rolesData = []; - for (var i = 0; i < data.roles.length; i++) { - var temp = {}; - temp.roleid = data.roles[i].id; - temp.name = data.roles[i].name; - rolesData.push(temp); - roleMap[temp.name]=temp.roleid; - } - return rolesData; - } - - function getCreateUser() { - var data = {}; - data.userName = $userName.val(); - data.password = $password.val(); - data.description = $("#description").val(); - data.email = "xxxx@xxxx.com"; - //get roles - var roles=[]; - var rolesData = $('.hida').text().split(','); - for (var i = 0; i < rolesData.length ; i++) { - var temp = {}; - temp.name=rolesData[i]; - temp.id=roleMap[rolesData[i]]; - roles.push(temp); - } - data.roles=roles; - return data; - } - - function createUser(data) { - return Rest.http({ - url: USER_SERVICE + "?=" + new Date().getTime(), - type: "POST", - async: false, - contentType: 'application/json', - dataType: "json", - data: JSON.stringify(data) - }) - } - - function checkUserRules() { - if (!checkMandatory()) { - return false; - } - - if (!checkCfPassword()) { - return false; - } - - if (!checkUserNameRule()) { - return false; - } - - if (!checkPasswordRule()) { - return false; - } - return true; - } - - function checkMandatory() { - if ($userName.val() == "") { - showError($userNameError, "Mandatory."); - return false; - } - - if ($password.val() == "") { - showError($passwordError, "Mandatory."); - return false; - } - if($('.hida')[0].innerHTML=='Please select roles') - { - showError($rolesError, "Mandatory."); - return false; - } - return true; - } - - function checkUserNameRule() { - var username = $userName.val(); - if (!checkLength(5, 30, username)) { - showError($userNameError, "The user name length should between 5 and 30."); - return false - } - - if (!checkOnlySpecials(username, /[0-9]|[a-z]|[A-Z]|_/g)) { - showError($userNameError, "Only Character(a-z\,A-Z\,0-9,_) is allowed."); - return false - } - - if(!checkUderScore(username)) { - showError($userNameError, 'The character "_" is only allowed in the middle of the user name.'); - return false - } - - if (!checkNoSpace(username)) { - showError($userNameError, "The user name should not contain space."); - return false - } - - return true - } - - function checkPasswordRule() { - var password = $password.val(); - - if (!checkLength(8, 32, password)) { - showError($passwordError, "The password length should between 8 and 32."); - return false - } - - if (!checkCotainSpecial(password)) { - showError($passwordError, "At least contain: one uppercase letter, one lowercase letter, and one digit, one special character;"); - return false - } - - if (!checkNoContainAndReverse(password, $userName.val())) { - showError($passwordError, "The password should not contain the user name or reverse."); - return false - } - - if (!checkNoSpace(password)) { - showError($passwordError, "The password should not contain space."); - return false - } - return true - } - - function checkLength(min, max, str) { - return str.length >= min && str.length <= max; - } - - function checkOnlySpecials(str, reg) { - return str.match(reg) && str.match(reg).length == str.length - } - - function checkCotainSpecial(password) { - return password.match(/\~|\`|\@|\#|\$|\%|\^|\&|\*|\-|\_|\=|\+|\||\?|\/|\(|\)|\<|\>|\[|\]|\{|\}|\"|\,|\.|\;|\'|\!/g) != null - && password.match(/[0-9]/g) != null && password.match(/[a-z]/g) != null && password.match(/[A-Z]/g) != null; - } - - function checkUderScore(str) { - return str.indexOf("_") != 0 && str.lastIndexOf("_") != str.length - 1; - } - - function checkNoContainAndReverse(str, str2) { - return str.indexOf(str2) == -1 && str.indexOf(str2.split("").reverse().join("")) == -1; - } - - function checkNoSpace(str) { - return str.indexOf(" ") == -1; - } - - function checkCfPassword() { - if ($password.val() == $("#cfPassword").val()) { - return true; - } - showError($cfPsdError, "The password is not the same."); - return false; - } - - function showError($Obj, message) { - $Obj.text(message); - $Obj.css("visibility", "visible"); - setTimeout(function() { - hideError($Obj); - }, 5000) - } - - function hideError($Obj) { - $Obj.css("visibility", "hidden"); - } - - initialPage(); -}) |