/*
Copyright 2012-2020 OpenBroadcaster, Inc.
This file is part of OpenBroadcaster Server.
OpenBroadcaster Server is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenBroadcaster Server is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with OpenBroadcaster Server. If not, see .
*/
OB.User = new Object();
OB.User.init = function()
{
OB.Callbacks.add('ready',-4,OB.User.initMenu);
}
OB.User.initMenu = function()
{
//T Permissions
OB.UI.addSubMenuItem('admin', 'Permissions', 'user_permissions', OB.User.managePermissions, 60, 'manage_permissions');
//T User Management
OB.UI.addSubMenuItem('admin', 'User Management', 'user_manage', OB.User.manageUsers, 70, 'manage_users');
}
OB.User.manageUsers = function()
{
OB.UI.replaceMain('user/manage_users.html');
OB.API.post('users','user_registration_get',{},function(response) {
if(response.data==true) $('#users_allow_registration_checkbox').prop('checked',true);
});
$('#users_allow_registration_checkbox').change(OB.User.allowRegistrationToggle);
OB.User.manageUsersList();
}
OB.User.allowRegistrationToggle = function()
{
var checked = $('#users_allow_registration_checkbox').is(':checked');
OB.API.post('users','user_registration_set',{'user_registration': checked}, function(response) { });
}
OB.User.manage_users_sort_col = false;
OB.User.manage_users_sort_desc = false;
OB.User.manageUsersSort = function(column)
{
if(column == OB.User.manage_users_sort_col)
{
OB.User.manage_users_sort_desc=!OB.User.manage_users_sort_desc;
}
else
{
OB.User.manage_users_sort_col = column;
OB.User.manage_users_sort_desc=false;
}
OB.User.manageUsersList();
}
OB.User.manageUsersList = function()
{
var postfields = new Object();
postfields.sort_col = OB.User.manage_users_sort_col;
postfields.sort_desc = OB.User.manage_users_sort_desc;
OB.API.post('users','user_manage_list',postfields,function(data)
{
$('#user_list_table tbody').html('');
if(data.status!=true) return false;
OB.User.manage_users_sort_col = data.data[1];
OB.User.manage_users_sort_desc = data.data[2];
$.each(data.data[0],function(index,userdata)
{
var $html = $('
').show();
$('#user_addedit_message').obWidget('error',data.msg);
deletemeifworks
*/
//T Are you sure you want to delete this user?
//T Yes, Delete
//T No, Cancel
OB.UI.confirm(
'Are you sure you want to delete this user?',
function() { OB.User.manageUsersDelete(true); },
'Yes, Delete',
'No, Cancel',
'delete'
);
}
else
{
OB.API.post('users','user_manage_delete',{'id': $('#user_addedit_id').val()},function(data)
{
if(data.status==true)
{
OB.UI.closeModalWindow();
OB.User.manageUsersList();
}
else
{
$('#user_addedit_message').obWidget('error',data.msg);
return;
}
});
}
}
OB.User.manageUsersKeyAdd = function () {
OB.API.post('users', 'user_manage_key_new', {'id': $('#user_addedit_id').val()}, function (response) {
if (!response.status) {
$('#user_addedit_message').obWidget('error', response.msg);
return;
}
$('#user_appkey_newkeyinfo').show().html(
"A new App Key has been created on " +
format_timestamp(response.data.created) +
". The secret key to use with your App key requests is:
" +
response.data.key +
"
Please save this key in a secure place."
);
$tr = $('
');
group_ids.push(group.id);
});
$('#permissions_table').prepend($thead);
// attach group data to th for later use.
$.each(groups,function(index,group)
{
if(group.permissions) {
$('#group_permissions_'+group.id).data('permissions',group.permissions);
}
});
if(data.status!=false)
{
var categories = data.data;
$.each(categories,function(category,permissions)
{
//T player
if(category.match(/^player: /)) var category_translated = category.replace(/^player: /,OB.t('player')+': ');
else var category_translated = category; // no dynamic variable translation for now
$('#permissions_table tbody').append('