Merge branch 'develop' into 'master'

Fixed add/edit

See merge request isard/isard-sso!26
Josep Maria Viñolas Auquer 2021-06-09 08:43:59 +00:00
commit 36562d6ac0
4 changed files with 70 additions and 41 deletions

View File

@ -18,7 +18,7 @@ $(document).ready(function() {
}
})
$(".groups-select").append(
'<option value=' + element.path + '>' + element.name + '</option>'
'<option value="' + element.path + '">' + element.path + '</option>'
)
});
$('.groups-select').select2();
@ -60,7 +60,7 @@ $(document).ready(function() {
{
data.forEach(element => {
$(".role-moodle-select, .role-nextcloud-select, .role-keycloak-select").append(
'<option value=' + element.id + '>' + element.name + '</option>'
'<option value="' + element.name + '">' + element.name + '</option>'
)
})
},
@ -144,13 +144,13 @@ $(document).ready(function() {
"data": null,
"width": "80px",
"defaultContent": '<button id="btn-delete" class="btn btn-xs" type="button" data-placement="top" ><i class="fa fa-times" style="color:darkred"></i></button> \
<button id="btn-password" class="btn btn-xs" type="button" data-placement="top" ><i class="fa fa-lock" style="color:orange"></i></button>'
// '<button id="btn-edit" class="btn btn-xs" type="button" data-placement="top" ><i class="fa fa-pencil" style="color:darkblue"></i></button> \
<button id="btn-password" class="btn btn-xs" type="button" data-placement="top" ><i class="fa fa-lock" style="color:orange"></i></button> \
<button id="btn-edit" class="btn btn-xs" type="button" data-placement="top" ><i class="fa fa-pencil" style="color:darkblue"></i></button>'
},
{ "data": "first", "width": "10px"},
{ "data": "last", "width": "200px"},
{ "data": "last", "width": "150px"},
{ "data": "email", "width": "10px"},
{ "data": "keycloak_groups", "width": "10px" },
{ "data": "keycloak_groups", "width": "50px" },
{ "data": "roles", "width": "10px" },
],
"order": [[6, 'asc']],
@ -177,7 +177,11 @@ $(document).ready(function() {
{
"targets": 8,
"render": function ( data, type, full, meta ) {
return "<li>" + full.keycloak_groups.join("</li><li>") + "</li>"
grups = ''
full.keycloak_groups.forEach(element => {
grups += '<span class="label label-primary" style="margin: 5px;">' + element + '</span>'
})
return grups
}},
]
} );
@ -316,6 +320,17 @@ $(document).ready(function() {
}
});
$("#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)
}
});
function addUserDetailPannel ( d ) {
$newPanel = $template.clone();
$newPanel.html(function(i, oldHtml){
@ -351,17 +366,6 @@ $(document).ready(function() {
// $('#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");
@ -395,17 +399,19 @@ $(document).ready(function() {
url:"/api/user/" + user_id,
success: function(data)
{
if (data.enabled) {
$(div_id + ' #enabled').iCheck('check')
}
$(div_id + ' #id').val(data.id);
$(div_id + ' #username').val(data.username);
$(div_id + ' #email').val(data.email);
$(div_id + ' #firstname').val(data.first);
$(div_id + ' #lastname').val(data.last);
console.log(data.keycloak_groups)
$(div_id + ' .groups-select').val(data.keycloak_groups);
// $(div_id + ' .role-moodle-select').val(data.keycloak_roles);
// $(div_id + ' .role-nextcloud-select').val(data.roles);
$(div_id + ' .role-keycloak-select').val(data.keycloak_roles);
$('.groups-select, .role-keycloak-select').trigger('change');
$(div_id + ' .role-keycloak-select').val(data.roles[0]);
$('.groups-select').trigger('change');
// $('.groups-select, .role-moodle-select, .role-nextcloud-select, .role-keycloak-select').trigger('change');
}
});

View File

@ -73,7 +73,7 @@
title: "{{ nav }}",
text: "{{ message }}",
hide: true,
/~ icon: 'fa fa-alert-sign',
// icon: 'fa fa-alert-sign',
opacity: 1,
type: "error",
addclass: "pnotify-center"

View File

@ -17,6 +17,22 @@
<form id="modalAddUserForm" 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>
@ -63,7 +79,7 @@
</div>
<div class="x_content" style="padding: 0px;">
<div class="row">
<div class="col-md-4 col-xs-12">
<!-- <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%">
@ -74,8 +90,8 @@
</label>
<select class="role-nextcloud-select" name="nextcloud" style="width:100%">
</select>
</div>
<div class="col-md-4 col-xs-12">
</div> -->
<div class="col-md-12 col-xs-12">
<label class="control-label" for="id">Keycloak
</label>
<select class="role-keycloak-select" name="keycloak" style="width:100%">
@ -114,18 +130,24 @@
<!-- Modal Body -->
<div class="modal-body">
<form id="modalPasswdUserForm" class="form-inline form-label-left">
<div class="x_content" style="padding: 0px;">
<div class="row">
This is a proposed password.<br>
Change it for the one desired for this user. <br>
REMEMBER TO COPY THIS PASSWORD AS IT IS THE ONLY TIME YOU WILL SEE IT
<div class="x_panel">
<div class="x_title">
<h4>REMEMBER TO COPY THIS PASSWORD AS IT IS THE ONLY TIME YOU WILL SEE IT</h4>
<div class="clearfix"></div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12">
<input id="id" hidden/>
<label class="control-label" for="password">Password <span class="required">*</span>
</label>
<input id="password" class="roundbox" name="password" placeholder="Password" data-parsley-trigger="change" required type="text" style="width:100%">
<div class="x_content" style="padding: 0px;">
<div class="row">
<div class="col-md-12 col-xs-12">
This is a proposed password. Change it for the desired one for this user. <br>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12">
<input id="id" hidden/>
<label class="control-label" for="password">Password <span class="required">*</span>
</label>
<input id="password" class="roundbox" name="password" placeholder="Password" data-parsley-trigger="change" required type="text" style="width:100%">
</div>
</div>
</div>
</div>
@ -167,7 +189,7 @@
<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;">
<input type="checkbox" id="enabled" name="enabled" 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>
@ -181,6 +203,7 @@
<div class="clearfix"></div>
</div>
<div class="x_content" style="padding: 0px;">
<input id="id" hidden/>
<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"/>
@ -191,7 +214,7 @@
<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%">
<input disabled 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>
@ -240,9 +263,9 @@
<select class="role-nextcloud-select" name="nextcloud" style="width:100%">
</select>
</div> -->
<div class="col-md-4 col-xs-12">
<div class="col-md-12 col-xs-12">
<label class="control-label" for="id">Role</label>
<select class="role-keycloak-select" name="keycloak" style="width:100%">
<select class="role-keycloak-select roundbox" name="role-keycloak" style="width:100%">
</select>
</div>
</div>

View File

@ -15,7 +15,7 @@
<h3><i class="fa fa-user"></i> Users</h3>
<ul class="nav navbar-right panel_toolbox">
<li>
<!-- <a class="btn-new-user"><span style="color: #5499c7; "><i class="fa fa-plus"></i> Add new</span></a> -->
<a class="btn-new-user"><span style="color: #5499c7; "><i class="fa fa-plus"></i> Add new</span></a>
</li>
</ul>
<div class="clearfix"></div>