+function openModalEditUserCredentials(args) {
+ var url = '/admin/users/' + args.user_id;
+ var user_projects = args.projects ? args.projects.split(',') : [];
+ $("#formEditUser").attr("action", url);
+ $("#projects_old").val(user_projects.toString());
+ $('#projects_edit').val(null).trigger('change');
+ $('#default_project_edit').val(null).trigger('change');
+ $('#edit_password').val('');
+ if (user_projects.length > 0) {
+ // Create a DOM Option and pre-select by default
+ var newOption = new Option(user_projects[0], user_projects[0], true, true);
+ // Append it to the select
+ $('#default_project_edit').append(newOption).trigger('change');
+
+ for (var d in user_projects) {
+ var project = user_projects[d];
+ // Create a DOM Option and pre-select by default
+ var newOption = new Option(project, project, true, true);
+ // Append it to the select
+ $('#projects_edit').append(newOption).trigger('change');
+ }
+
+ }
+
+
+ $('#modal_edit_user_credentials').modal('show');
+}
+
+function openModalEditUserRoleMap(user_id) {
+ $("#formEditUserRoleMap").attr("action", '/admin/users/' + user_id);
+ var dialog = bootbox.dialog({
+ message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
+ 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('<div class="proj-role-map-group-head">' +
+
+ '<button type="button" class="btn btn-success btn-add btn-sm">+</button>'+
+ '</div></br>');
+ 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('<div class="proj-role-map-group"> <div class="form-group">' +
+ '<label class="col-sm-2">Project* </label><div class="col-sm-3">'+
+ '<input name="map_project_name" value="'+mapping.project_name+'" class="form-control input-sm" required></div>'+
+ '<label class="col-sm-2">Role* </label>'+
+ '<div class="col-sm-3">'+
+ '<input name="map_role_name" value="'+mapping.role_name+'" class="form-control input-sm" required>'+
+ '</div>'+
+ '<button type="button" class="btn btn-danger btn-remove btn-sm">-</button></div></div>');
+ }
+ }
+
+
+
+
+}
+
+var addMapGroup = function (event) {
+ event.preventDefault();
+
+ var $formGroup = $('#modal_edit_proj_role_map_body');
+ $formGroup.append('<div class="proj-role-map-group"> <div class="form-group">' +
+ '<label class="col-sm-2">Project* </label><div class="col-sm-3">'+
+ '<input name="map_project_name" class="form-control input-sm" required></div>'+
+ '<label class="col-sm-2">Role* </label>'+
+ '<div class="col-sm-3">'+
+ '<input name="map_role_name" class="form-control input-sm" required>'+
+ '</div>'+
+ '<button type="button" class="btn btn-danger btn-remove btn-sm">-</button></div></div>');
+
+};
+
+var removeMapGroup = function (event) {
+ event.preventDefault();
+ var $formGroup = $(this).closest('.proj-role-map-group');
+ $formGroup.remove();
+};
+