X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=static%2Fsrc%2Fuserhandler%2Fuser_list.js;h=0000ecc56afc7b885e29f43e0b66c39ced733dfe;hb=5bc5ebbb3fe574a5699c580594808cee44a4e0b3;hp=9a52249beafb249247bd4940d9953040da91542b;hpb=756fff4cdf8bfdac47feda544a13b675d96d4ead;p=osm%2FLW-UI.git diff --git a/static/src/userhandler/user_list.js b/static/src/userhandler/user_list.js index 9a52249..0000ecc 100644 --- a/static/src/userhandler/user_list.js +++ b/static/src/userhandler/user_list.js @@ -41,7 +41,7 @@ function openModalCreateUser(args) { $('#modal_new_user').modal('show'); } -function openModalEditUser(args) { +function openModalEditUserCredentials(args) { var url = '/admin/users/' + args.user_id; var user_projects = args.projects ? args.projects.split(',') : []; $("#formEditUser").attr("action", url); @@ -66,9 +66,81 @@ function openModalEditUser(args) { } - $('#modal_edit_user').modal('show'); + $('#modal_edit_user_credentials').modal('show'); } +function openModalEditUserRoleMap(user_id) { + $("#formEditUserRoleMap").attr("action", '/admin/users/' + user_id); + var dialog = bootbox.dialog({ + message: '
Loading...
', + closeButton: false + }); + $.ajax({ + url: '/admin/users/' + user_id + '/info', + dataType: "json", + contentType: "application/json;charset=utf-8", + success: function (result) { + dialog.modal('hide'); + resetMapGroup(result); + $('#modal_edit_user_role_map').modal('show'); + }, + error: function (result) { + dialog.modal('hide'); + bootbox.alert("An error occurred."); + } + }); + +} + +function resetMapGroup(args){ + var $formGroup = $('#modal_edit_proj_role_map_body'); + $formGroup.empty(); + $formGroup.append('
' + + + ''+ + '

'); + if(args['project_role_mappings'] && args['project_role_mappings'].length > 0) { + + for(i = 0; i < args['project_role_mappings'].length; ++i){ + var mapping = args['project_role_mappings'][i]; + + $formGroup.append('
' + + '
'+ + '
'+ + ''+ + '
'+ + ''+ + '
'+ + '
'); + } + } + + + + +} + +var addMapGroup = function (event) { + event.preventDefault(); + + var $formGroup = $('#modal_edit_proj_role_map_body'); + $formGroup.append('
' + + '
'+ + '
'+ + ''+ + '
'+ + ''+ + '
'+ + '
'); + +}; + +var removeMapGroup = function (event) { + event.preventDefault(); + var $formGroup = $(this).closest('.proj-role-map-group'); + $formGroup.remove(); +}; + function deleteUser(user_id, name) { var delete_url = '/admin/users/' + user_id + '/delete'; bootbox.confirm("Are you sure want to delete " + name + "?", function (confirm) { @@ -94,4 +166,67 @@ function deleteUser(user_id, name) { } }) -} \ No newline at end of file +} + +function validatePswOnCreate() { + + var confirm_password = document.getElementById("password2"); + if($("#password").val() == $("#password2").val()){ + $("#pwmatch").removeClass("glyphicon-remove"); + $("#pwmatch").addClass("glyphicon-ok"); + $("#pwmatch").css("color","#00A41E"); + confirm_password.setCustomValidity(""); + }else{ + $("#pwmatch").removeClass("glyphicon-ok"); + $("#pwmatch").addClass("glyphicon-remove"); + $("#pwmatch").css("color","#FF0004"); + confirm_password.setCustomValidity("Passwords Don't Match"); + } +} + +function validatePswOnEdit() { + + var confirm_password = document.getElementById("edit_password2"); + if($("#edit_password").val() == $("#edit_password2").val()){ + $("#pwmatch_edit").removeClass("glyphicon-remove"); + $("#pwmatch_edit").addClass("glyphicon-ok"); + $("#pwmatch_edit").css("color","#00A41E"); + confirm_password.setCustomValidity(""); + }else{ + $("#pwmatch_edit").removeClass("glyphicon-ok"); + $("#pwmatch_edit").addClass("glyphicon-remove"); + $("#pwmatch_edit").css("color","#FF0004"); + confirm_password.setCustomValidity("Passwords Don't Match"); + } +} + +$(document).ready(function () { + $("#formEditUserRoleMap").submit(function (event) { + event.preventDefault(); //prevent default action + var post_url = $(this).attr("action"); //get form action url + var request_method = $(this).attr("method"); //get form GET/POST method + var form_data = new FormData(this); //Encode form elements for submission + $.ajax({ + url: post_url, + type: request_method, + data: form_data, + headers: { + "Accept": 'application/json' + }, + contentType: false, + processData: false + }).done(function (response, textStatus, jqXHR) { + table.ajax.reload(); + $('#modal_edit_user_role_map').modal('hide'); + }).fail(function (result) { + var data = result.responseJSON; + var title = "Error " + (data.code ? data.code : 'unknown'); + var message = data.detail ? data.detail : 'No detail available.'; + bootbox.alert({ + title: title, + message: message + }); + }); + }); + +}) \ No newline at end of file