Merge remote-tracking branch 'melina/editUser'
commit
4e9174bd67
|
@ -5,6 +5,49 @@ $(document).on('shown.bs.modal', '#modalAddDesktop', function () {
|
|||
|
||||
$(document).ready(function() {
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
"url": "/isard-sso-admin/groups_list",
|
||||
success: function(data)
|
||||
{
|
||||
data.forEach(element => {
|
||||
var groupOrigins = [];
|
||||
['keycloak', 'moodle', 'nextcloud'].forEach(o => {
|
||||
if (element[o]) {
|
||||
groupOrigins.push(o)
|
||||
}
|
||||
})
|
||||
$(".groups-select").append(
|
||||
'<option value=' + element.path + '>' + element.name + ' (' + groupOrigins.join(',') + ') </option>'
|
||||
)
|
||||
});
|
||||
$('.groups-select').select2();
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert('Something went wrong on our side...')
|
||||
}
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
"url": "/isard-sso-admin/roles_list",
|
||||
success: function(data)
|
||||
{
|
||||
console.log('ROLES')
|
||||
console.log(data)
|
||||
data.forEach(element => {
|
||||
$(".role-moodle-select, .role-nextcloud-select, .role-keycloak-select").append(
|
||||
'<option value=' + element.id + '>' + element.name + '</option>'
|
||||
)
|
||||
})
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert('Something went wrong on our side...')
|
||||
}
|
||||
});
|
||||
|
||||
$('.btn-global-resync').on('click', function () {
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
|
@ -30,47 +73,6 @@ $(document).ready(function() {
|
|||
backdrop: 'static',
|
||||
keyboard: false
|
||||
}).modal('show');
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
"url": "/isard-sso-admin/groups_list",
|
||||
success: function(data)
|
||||
{
|
||||
data.forEach(element => {
|
||||
var groupOrigins = [];
|
||||
['keycloak', 'moodle', 'nextcloud'].forEach(o => {
|
||||
if (element[o]) {
|
||||
groupOrigins.push(o)
|
||||
}
|
||||
})
|
||||
$(".groups-select").append(
|
||||
'<option value=' + element.path + '>' + element.name + ' (' + groupOrigins.join(',') + ') </option>'
|
||||
)
|
||||
});
|
||||
$('.groups-select').select2();
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert('Something went wrong on our side...')
|
||||
}
|
||||
});
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
"url": "/isard-sso-admin/roles_list",
|
||||
success: function(data)
|
||||
{
|
||||
console.log('ROLES')
|
||||
console.log(data)
|
||||
data.forEach(element => {
|
||||
$(".role-moodle-select, .role-nextcloud-select, .role-keycloak-select").append(
|
||||
'<option value=' + element.id + '>' + element.name + '</option>'
|
||||
)
|
||||
})
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert('Something went wrong on our side...')
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Send new user form
|
||||
|
@ -322,6 +324,29 @@ $(document).ready(function() {
|
|||
}
|
||||
});
|
||||
|
||||
$('.btn-edit').on('click', function () {
|
||||
var closest=$(this).closest("div").parent();
|
||||
var pk=closest.attr("data-pk");
|
||||
$("#modalEditUserForm")[0].reset();
|
||||
$('#modalEditUser').modal({
|
||||
backdrop: 'static',
|
||||
keyboard: false
|
||||
}).modal('show');
|
||||
setUserDefault('#modalEditUser', pk);
|
||||
$('#modalEdit').parsley();
|
||||
});
|
||||
|
||||
$("#modalEditUser #send").on('click', function(e){
|
||||
var form = $('#modalEditUserForm');
|
||||
form.parsley().validate();
|
||||
if (form.parsley().isValid()){
|
||||
data=$('#modalEditUserForm').serializeObject();
|
||||
data['id']=$('#modalEditUserForm #id').val();
|
||||
console.log('Editing user...')
|
||||
console.log(data)
|
||||
}
|
||||
});
|
||||
|
||||
$('.btn-delete').on('click', function () {
|
||||
var closest=$(this).closest("div").parent();
|
||||
var pk=closest.attr("data-pk");
|
||||
|
@ -349,4 +374,35 @@ $(document).ready(function() {
|
|||
});
|
||||
});
|
||||
}
|
||||
function setUserDefault(div_id, user_id) {
|
||||
// $.ajax({
|
||||
// type: "GET",
|
||||
// url:"/isard-sso-admin/user/" + id,
|
||||
// success: function(data)
|
||||
// {
|
||||
// $(div_id + ' #id').val(data.id);
|
||||
// $(div_id + ' #username').val(data.username);
|
||||
// $(div_id + ' #email').val(data.email);
|
||||
// $(div_id + ' #firstname').val(data.firstname);
|
||||
// $(div_id + ' #lastname').val(data.lastname);
|
||||
// $(div_id + ' .groups-select').val(data.groups);
|
||||
// $(div_id + ' .role-moodle-select').val(data.roles);
|
||||
// $(div_id + ' .role-nextcloud-select').val(data.roles);
|
||||
// $(div_id + ' .role-keycloak-select').val(data.roles);
|
||||
// $('.groups-select, .role-moodle-select, .role-nextcloud-select, .role-keycloak-select').trigger('change');
|
||||
// }
|
||||
// });
|
||||
// MOCK
|
||||
$(div_id + ' #id').val('b57c8d3f-ee08-4a1d-9873-f40c082b9c69');
|
||||
$(div_id + ' #user-avatar').attr('src', 'static/img/usera.jpg');
|
||||
$(div_id + ' #username').val('yedcaqwvt');
|
||||
$(div_id + ' #email').val('yedcaqwvt@institutmariaespinalt.cat');
|
||||
$(div_id + ' #firstname').val('Ymisno');
|
||||
$(div_id + ' #lastname').val('Edcaqwvt tavnuoes');
|
||||
$(div_id + ' .groups-select').val(['student', 'manager']);
|
||||
$(div_id + ' .role-moodle-select').val('51cc1a95-94b7-48eb-aebb-1eba6745e09f');
|
||||
$(div_id + ' .role-nextcloud-select').val('1e21ec95-b8c7-43b8-baad-1a31ad33f388');
|
||||
$(div_id + ' .role-keycloak-select').val('13da53d5-c50b-42d9-8fbf-84f2ed7cbf9e');
|
||||
$('.groups-select, .role-moodle-select, .role-nextcloud-select, .role-keycloak-select').trigger('change');
|
||||
}
|
||||
});
|
|
@ -138,3 +138,122 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="modalEditUser" tabindex="-1" role="dialog" aria-labelledby="modalEditUser" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<!-- Modal Header -->
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
<span aria-hidden="true">×</span>
|
||||
<span class="sr-only">Close</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="myModalLabel">
|
||||
<i class="fa fa-plus fa-1x"> </i> <i class="fa fa-user"> </i> Edit user
|
||||
</h4>
|
||||
</div>
|
||||
<!-- Modal Body -->
|
||||
<div class="modal-body">
|
||||
<form id="modalEditUserForm" class="form-inline form-label-left">
|
||||
<div class="x_panel">
|
||||
<div class="x_content">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<label>Enabled</label>
|
||||
<div class="checkbox">
|
||||
<label class="">
|
||||
<div class="icheckbox_flat-green" style="position: relative;">
|
||||
<input type="checkbox" id="jumperurl-check" name="jumperurl-check" class="flat" style="position: absolute; opacity: 0;">
|
||||
<ins class="iCheck-helper" style="position: absolute; top: 0%; left: 0%; display: block; width: 100%; height: 100%; margin: 0px; padding: 0px; background: rgb(255, 255, 255); border: 0px; opacity: 0;">
|
||||
</ins>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_title">
|
||||
<h4><i class="fa fa-info-circle" aria-hidden="true"></i> User info</h4>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="x_content" style="padding: 0px;">
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-sm-2 col-xs-12 text-center">
|
||||
<img id="user-avatar" src="" width="100" height="100"/>
|
||||
</div>
|
||||
<div class="col-md-10 col-sm-10 col-xs-12">
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<label class="control-label" for="name">Username <span class="required">*</span>
|
||||
</label>
|
||||
<input id="username" class="roundbox" maxlength="40" pattern="^[-_àèìòùáéíóúñçÀÈÌÒÙÁÉÍÓÚÑÇ .a-zA-Z0-9]+$" data-parsley-length="[4, 40]" name="name" placeholder="Username" data-parsley-trigger="change" required type="text" style="width:100%">
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<label class="control-label" for="email">Email <span class="required">*</span>
|
||||
</label>
|
||||
<input id="email" class="roundbox" data-validate-length-range="4,40" name="email" placeholder="Email" type="email" data-parsley-trigger="change" style="width:100%">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<label class="control-label" for="firstname">First name <span class="required">*</span>
|
||||
</label>
|
||||
<input id="firstname" class="roundbox" name="firstname" placeholder="First name" type="text" style="width:100%">
|
||||
</div>
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<label class="control-label" for="lastname">Last name <span class="required">*</span>
|
||||
</label>
|
||||
<input id="lastname" class="roundbox" name="lastname" placeholder="First name" type="text" style="width:100%">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-xs-12">
|
||||
<label class="control-label" for="id">Group</label>
|
||||
<select class="groups-select roundbox" name="groups[]" multiple="multiple" style="width:100%">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_panel">
|
||||
<div class="x_title">
|
||||
<h4><i class="fa fa-user-secret" aria-hidden="true"></i> Roles</h4>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="x_content" style="padding: 0px;">
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-xs-12">
|
||||
<label class="control-label" for="id">Moodle</label>
|
||||
<select class="role-moodle-select" name="moodle" style="width:100%">
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-12">
|
||||
<label class="control-label" for="id">Nextcloud</label>
|
||||
<select class="role-nextcloud-select" name="nextcloud" style="width:100%">
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-12">
|
||||
<label class="control-label" for="id">Keycloak</label>
|
||||
<select class="role-keycloak-select" name="keycloak" style="width:100%">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- Modal Footer -->
|
||||
<div class="modal-footer">
|
||||
<ul class="nav navbar-left panel_toolbox">
|
||||
<li><button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button></li>
|
||||
</ul>
|
||||
<ul class="nav navbar-right panel_toolbox">
|
||||
<li><button id="send" type="button" class="btn btn-success">Edit user</button></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in New Issue