Something went wrong on our end
Forked from
amiv / Admintool
604 commits behind the upstream repository.
-
CupCakeArmy authoredCupCakeArmy authored
users.tool 2.79 KiB
<div class="users-table-wrapper">
<table class="table table-hover users-table">
<thead>
<tr>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<style>
.users-table-wrapper {
width: 100%;
height: 100%;
overflow: auto;
}
</style>
<script type="text/javascript">
var users = {
showInTable: ['firstname', 'lastname', 'email', 'membership'],
curUserData: null,
};
tools.ui.menu({
'<span class="glyphicon glyphicon-user" aria-hidden="true"></span>': {
callback: function() {}
},
'<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>': {
callback: function() {}
},
'<span class="users-cur-page" aria-hidden="true">0</span>': {
callback: function() {}
},
'<span class="glyphicon glyphicon-arrow-right" aria-hidden="true"></span>': {
callback: function() {}
},
'<span class="glyphicon glyphicon-search" aria-hidden="true"></span>': {
callback: function() {}
}
});
function inspectUser() {
var newUserData = {};
$('.users-user-edit-table tr').each(function() {
newUserData[$(this).children('td:nth-child(1)').html()] = $(this).children('td:nth-child(2)').html();
});
var changed = false,
curUserDataChanged = {};
for (var i in newUserData) {
if (newUserData[i] != String(curUserData[i])) {
changed = true;
curUserDataChanged[i] = newUserData[i];
}
}
if (changed) {
amivcore.users.PATCH({
id: curUserData.id,
header: {
'If-Match': $('.users-user-edit-table').attr('data-etag')
},
data: curUserDataChanged
}, function(){
tools.log('User Updated', 's');
tools.getTool('users');
});
}
}
function showDetails() {
amivcore.users.GET({
id: $(this).attr('data-id')
}, function(ret) {
curUserData = ret;
var tmp = '<table class="table table-hover users-user-edit-table" data-etag="' + ret['_etag'] + '"><tbody>';
for (var cur in ret)
if (cur.charAt(0) != '_')
tmp += '<tr><td>' + cur + '</td><td contenteditable>' + ret[cur] + '</td></tr>'
tmp += '</tbody></table>';
tools.modal({
head: ret.firstname + ' ' + ret.lastname,
body: tmp,
button: 'OK',
success: inspectUser,
cancel: function() {
console.log('Canceled');
}
});
});;
}
amivcore.users.GET({
data: {
//'max_results': '50'
}
}, function(ret) {
if (ret === undefined || ret['_items'].length == 0) {
tools.log('No Data', 'w');
return;
}
users.showInTable.forEach(function(i) {
$('.users-table thead tr').append('<th>' + i + '</th>');
});
for (var n in ret['_items']) {
var tmp = '';
users.showInTable.forEach(function(i) {
tmp += '<td>' + ret['_items'][n][i] + '</td>';
});
$('.users-table tbody').append('<tr data-id="' + ret['_items'][n]['id'] + '">' + tmp + '</tr>');
}
$('.users-table tbody tr').click(showDetails);
});
</script>