mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-14 21:43:18 +00:00
Fix javascript issues
This commit is contained in:
@@ -561,60 +561,555 @@
|
|||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
function ini_edit_usrs() {
|
||||||
|
$('.users_col.options').bind('click', function (event) {
|
||||||
|
$('#users_check_uncheck').remove();
|
||||||
|
event.stopPropagation();
|
||||||
|
event.preventDefault();
|
||||||
|
check_uncheck_menu($('input[name="right"]', $(this)).val(), $('input[name="sbas_id"]', $(this)).val(), $(this));
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).unbind('click.usersoptions').bind('click.usersoptions', function (event) {
|
||||||
|
$('#users_check_uncheck').remove();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('table.hoverable tr').hover(
|
||||||
|
function () {
|
||||||
|
$(this).addClass('hovered');
|
||||||
|
},
|
||||||
|
function () {
|
||||||
|
$(this).removeClass('hovered');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
$('table.hoverable td').hover(
|
||||||
|
function () {
|
||||||
|
var attr = $('input:first', this).attr('name');
|
||||||
|
var right = attr ? attr.split('_').shift() : false;
|
||||||
|
if (right)
|
||||||
|
$('td.case_right_' + right).addClass('hovered');
|
||||||
|
},
|
||||||
|
function () {
|
||||||
|
var attr = $('input:first', this).attr('name');
|
||||||
|
var right = attr ? attr.split('_').shift() : false;
|
||||||
|
if (right)
|
||||||
|
$('td.hovered').removeClass('hovered');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
function user_click_box(event, element, status) {
|
||||||
|
var newclass, newvalue, boxes;
|
||||||
|
|
||||||
|
var $element = $(element);
|
||||||
|
|
||||||
|
if ($element.hasClass('right_access')) {
|
||||||
|
var base_id = $element.find('input').attr('name').split('_').pop();
|
||||||
|
boxes = $('div.base_' + base_id + ':not(:first)');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((typeof status !== 'undefined' && status == 'checked') || (typeof status === 'undefined' && (($element.hasClass('mixed') === true) || ($element.hasClass('unchecked') === true)))) {
|
||||||
|
newclass = 'checked';
|
||||||
|
newvalue = '1';
|
||||||
|
|
||||||
|
if (boxes)
|
||||||
|
boxes.show();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
newclass = 'unchecked';
|
||||||
|
newvalue = '0';
|
||||||
|
|
||||||
|
if (boxes)
|
||||||
|
boxes.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
$element.find('input').val(newvalue);
|
||||||
|
$element.removeClass('mixed checked unchecked').addClass(newclass);
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#users_rights_form div.switch_right').bind('click', function (event) {
|
||||||
|
user_click_box(event, $(this));
|
||||||
|
});
|
||||||
|
$('#right-ajax button.users_rights_valid').bind('click', function () {
|
||||||
|
var datas = {
|
||||||
|
users: $('#users_rights_form input[name="users"]').val(),
|
||||||
|
values: $('#users_rights_form').serialize(),
|
||||||
|
template: $('#users_rights_form select[name="template"]').val(),
|
||||||
|
user_infos: $('#user_infos_form').serialize()
|
||||||
|
};
|
||||||
|
|
||||||
|
var callback = function (reset_before_apply) {
|
||||||
|
datas.reset_before_apply = reset_before_apply;
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/apply/',
|
||||||
|
dataType: 'json',
|
||||||
|
data: datas,
|
||||||
|
success: function (data) {
|
||||||
|
if (!data.error)
|
||||||
|
$('a.zone_editusers').trigger('click');
|
||||||
|
else
|
||||||
|
alert(data.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
if (datas.template !== '') {
|
||||||
|
dialogUserTemplate(callback);
|
||||||
|
} else {
|
||||||
|
callback('0');
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#right-ajax .users_rights_cancel').bind('click', function () {
|
||||||
|
var $this = $(this);
|
||||||
|
$('#right-ajax').empty().addClass('loading').parent().show();
|
||||||
|
$('#right').hide();
|
||||||
|
$.get($this.attr('href'), function (data) {
|
||||||
|
$('#right-ajax').removeClass('loading').html(data);
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
var time_buttons = {
|
||||||
|
'Ok': function () {
|
||||||
|
save_time();
|
||||||
|
},
|
||||||
|
'Cancel': function () {
|
||||||
|
$('#time_dialog').dialog('close');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$('#time_dialog').dialog({
|
||||||
|
resizable: false,
|
||||||
|
autoOpen: false,
|
||||||
|
draggable: false,
|
||||||
|
buttons: time_buttons,
|
||||||
|
modal: true
|
||||||
|
});
|
||||||
|
var quota_buttons = {
|
||||||
|
'Ok': function () {
|
||||||
|
save_quotas();
|
||||||
|
},
|
||||||
|
'Cancel': function () {
|
||||||
|
$('#quotas_dialog').dialog('close');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$('#quotas_dialog').dialog({
|
||||||
|
resizable: false,
|
||||||
|
autoOpen: false,
|
||||||
|
draggable: false,
|
||||||
|
buttons: quota_buttons,
|
||||||
|
modal: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var masks_buttons = {
|
||||||
|
'Ok': function () {
|
||||||
|
save_masks();
|
||||||
|
},
|
||||||
|
'Cancel': function () {
|
||||||
|
$('#masks_dialog').dialog('close');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$('#masks_dialog').dialog({
|
||||||
|
resizable: false,
|
||||||
|
autoOpen: false,
|
||||||
|
draggable: false,
|
||||||
|
buttons: masks_buttons,
|
||||||
|
width: 900,
|
||||||
|
height: 300,
|
||||||
|
modal: true
|
||||||
|
});
|
||||||
|
$('#users_rights_form .time_trigger').bind('click', function () {
|
||||||
|
var base_id = $(this).find('input[name="time_base_id"]').val();
|
||||||
|
if ('undefined' !== typeof base_id) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/time/',
|
||||||
|
data: {
|
||||||
|
users: $('#users_rights_form input[name="users"]').val(),
|
||||||
|
base_id: base_id
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
var dialog = $('#time_dialog');
|
||||||
|
|
||||||
|
if (dialog.data("ui-dialog")) {
|
||||||
|
dialog.html(data).dialog('open');
|
||||||
|
}
|
||||||
|
|
||||||
|
$('div.switch_time', dialog).bind('click', function (event) {
|
||||||
|
var newclass, boxes;
|
||||||
|
|
||||||
|
boxes = $(this).closest('form').find('input.datepicker');
|
||||||
|
|
||||||
|
if (($(this).hasClass('mixed') === true) || ($(this).hasClass('unchecked') === true)) {
|
||||||
|
newclass = 'checked';
|
||||||
|
boxes.removeAttr('readonly');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
newclass = 'unchecked';
|
||||||
|
boxes.attr('readonly', 'readonly');
|
||||||
|
}
|
||||||
|
|
||||||
|
$(this).removeClass('mixed checked unchecked').addClass(newclass);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
var sbas_id = $(this).find('input[name="time_sbas_id"]').val();
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/time/sbas/',
|
||||||
|
data: {
|
||||||
|
users: $('#users_rights_form input[name="users"]').val(),
|
||||||
|
sbas_id: sbas_id
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
var dialog = $('#time_dialog');
|
||||||
|
|
||||||
|
dialog.html(data);
|
||||||
|
dialog.dialog('open');
|
||||||
|
|
||||||
|
$('div.switch_time', dialog).bind('click', function (event) {
|
||||||
|
var newclass, boxes;
|
||||||
|
|
||||||
|
boxes = $(this).closest('form').find('input.datepicker');
|
||||||
|
|
||||||
|
if (($(this).hasClass('mixed') === true) || ($(this).hasClass('unchecked') === true)) {
|
||||||
|
newclass = 'checked';
|
||||||
|
boxes.removeAttr('readonly');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
newclass = 'unchecked';
|
||||||
|
boxes.attr('readonly', 'readonly');
|
||||||
|
}
|
||||||
|
|
||||||
|
$(this).removeClass('mixed checked unchecked').addClass(newclass);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#users_rights_form .quota_trigger').bind('click', function () {
|
||||||
|
var base_id = $(this).find('input[name="quota_base_id"]').val();
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/quotas/',
|
||||||
|
data: {
|
||||||
|
users: $('#users_rights_form input[name="users"]').val(),
|
||||||
|
base_id: base_id
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
var dialog = $('#quotas_dialog');
|
||||||
|
|
||||||
|
if (dialog.data("ui-dialog")) {
|
||||||
|
dialog.html(data).dialog('open');
|
||||||
|
}
|
||||||
|
|
||||||
|
$('div.switch_quota', dialog).bind('click', function (event) {
|
||||||
|
var newclass, boxes;
|
||||||
|
|
||||||
|
boxes = $(this).closest('form').find('input:text');
|
||||||
|
|
||||||
|
if (($(this).hasClass('mixed') === true) || ($(this).hasClass('unchecked') === true)) {
|
||||||
|
newclass = 'checked';
|
||||||
|
boxes.removeAttr('readonly');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
newclass = 'unchecked';
|
||||||
|
boxes.attr('readonly', 'readonly');
|
||||||
|
}
|
||||||
|
|
||||||
|
$(this).removeClass('mixed checked unchecked').addClass(newclass);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users_rights_form .masks_trigger').bind('click', function () {
|
||||||
|
var base_id = $(this).find('input[name="masks_base_id"]').val();
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/masks/',
|
||||||
|
data: {
|
||||||
|
users: $('#users_rights_form input[name="users"]').val(),
|
||||||
|
base_id: base_id
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#masks_dialog').html(data).dialog('open');
|
||||||
|
|
||||||
|
$('.switch_masks').bind('click', function () {
|
||||||
|
var currentclass, newclass;
|
||||||
|
|
||||||
|
var bit = $(this).find('input[name="bit"]').val();
|
||||||
|
currentclass = 'unchecked';
|
||||||
|
if ($(this).hasClass('mixed')) {
|
||||||
|
currentclass = 'mixed';
|
||||||
|
}
|
||||||
|
if ($(this).hasClass('checked')) {
|
||||||
|
currentclass = 'checked';
|
||||||
|
}
|
||||||
|
switch (currentclass) {
|
||||||
|
case 'mixed':
|
||||||
|
default:
|
||||||
|
$('.bitnum_' + bit).removeClass('mixed checked unchecked').addClass('checked')
|
||||||
|
break;
|
||||||
|
case 'unchecked':
|
||||||
|
$(this).removeClass('mixed checked unchecked').addClass('checked')
|
||||||
|
break;
|
||||||
|
case 'checked':
|
||||||
|
if ($('.checked.bitnum_' + bit).length == 2) {
|
||||||
|
$(this).removeClass('mixed checked unchecked').addClass('unchecked')
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
alert("admin::user:mask: vous devez cocher au moins une case pour chaque status");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
var left = $('.bitnum_' + bit + '.bit_left');
|
||||||
|
var right = $('.bitnum_' + bit + '.bit_right');
|
||||||
|
|
||||||
|
var maskform = $('#masks_dialog form');
|
||||||
|
var vand_and = $('input[name="vand_and"]', maskform);
|
||||||
|
var vand_or = $('input[name="vand_or"]', maskform);
|
||||||
|
var vxor_and = $('input[name="vxor_and"]', maskform);
|
||||||
|
var vxor_or = $('input[name="vxor_or"]', maskform);
|
||||||
|
|
||||||
|
var newbit_vand_and = newbit_vand_or = newbit_vxor_and = newbit_vxor_or = 0;
|
||||||
|
|
||||||
|
if (left.length === 1 && right.length === 1) {
|
||||||
|
if (left.hasClass('checked') && right.hasClass('unchecked')) {
|
||||||
|
newbit_vand_and = "1";
|
||||||
|
newbit_vand_or = "1";
|
||||||
|
}
|
||||||
|
else if (left.hasClass('unchecked') && right.hasClass('checked')) {
|
||||||
|
newbit_vand_and = "1";
|
||||||
|
newbit_vand_or = "1";
|
||||||
|
newbit_vxor_and = "1";
|
||||||
|
newbit_vxor_or = "1";
|
||||||
|
}
|
||||||
|
vand_and.val(vand_and.val().substr(0, 31 - bit) + newbit_vand_and + vand_and.val().substr(31 + 1 - bit));
|
||||||
|
vand_or.val(vand_or.val().substr(0, 31 - bit) + newbit_vand_or + vand_or.val().substr(31 + 1 - bit));
|
||||||
|
vxor_and.val(vxor_and.val().substr(0, 31 - bit) + newbit_vxor_and + vxor_and.val().substr(31 + 1 - bit));
|
||||||
|
vxor_or.val(vxor_or.val().substr(0, 31 - bit) + newbit_vxor_or + vxor_and.val().substr(31 + 1 - bit));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function save_masks() {
|
||||||
|
var cont = $('#masks_dialog');
|
||||||
|
|
||||||
|
var maskform = $('#masks_dialog form');
|
||||||
|
var base_id = $('input[name="base_id"]', maskform).val();
|
||||||
|
var users = $('input[name="users"]', maskform).val();
|
||||||
|
var vand_and = $('input[name="vand_and"]', maskform).val();
|
||||||
|
var vand_or = $('input[name="vand_or"]', maskform).val();
|
||||||
|
var vxor_and = $('input[name="vxor_and"]', maskform).val();
|
||||||
|
var vxor_or = $('input[name="vxor_or"]', maskform).val();
|
||||||
|
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/masks/apply/',
|
||||||
|
data: {
|
||||||
|
users: users,
|
||||||
|
base_id: base_id,
|
||||||
|
vand_and: vand_and,
|
||||||
|
vand_or: vand_or,
|
||||||
|
vxor_and: vxor_and,
|
||||||
|
vxor_or: vxor_or
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#masks_dialog').dialog('close');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function save_quotas() {
|
||||||
|
var cont = $('#quotas_dialog');
|
||||||
|
var base_id = $('input[name="base_id"]', cont).val();
|
||||||
|
var users = $('input[name="users"]', cont).val();
|
||||||
|
var droits = $('input[name="droits"]', cont).val();
|
||||||
|
var restes = $('input[name="restes"]', cont).val();
|
||||||
|
|
||||||
|
var switch_quota = $('.switch_quota', cont);
|
||||||
|
|
||||||
|
if (switch_quota.hasClass('mixed'))
|
||||||
|
return;
|
||||||
|
|
||||||
|
var quota = 0;
|
||||||
|
|
||||||
|
if (switch_quota.hasClass('checked'))
|
||||||
|
quota = 1;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/quotas/apply/',
|
||||||
|
data: {
|
||||||
|
act: "APPLYQUOTAS",
|
||||||
|
users: users,
|
||||||
|
base_id: base_id,
|
||||||
|
quota: quota,
|
||||||
|
droits: droits,
|
||||||
|
restes: restes
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#quotas_dialog').dialog('close');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function save_time() {
|
||||||
|
var cont = $('#time_dialog');
|
||||||
|
var dmin = $('input[name="dmin"]', cont).val();
|
||||||
|
var dmax = $('input[name="dmax"]', cont).val();
|
||||||
|
var users = $('input[name="users"]', cont).val();
|
||||||
|
var base_id = $('input[name="base_id"]', cont).val();
|
||||||
|
var sbas_id = $('input[name="sbas_id"]', cont).val();
|
||||||
|
|
||||||
|
var switch_time = $('.switch_time', cont);
|
||||||
|
|
||||||
|
if (switch_time.hasClass('mixed'))
|
||||||
|
return;
|
||||||
|
|
||||||
|
var limit = 0;
|
||||||
|
|
||||||
|
if (switch_time.hasClass('checked'))
|
||||||
|
limit = 1;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/time/apply/',
|
||||||
|
data: {
|
||||||
|
users: users,
|
||||||
|
base_id: base_id,
|
||||||
|
sbas_id: sbas_id,
|
||||||
|
limit: limit,
|
||||||
|
dmin: dmin,
|
||||||
|
dmax: dmax
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#time_dialog').dialog('close');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_uncheck_menu(right, sbas_id, el) {
|
||||||
|
var top = el.offset().top;
|
||||||
|
var left = el.offset().left + 16;
|
||||||
|
$('body').append('<div id="users_check_uncheck" style="position:absolute;top:' + top + 'px;left:' + left + 'px;">' +
|
||||||
|
'<div class="checker" >' +
|
||||||
|
language.check_all +
|
||||||
|
'<input type="hidden" name="sbas_id" value="' + sbas_id + '"/>' +
|
||||||
|
'<input type="hidden" name="right" value="' + right + '"/>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="unchecker">' +
|
||||||
|
language.uncheck_all +
|
||||||
|
'<input type="hidden" name="sbas_id" value="' + sbas_id + '"/>' +
|
||||||
|
'<input type="hidden" name="right" value="' + right + '"/>' +
|
||||||
|
'</div></div>');
|
||||||
|
|
||||||
|
$('#users_check_uncheck div').hover(
|
||||||
|
function () {
|
||||||
|
$(this).addClass('hovered');
|
||||||
|
},
|
||||||
|
function () {
|
||||||
|
$(this).removeClass('hovered');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
$('#users_check_uncheck div.checker').bind('click', function (event) {
|
||||||
|
event.stopPropagation();
|
||||||
|
event.preventDefault();
|
||||||
|
users_check(true, $('input[name="sbas_id"]', $(this)).val(), $('input[name="right"]', $(this)).val());
|
||||||
|
$('#users_check_uncheck').remove();
|
||||||
|
});
|
||||||
|
$('#users_check_uncheck div.unchecker').bind('click', function (event) {
|
||||||
|
event.stopPropagation();
|
||||||
|
event.preventDefault();
|
||||||
|
users_check(false, $('input[name="sbas_id"]', $(this)).val(), $('input[name="right"]', $(this)).val());
|
||||||
|
$('#users_check_uncheck').remove();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function users_check(bool, sbas_id, right) {
|
||||||
|
var newclass;
|
||||||
|
if (bool) {
|
||||||
|
newclass = "checked";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
newclass = "unchecked";
|
||||||
|
}
|
||||||
|
$('.inside_sbas_' + sbas_id + '.' + right + ':visible').each(function (i, n) {
|
||||||
|
user_click_box(null, $(n), newclass);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ini_edit_usrs();
|
||||||
|
|
||||||
|
$('div.tabs').tabs();
|
||||||
|
|
||||||
|
$('#users_rights_form button#reset_rights').bind('click', function () {
|
||||||
|
if (confirm("{{ 'Are you sure you want to reset rights?' | trans }}")) {
|
||||||
|
var users = $('#users_rights_form input[name="users"]').val();
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/admin/users/rights/reset/',
|
||||||
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
users: users
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
if (!data.error) {
|
||||||
|
if (users === '') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#right-ajax').empty().addClass('loading');
|
||||||
|
p4.users.sel = [];
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/admin/users/rights/',
|
||||||
|
data: {
|
||||||
|
users: users
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#right-ajax').removeClass('loading').html(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
alert(data.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
define([
|
define([
|
||||||
"jquery",
|
"jquery",
|
||||||
"common/geonames"
|
"common/geonames"
|
||||||
], function ($, geonames) {
|
], function ($, geonames) {
|
||||||
$(document).ready(function() {
|
geonames.init($('#user_infos_tab input.geoname_field'), {
|
||||||
ini_edit_usrs();
|
"server": "{{ app['geonames.server-uri'] }}",
|
||||||
geonames.init($('#user_infos_tab input.geoname_field'), {
|
"limit": 40
|
||||||
"server": "{{ app['geonames.server-uri'] }}",
|
|
||||||
"limit": 40
|
|
||||||
});
|
|
||||||
|
|
||||||
$('div.tabs').tabs();
|
|
||||||
|
|
||||||
$('#users_rights_form button#reset_rights').bind('click', function () {
|
|
||||||
if (confirm("{{ 'Are you sure you want to reset rights?' | trans }}")) {
|
|
||||||
var users = $('#users_rights_form input[name="users"]').val();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '/admin/users/rights/reset/',
|
|
||||||
dataType: 'json',
|
|
||||||
data: {
|
|
||||||
users: users
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
if (!data.error) {
|
|
||||||
if (users === '') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#right-ajax').empty().addClass('loading');
|
|
||||||
p4.users.sel = [];
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: '/admin/users/rights/',
|
|
||||||
data: {
|
|
||||||
users: users
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#right-ajax').removeClass('loading').html(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
alert(data.message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@@ -81,7 +81,7 @@
|
|||||||
<div id="quotas_dialog"></div>
|
<div id="quotas_dialog"></div>
|
||||||
<div id="masks_dialog"></div>
|
<div id="masks_dialog"></div>
|
||||||
<div id="time_dialog"></div>
|
<div id="time_dialog"></div>
|
||||||
<div id="user_add_dialog" title="{{ 'Ajouter un nouvel utilisateur' | trans }}">
|
<div id="user_add_dialog" title="{{ 'Ajouter un nouvel utilisateur' | trans }}" style="display:none">
|
||||||
<form>
|
<form>
|
||||||
<label for="new_user_mail">{{ 'Adresse email du nouvel utilisateur' | trans }}</label>
|
<label for="new_user_mail">{{ 'Adresse email du nouvel utilisateur' | trans }}</label>
|
||||||
<input id="new_user_mail" type="text" name="value" />
|
<input id="new_user_mail" type="text" name="value" />
|
||||||
|
@@ -250,58 +250,405 @@
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function () {
|
||||||
$.each(p4.users.sel, function(i,n){
|
function users_select_this(n, k) {
|
||||||
var el = $('#user_'+n);
|
if (p4.users.sel.length >= 800) {
|
||||||
if(el.length > 0)
|
alert(language.max_record_selected);
|
||||||
{
|
return false;
|
||||||
el.addClass('selected');
|
}
|
||||||
}
|
p4.users.sel.push(k);
|
||||||
});
|
$(n).addClass('selected');
|
||||||
$('#users_page_form select[name="per_page"]').bind('change', function(){
|
return true;
|
||||||
$(this).closest('form').submit();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users_reset_rights button').bind('click', function(){
|
|
||||||
var selectedUsers = $("#users tr.selected");
|
|
||||||
|
|
||||||
if(selectedUsers.length === 0)
|
|
||||||
{
|
|
||||||
alert("{{ 'select at least one user' | trans }}");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var users = '';
|
|
||||||
$.each(selectedUsers, function(i,n){
|
|
||||||
users += $(n).attr("id").split("_").pop() + ';';
|
|
||||||
});
|
|
||||||
|
|
||||||
if(confirm("{{ 'Are you sure you want delete users rights ?' | trans }}"))
|
|
||||||
{
|
|
||||||
$("#users_reset_rights input[name='users']").val(users);
|
|
||||||
|
|
||||||
var form = $(this).closest('form');
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
url: form.attr("action"),
|
|
||||||
dataType: 'json',
|
|
||||||
type : form.attr('method'),
|
|
||||||
data: form.serializeArray(),
|
|
||||||
success: function(data){
|
|
||||||
if(data.error)
|
|
||||||
{
|
|
||||||
alert("{{ 'An error occured' | trans }}");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
alert("{{ 'users rights have been reseted' | trans }}");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
$('#users th.sortable').live('click', function () {
|
||||||
|
var $this = $(this);
|
||||||
|
|
||||||
|
var sort = $('input', $this).val();
|
||||||
|
|
||||||
|
if ((sort == $('#users_page_form input[name="srt"]').val())
|
||||||
|
&& ($('#users_page_form input[name="ord"]').val() == 'asc')) {
|
||||||
|
var ord = 'desc';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var ord = 'asc';
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#users_page_form input[name="srt"]').val(sort);
|
||||||
|
$('#users_page_form input[name="ord"]').val(ord);
|
||||||
|
|
||||||
|
$('#users_page_form').trigger('submit');
|
||||||
|
}).live('mouseover', function () {
|
||||||
|
$(this).addClass('hover');
|
||||||
|
}).live('mouseout', function () {
|
||||||
|
$(this).removeClass('hover');
|
||||||
|
});
|
||||||
|
|
||||||
|
var buttons = {};
|
||||||
|
buttons[language.create_user] = function () {
|
||||||
|
check_new_user(false);
|
||||||
|
};
|
||||||
|
buttons[language.annuler] = function () {
|
||||||
|
$('#user_add_dialog').dialog('close')
|
||||||
|
};
|
||||||
|
|
||||||
|
$('#user_add_dialog').dialog({
|
||||||
|
buttons: buttons,
|
||||||
|
modal: true,
|
||||||
|
resizable: false,
|
||||||
|
draggable: false,
|
||||||
|
width: 500
|
||||||
|
}).dialog('close');
|
||||||
|
|
||||||
|
var buttons = {};
|
||||||
|
buttons[language.create_template] = function () {
|
||||||
|
check_new_user(true);
|
||||||
|
};
|
||||||
|
buttons[language.annuler] = function () {
|
||||||
|
$('#template_add_dialog').dialog('close');
|
||||||
|
};
|
||||||
|
|
||||||
|
$('#template_add_dialog').dialog({
|
||||||
|
buttons: buttons,
|
||||||
|
modal: true,
|
||||||
|
resizable: false,
|
||||||
|
draggable: false,
|
||||||
|
width: 500
|
||||||
|
|
||||||
|
}).dialog('close');
|
||||||
|
|
||||||
|
function check_new_user(is_template) {
|
||||||
|
var container = is_template ? $('#template_add_dialog') : $('#user_add_dialog');
|
||||||
|
$('#new_user_loader').show();
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/create/',
|
||||||
|
dataType: 'json',
|
||||||
|
data: {
|
||||||
|
act: 'CREATENEWUSER',
|
||||||
|
value: $('input[name="value"]', container).val(),
|
||||||
|
send_credentials: $('input[name="send_credentials"]', container).is(':checked') ? 1 : 0,
|
||||||
|
validate_mail: $('input[name="validate_mail"]', container).is(':checked') ? 1 : 0,
|
||||||
|
template: is_template ? '1' : '0'
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('.new_user_loader', container).hide();
|
||||||
|
if (!data.error) {
|
||||||
|
if (container.data("ui-dialog")) {
|
||||||
|
container.dialog('close');
|
||||||
|
}
|
||||||
|
$('input[name="value"]', container).val('');
|
||||||
|
$('#right-ajax').empty().addClass('loading');
|
||||||
|
p4.users.sel = [];
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/',
|
||||||
|
data: {
|
||||||
|
users: data.data
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#right-ajax').removeClass('loading').html(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
alert(data.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
alert(language.serverError);
|
||||||
|
},
|
||||||
|
timeout: function () {
|
||||||
|
alert(language.serverTimeout);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#users_page .user_adder').live('click', function () {
|
||||||
|
if ($('#user_add_dialog').data("ui-dialog")) {
|
||||||
|
$('#user_add_dialog').dialog('open');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users_page .template_adder').live('click', function () {
|
||||||
|
if ($('#template_add_dialog').data("ui-dialog")) {
|
||||||
|
$('#template_add_dialog').dialog('open');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users_page_form').live('submit', function () {
|
||||||
|
var datas = $('#users_page_form').serializeArray();
|
||||||
|
$('#right-ajax').empty().addClass('loading');
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/search/',
|
||||||
|
data: datas,
|
||||||
|
success: function (data) {
|
||||||
|
$('#right-ajax').removeClass('loading').empty().html(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users_page_search').live('submit', function () {
|
||||||
|
var datas = $('#users_page_search').serializeArray();
|
||||||
|
$('#right-ajax').empty().addClass('loading');
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/search/',
|
||||||
|
data: datas,
|
||||||
|
success: function (data) {
|
||||||
|
$('#right-ajax').removeClass('loading').empty().html(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users_page_form .pager').live('click', function () {
|
||||||
|
var form = $('#users_page_form');
|
||||||
|
|
||||||
|
var current_page = parseInt($('input[name="page"]', form).val());
|
||||||
|
var perPage = parseInt($('select[name="per_page"]', form).val());
|
||||||
|
current_page = isNaN(current_page) ? 1 : current_page;
|
||||||
|
|
||||||
|
var offset_start = 0;
|
||||||
|
|
||||||
|
if ($(this).hasClass('prev')) {
|
||||||
|
offset_start = (current_page - 2) * perPage;
|
||||||
|
}
|
||||||
|
if ($(this).hasClass('first')) {
|
||||||
|
offset_start = 0;
|
||||||
|
}
|
||||||
|
if ($(this).hasClass('next')) {
|
||||||
|
offset_start = current_page * perPage;
|
||||||
|
}
|
||||||
|
if ($(this).hasClass('last')) {
|
||||||
|
offset_start = (Math.floor(parseInt($('input[name=total_results]').val()) / perPage)) * perPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('input[name="offset_start"]', form).val(offset_start);
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users tbody tr, #users tbody td').live('dblclick', function (evt) {
|
||||||
|
$('#users_page_form .user_modifier').trigger('click');
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users tbody tr, #users tbody td').live('click', function (evt) {
|
||||||
|
if (evt.stopPropagation)
|
||||||
|
evt.stopPropagation();
|
||||||
|
evt.cancelBubble = true;
|
||||||
|
evt.preventDefault();
|
||||||
|
var el = $(this).closest('tr');
|
||||||
|
var cont = $('#users');
|
||||||
|
|
||||||
|
var k = el.attr('id').split('_').pop();
|
||||||
|
|
||||||
|
if (is_shift_key(evt) && $('tr.last_selected', cont).length != 0) {
|
||||||
|
var lst = $('tr', cont);
|
||||||
|
var index1 = $.inArray($('tr.last_selected', cont)[0], lst);
|
||||||
|
var index2 = $.inArray($(el)[0], lst);
|
||||||
|
if (index2 < index1) {
|
||||||
|
var tmp = index1;
|
||||||
|
index1 = (index2 - 1) < 0 ? index2 : (index2 - 1);
|
||||||
|
index2 = tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
var stopped = false;
|
||||||
|
if (index2 != -1 && index1 != -1) {
|
||||||
|
var exp = 'tr:gt(' + index1 + '):lt(' + (index2 - index1) + ')';
|
||||||
|
$.each($(exp, cont), function (i, n) {
|
||||||
|
|
||||||
|
if (!$(n).hasClass('selected')) {
|
||||||
|
|
||||||
|
if (!users_select_this(n, $(n).attr('id').split('_').pop())) {
|
||||||
|
stopped = true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!stopped && $.inArray(k, p4.users.sel) < 0) {
|
||||||
|
if (!users_select_this(el, k))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (!is_ctrl_key(evt)) {
|
||||||
|
if ($.inArray(k, p4.users.sel) < 0) {
|
||||||
|
p4.users.sel = new Array();
|
||||||
|
$('tr', cont).removeClass('selected');
|
||||||
|
|
||||||
|
if (!users_select_this(el, k))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ($.inArray(k, p4.users.sel) >= 0) {
|
||||||
|
p4.users.sel = $.grep(p4.users.sel, function (n) {
|
||||||
|
return (n != k);
|
||||||
|
});
|
||||||
|
$(el).removeClass('selected');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (!users_select_this(el, k))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$('.last_selected', cont).removeClass('last_selected');
|
||||||
|
$(el).addClass('last_selected');
|
||||||
|
}).live('mousedown', function (evt) {
|
||||||
|
|
||||||
|
if (evt.stopPropagation)
|
||||||
|
evt.stopPropagation();
|
||||||
|
evt.cancelBubble = true;
|
||||||
|
evt.preventDefault();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users_apply_template').live('submit', function () {
|
||||||
|
var users = p4.users.sel.join(';');
|
||||||
|
if (users === '') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var $this = $(this);
|
||||||
|
var template = $('select[name="template_chooser"]', $this).val();
|
||||||
|
|
||||||
|
if (template === '') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
dialogUserTemplate(function (reset_before_apply) {
|
||||||
|
$('#right-ajax').empty().addClass('loading');
|
||||||
|
p4.users.sel = [];
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: $this.attr('method'),
|
||||||
|
url: $this.attr('action'),
|
||||||
|
data: {
|
||||||
|
users: users,
|
||||||
|
template: template,
|
||||||
|
reset_before_apply: reset_before_apply
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#right-ajax').removeClass('loading').html(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users_page_form .user_modifier').live('click', function () {
|
||||||
|
var users = p4.users.sel.join(';');
|
||||||
|
if (users === '') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#right-ajax').empty().addClass('loading');
|
||||||
|
p4.users.sel = [];
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/',
|
||||||
|
data: {
|
||||||
|
users: users
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#right-ajax').removeClass('loading').html(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users_page_form .user_deleter').live('click', function () {
|
||||||
|
var users = p4.users.sel.join(';');
|
||||||
|
if (users === '') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#right-ajax').empty().addClass('loading');
|
||||||
|
p4.users.sel = [];
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/delete/',
|
||||||
|
data: {
|
||||||
|
users: users
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#right-ajax').removeClass('loading').html(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$('#users_page .invite_modifier, #users_page .autoregister_modifier').live('click', function () {
|
||||||
|
var users = $(this).next('input').val();
|
||||||
|
|
||||||
|
if ($.trim(users) === '') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#right-ajax').empty().addClass('loading');
|
||||||
|
p4.users.sel = [];
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '../admin/users/rights/',
|
||||||
|
data: {
|
||||||
|
users: users
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$('#right-ajax').removeClass('loading').html(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$.each(p4.users.sel, function (i, n) {
|
||||||
|
var el = $('#user_' + n);
|
||||||
|
if (el.length > 0) {
|
||||||
|
el.addClass('selected');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#users_page_form select[name="per_page"]').bind('change', function () {
|
||||||
|
$(this).closest('form').submit();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#users_reset_rights button').bind('click', function () {
|
||||||
|
var selectedUsers = $("#users tr.selected");
|
||||||
|
|
||||||
|
if (selectedUsers.length === 0) {
|
||||||
|
alert("{{ 'select at least one user' | trans }}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var users = '';
|
||||||
|
$.each(selectedUsers, function (i, n) {
|
||||||
|
users += $(n).attr("id").split("_").pop() + ';';
|
||||||
|
});
|
||||||
|
|
||||||
|
if (confirm("{{ 'Are you sure you want delete users rights ?' | trans }}")) {
|
||||||
|
$("#users_reset_rights input[name='users']").val(users);
|
||||||
|
|
||||||
|
var form = $(this).closest('form');
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: form.attr("action"),
|
||||||
|
dataType: 'json',
|
||||||
|
type: form.attr('method'),
|
||||||
|
data: form.serializeArray(),
|
||||||
|
success: function (data) {
|
||||||
|
if (data.error) {
|
||||||
|
alert("{{ 'An error occured' | trans }}");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
alert("{{ 'users rights have been reseted' | trans }}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
function exportlist()
|
function exportlist()
|
||||||
{
|
{
|
||||||
|
@@ -1,493 +0,0 @@
|
|||||||
function ini_edit_usrs() {
|
|
||||||
$('.users_col.options').bind('click', function (event) {
|
|
||||||
$('#users_check_uncheck').remove();
|
|
||||||
event.stopPropagation();
|
|
||||||
event.preventDefault();
|
|
||||||
check_uncheck_menu($('input[name="right"]', $(this)).val(), $('input[name="sbas_id"]', $(this)).val(), $(this));
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).unbind('click.usersoptions').bind('click.usersoptions', function (event) {
|
|
||||||
$('#users_check_uncheck').remove();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('table.hoverable tr').hover(
|
|
||||||
function () {
|
|
||||||
$(this).addClass('hovered');
|
|
||||||
},
|
|
||||||
function () {
|
|
||||||
$(this).removeClass('hovered');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
$('table.hoverable td').hover(
|
|
||||||
function () {
|
|
||||||
var attr = $('input:first', this).attr('name');
|
|
||||||
var right = attr ? attr.split('_').shift() : false;
|
|
||||||
if (right)
|
|
||||||
$('td.case_right_' + right).addClass('hovered');
|
|
||||||
},
|
|
||||||
function () {
|
|
||||||
var attr = $('input:first', this).attr('name');
|
|
||||||
var right = attr ? attr.split('_').shift() : false;
|
|
||||||
if (right)
|
|
||||||
$('td.hovered').removeClass('hovered');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
function user_click_box(event, element, status) {
|
|
||||||
var newclass, newvalue, boxes;
|
|
||||||
|
|
||||||
var $element = $(element);
|
|
||||||
|
|
||||||
if ($element.hasClass('right_access')) {
|
|
||||||
var base_id = $element.find('input').attr('name').split('_').pop();
|
|
||||||
boxes = $('div.base_' + base_id + ':not(:first)');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((typeof status !== 'undefined' && status == 'checked') || (typeof status === 'undefined' && (($element.hasClass('mixed') === true) || ($element.hasClass('unchecked') === true)))) {
|
|
||||||
newclass = 'checked';
|
|
||||||
newvalue = '1';
|
|
||||||
|
|
||||||
if (boxes)
|
|
||||||
boxes.show();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
newclass = 'unchecked';
|
|
||||||
newvalue = '0';
|
|
||||||
|
|
||||||
if (boxes)
|
|
||||||
boxes.hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
$element.find('input').val(newvalue);
|
|
||||||
$element.removeClass('mixed checked unchecked').addClass(newclass);
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#users_rights_form div.switch_right').bind('click', function (event) {
|
|
||||||
user_click_box(event, $(this));
|
|
||||||
});
|
|
||||||
$('#right-ajax button.users_rights_valid').bind('click', function () {
|
|
||||||
var datas = {
|
|
||||||
users: $('#users_rights_form input[name="users"]').val(),
|
|
||||||
values: $('#users_rights_form').serialize(),
|
|
||||||
template: $('#users_rights_form select[name="template"]').val(),
|
|
||||||
user_infos: $('#user_infos_form').serialize()
|
|
||||||
};
|
|
||||||
|
|
||||||
var callback = function (reset_before_apply) {
|
|
||||||
datas.reset_before_apply = reset_before_apply;
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/apply/',
|
|
||||||
dataType: 'json',
|
|
||||||
data: datas,
|
|
||||||
success: function (data) {
|
|
||||||
if (!data.error)
|
|
||||||
$('a.zone_editusers').trigger('click');
|
|
||||||
else
|
|
||||||
alert(data.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
if (datas.template !== '') {
|
|
||||||
dialogUserTemplate(callback);
|
|
||||||
} else {
|
|
||||||
callback('0');
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#right-ajax .users_rights_cancel').bind('click', function () {
|
|
||||||
var $this = $(this);
|
|
||||||
$('#right-ajax').empty().addClass('loading').parent().show();
|
|
||||||
$('#right').hide();
|
|
||||||
$.get($this.attr('href'), function (data) {
|
|
||||||
$('#right-ajax').removeClass('loading').html(data);
|
|
||||||
});
|
|
||||||
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
var time_buttons = {
|
|
||||||
'Ok': function () {
|
|
||||||
save_time();
|
|
||||||
},
|
|
||||||
'Cancel': function () {
|
|
||||||
$('#time_dialog').dialog('close');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
$('#time_dialog').dialog({
|
|
||||||
resizable: false,
|
|
||||||
autoOpen: false,
|
|
||||||
draggable: false,
|
|
||||||
buttons: time_buttons,
|
|
||||||
modal: true
|
|
||||||
});
|
|
||||||
var quota_buttons = {
|
|
||||||
'Ok': function () {
|
|
||||||
save_quotas();
|
|
||||||
},
|
|
||||||
'Cancel': function () {
|
|
||||||
$('#quotas_dialog').dialog('close');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
$('#quotas_dialog').dialog({
|
|
||||||
resizable: false,
|
|
||||||
autoOpen: false,
|
|
||||||
draggable: false,
|
|
||||||
buttons: quota_buttons,
|
|
||||||
modal: true
|
|
||||||
});
|
|
||||||
|
|
||||||
var masks_buttons = {
|
|
||||||
'Ok': function () {
|
|
||||||
save_masks();
|
|
||||||
},
|
|
||||||
'Cancel': function () {
|
|
||||||
$('#masks_dialog').dialog('close');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
$('#masks_dialog').dialog({
|
|
||||||
resizable: false,
|
|
||||||
autoOpen: false,
|
|
||||||
draggable: false,
|
|
||||||
buttons: masks_buttons,
|
|
||||||
width: 900,
|
|
||||||
height: 300,
|
|
||||||
modal: true
|
|
||||||
});
|
|
||||||
$('#users_rights_form .time_trigger').bind('click', function () {
|
|
||||||
var base_id = $(this).find('input[name="time_base_id"]').val();
|
|
||||||
if ('undefined' !== typeof base_id) {
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/time/',
|
|
||||||
data: {
|
|
||||||
users: $('#users_rights_form input[name="users"]').val(),
|
|
||||||
base_id: base_id
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
var dialog = $('#time_dialog');
|
|
||||||
|
|
||||||
if (dialog.data("ui-dialog")) {
|
|
||||||
dialog.html(data).dialog('open');
|
|
||||||
}
|
|
||||||
|
|
||||||
$('div.switch_time', dialog).bind('click', function (event) {
|
|
||||||
var newclass, boxes;
|
|
||||||
|
|
||||||
boxes = $(this).closest('form').find('input.datepicker');
|
|
||||||
|
|
||||||
if (($(this).hasClass('mixed') === true) || ($(this).hasClass('unchecked') === true)) {
|
|
||||||
newclass = 'checked';
|
|
||||||
boxes.removeAttr('readonly');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
newclass = 'unchecked';
|
|
||||||
boxes.attr('readonly', 'readonly');
|
|
||||||
}
|
|
||||||
|
|
||||||
$(this).removeClass('mixed checked unchecked').addClass(newclass);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
var sbas_id = $(this).find('input[name="time_sbas_id"]').val();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/time/sbas/',
|
|
||||||
data: {
|
|
||||||
users: $('#users_rights_form input[name="users"]').val(),
|
|
||||||
sbas_id: sbas_id
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
var dialog = $('#time_dialog');
|
|
||||||
|
|
||||||
dialog.html(data);
|
|
||||||
dialog.dialog('open');
|
|
||||||
|
|
||||||
$('div.switch_time', dialog).bind('click', function (event) {
|
|
||||||
var newclass, boxes;
|
|
||||||
|
|
||||||
boxes = $(this).closest('form').find('input.datepicker');
|
|
||||||
|
|
||||||
if (($(this).hasClass('mixed') === true) || ($(this).hasClass('unchecked') === true)) {
|
|
||||||
newclass = 'checked';
|
|
||||||
boxes.removeAttr('readonly');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
newclass = 'unchecked';
|
|
||||||
boxes.attr('readonly', 'readonly');
|
|
||||||
}
|
|
||||||
|
|
||||||
$(this).removeClass('mixed checked unchecked').addClass(newclass);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('#users_rights_form .quota_trigger').bind('click', function () {
|
|
||||||
var base_id = $(this).find('input[name="quota_base_id"]').val();
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/quotas/',
|
|
||||||
data: {
|
|
||||||
users: $('#users_rights_form input[name="users"]').val(),
|
|
||||||
base_id: base_id
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
var dialog = $('#quotas_dialog');
|
|
||||||
|
|
||||||
if (dialog.data("ui-dialog")) {
|
|
||||||
dialog.html(data).dialog('open');
|
|
||||||
}
|
|
||||||
|
|
||||||
$('div.switch_quota', dialog).bind('click', function (event) {
|
|
||||||
var newclass, boxes;
|
|
||||||
|
|
||||||
boxes = $(this).closest('form').find('input:text');
|
|
||||||
|
|
||||||
if (($(this).hasClass('mixed') === true) || ($(this).hasClass('unchecked') === true)) {
|
|
||||||
newclass = 'checked';
|
|
||||||
boxes.removeAttr('readonly');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
newclass = 'unchecked';
|
|
||||||
boxes.attr('readonly', 'readonly');
|
|
||||||
}
|
|
||||||
|
|
||||||
$(this).removeClass('mixed checked unchecked').addClass(newclass);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users_rights_form .masks_trigger').bind('click', function () {
|
|
||||||
var base_id = $(this).find('input[name="masks_base_id"]').val();
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/masks/',
|
|
||||||
data: {
|
|
||||||
users: $('#users_rights_form input[name="users"]').val(),
|
|
||||||
base_id: base_id
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#masks_dialog').html(data).dialog('open');
|
|
||||||
|
|
||||||
$('.switch_masks').bind('click', function () {
|
|
||||||
var currentclass, newclass;
|
|
||||||
|
|
||||||
var bit = $(this).find('input[name="bit"]').val();
|
|
||||||
currentclass = 'unchecked';
|
|
||||||
if ($(this).hasClass('mixed')) {
|
|
||||||
currentclass = 'mixed';
|
|
||||||
}
|
|
||||||
if ($(this).hasClass('checked')) {
|
|
||||||
currentclass = 'checked';
|
|
||||||
}
|
|
||||||
switch (currentclass) {
|
|
||||||
case 'mixed':
|
|
||||||
default:
|
|
||||||
$('.bitnum_' + bit).removeClass('mixed checked unchecked').addClass('checked')
|
|
||||||
break;
|
|
||||||
case 'unchecked':
|
|
||||||
$(this).removeClass('mixed checked unchecked').addClass('checked')
|
|
||||||
break;
|
|
||||||
case 'checked':
|
|
||||||
if ($('.checked.bitnum_' + bit).length == 2) {
|
|
||||||
$(this).removeClass('mixed checked unchecked').addClass('unchecked')
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
alert("admin::user:mask: vous devez cocher au moins une case pour chaque status");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
var left = $('.bitnum_' + bit + '.bit_left');
|
|
||||||
var right = $('.bitnum_' + bit + '.bit_right');
|
|
||||||
|
|
||||||
var maskform = $('#masks_dialog form');
|
|
||||||
var vand_and = $('input[name="vand_and"]', maskform);
|
|
||||||
var vand_or = $('input[name="vand_or"]', maskform);
|
|
||||||
var vxor_and = $('input[name="vxor_and"]', maskform);
|
|
||||||
var vxor_or = $('input[name="vxor_or"]', maskform);
|
|
||||||
|
|
||||||
var newbit_vand_and = newbit_vand_or = newbit_vxor_and = newbit_vxor_or = 0;
|
|
||||||
|
|
||||||
if (left.length === 1 && right.length === 1) {
|
|
||||||
if (left.hasClass('checked') && right.hasClass('unchecked')) {
|
|
||||||
newbit_vand_and = "1";
|
|
||||||
newbit_vand_or = "1";
|
|
||||||
}
|
|
||||||
else if (left.hasClass('unchecked') && right.hasClass('checked')) {
|
|
||||||
newbit_vand_and = "1";
|
|
||||||
newbit_vand_or = "1";
|
|
||||||
newbit_vxor_and = "1";
|
|
||||||
newbit_vxor_or = "1";
|
|
||||||
}
|
|
||||||
vand_and.val(vand_and.val().substr(0, 31 - bit) + newbit_vand_and + vand_and.val().substr(31 + 1 - bit));
|
|
||||||
vand_or.val(vand_or.val().substr(0, 31 - bit) + newbit_vand_or + vand_or.val().substr(31 + 1 - bit));
|
|
||||||
vxor_and.val(vxor_and.val().substr(0, 31 - bit) + newbit_vxor_and + vxor_and.val().substr(31 + 1 - bit));
|
|
||||||
vxor_or.val(vxor_or.val().substr(0, 31 - bit) + newbit_vxor_or + vxor_and.val().substr(31 + 1 - bit));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
function save_masks() {
|
|
||||||
var cont = $('#masks_dialog');
|
|
||||||
|
|
||||||
var maskform = $('#masks_dialog form');
|
|
||||||
var base_id = $('input[name="base_id"]', maskform).val();
|
|
||||||
var users = $('input[name="users"]', maskform).val();
|
|
||||||
var vand_and = $('input[name="vand_and"]', maskform).val();
|
|
||||||
var vand_or = $('input[name="vand_or"]', maskform).val();
|
|
||||||
var vxor_and = $('input[name="vxor_and"]', maskform).val();
|
|
||||||
var vxor_or = $('input[name="vxor_or"]', maskform).val();
|
|
||||||
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/masks/apply/',
|
|
||||||
data: {
|
|
||||||
users: users,
|
|
||||||
base_id: base_id,
|
|
||||||
vand_and: vand_and,
|
|
||||||
vand_or: vand_or,
|
|
||||||
vxor_and: vxor_and,
|
|
||||||
vxor_or: vxor_or
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#masks_dialog').dialog('close');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function save_quotas() {
|
|
||||||
var cont = $('#quotas_dialog');
|
|
||||||
var base_id = $('input[name="base_id"]', cont).val();
|
|
||||||
var users = $('input[name="users"]', cont).val();
|
|
||||||
var droits = $('input[name="droits"]', cont).val();
|
|
||||||
var restes = $('input[name="restes"]', cont).val();
|
|
||||||
|
|
||||||
var switch_quota = $('.switch_quota', cont);
|
|
||||||
|
|
||||||
if (switch_quota.hasClass('mixed'))
|
|
||||||
return;
|
|
||||||
|
|
||||||
var quota = 0;
|
|
||||||
|
|
||||||
if (switch_quota.hasClass('checked'))
|
|
||||||
quota = 1;
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/quotas/apply/',
|
|
||||||
data: {
|
|
||||||
act: "APPLYQUOTAS",
|
|
||||||
users: users,
|
|
||||||
base_id: base_id,
|
|
||||||
quota: quota,
|
|
||||||
droits: droits,
|
|
||||||
restes: restes
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#quotas_dialog').dialog('close');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function save_time() {
|
|
||||||
var cont = $('#time_dialog');
|
|
||||||
var dmin = $('input[name="dmin"]', cont).val();
|
|
||||||
var dmax = $('input[name="dmax"]', cont).val();
|
|
||||||
var users = $('input[name="users"]', cont).val();
|
|
||||||
var base_id = $('input[name="base_id"]', cont).val();
|
|
||||||
var sbas_id = $('input[name="sbas_id"]', cont).val();
|
|
||||||
|
|
||||||
var switch_time = $('.switch_time', cont);
|
|
||||||
|
|
||||||
if (switch_time.hasClass('mixed'))
|
|
||||||
return;
|
|
||||||
|
|
||||||
var limit = 0;
|
|
||||||
|
|
||||||
if (switch_time.hasClass('checked'))
|
|
||||||
limit = 1;
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/time/apply/',
|
|
||||||
data: {
|
|
||||||
users: users,
|
|
||||||
base_id: base_id,
|
|
||||||
sbas_id: sbas_id,
|
|
||||||
limit: limit,
|
|
||||||
dmin: dmin,
|
|
||||||
dmax: dmax
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#time_dialog').dialog('close');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_uncheck_menu(right, sbas_id, el) {
|
|
||||||
var top = el.offset().top;
|
|
||||||
var left = el.offset().left + 16;
|
|
||||||
$('body').append('<div id="users_check_uncheck" style="position:absolute;top:' + top + 'px;left:' + left + 'px;">' +
|
|
||||||
'<div class="checker" >' +
|
|
||||||
language.check_all +
|
|
||||||
'<input type="hidden" name="sbas_id" value="' + sbas_id + '"/>' +
|
|
||||||
'<input type="hidden" name="right" value="' + right + '"/>' +
|
|
||||||
'</div>' +
|
|
||||||
'<div class="unchecker">' +
|
|
||||||
language.uncheck_all +
|
|
||||||
'<input type="hidden" name="sbas_id" value="' + sbas_id + '"/>' +
|
|
||||||
'<input type="hidden" name="right" value="' + right + '"/>' +
|
|
||||||
'</div></div>');
|
|
||||||
|
|
||||||
$('#users_check_uncheck div').hover(
|
|
||||||
function () {
|
|
||||||
$(this).addClass('hovered');
|
|
||||||
},
|
|
||||||
function () {
|
|
||||||
$(this).removeClass('hovered');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
$('#users_check_uncheck div.checker').bind('click', function (event) {
|
|
||||||
event.stopPropagation();
|
|
||||||
event.preventDefault();
|
|
||||||
users_check(true, $('input[name="sbas_id"]', $(this)).val(), $('input[name="right"]', $(this)).val());
|
|
||||||
$('#users_check_uncheck').remove();
|
|
||||||
});
|
|
||||||
$('#users_check_uncheck div.unchecker').bind('click', function (event) {
|
|
||||||
event.stopPropagation();
|
|
||||||
event.preventDefault();
|
|
||||||
users_check(false, $('input[name="sbas_id"]', $(this)).val(), $('input[name="right"]', $(this)).val());
|
|
||||||
$('#users_check_uncheck').remove();
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function users_check(bool, sbas_id, right) {
|
|
||||||
var newclass;
|
|
||||||
if (bool) {
|
|
||||||
newclass = "checked";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
newclass = "unchecked";
|
|
||||||
}
|
|
||||||
$('.inside_sbas_' + sbas_id + '.' + right + ':visible').each(function (i, n) {
|
|
||||||
user_click_box(null, $(n), newclass);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,369 +0,0 @@
|
|||||||
/*
|
|
||||||
* To change this template, choose Tools | Templates
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
$(document).ready(function () {
|
|
||||||
|
|
||||||
function users_select_this(n, k) {
|
|
||||||
|
|
||||||
if (p4.users.sel.length >= 800) {
|
|
||||||
alert(language.max_record_selected);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
p4.users.sel.push(k);
|
|
||||||
$(n).addClass('selected');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#users th.sortable').live('click',function () {
|
|
||||||
|
|
||||||
var $this = $(this);
|
|
||||||
|
|
||||||
var sort = $('input', $this).val();
|
|
||||||
|
|
||||||
if ((sort == $('#users_page_form input[name="srt"]').val())
|
|
||||||
&& ($('#users_page_form input[name="ord"]').val() == 'asc')) {
|
|
||||||
var ord = 'desc';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
var ord = 'asc';
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#users_page_form input[name="srt"]').val(sort);
|
|
||||||
$('#users_page_form input[name="ord"]').val(ord);
|
|
||||||
|
|
||||||
$('#users_page_form').trigger('submit');
|
|
||||||
}).live('mouseover', function () {
|
|
||||||
$(this).addClass('hover');
|
|
||||||
})
|
|
||||||
.live('mouseout', function () {
|
|
||||||
$(this).removeClass('hover');
|
|
||||||
});
|
|
||||||
|
|
||||||
var buttons = {};
|
|
||||||
buttons[language.create_user] = function () {
|
|
||||||
check_new_user(false);
|
|
||||||
};
|
|
||||||
buttons[language.annuler] = function () {
|
|
||||||
$('#user_add_dialog').dialog('close')
|
|
||||||
};
|
|
||||||
|
|
||||||
$('#user_add_dialog').dialog({
|
|
||||||
buttons: buttons,
|
|
||||||
modal: true,
|
|
||||||
resizable: false,
|
|
||||||
draggable: false,
|
|
||||||
width: 500
|
|
||||||
|
|
||||||
}).dialog('close');
|
|
||||||
|
|
||||||
var buttons = {};
|
|
||||||
buttons[language.create_template] = function () {
|
|
||||||
check_new_user(true);
|
|
||||||
};
|
|
||||||
buttons[language.annuler] = function () {
|
|
||||||
$('#template_add_dialog').dialog('close');
|
|
||||||
};
|
|
||||||
|
|
||||||
$('#template_add_dialog').dialog({
|
|
||||||
buttons: buttons,
|
|
||||||
modal: true,
|
|
||||||
resizable: false,
|
|
||||||
draggable: false,
|
|
||||||
width: 500
|
|
||||||
|
|
||||||
}).dialog('close');
|
|
||||||
|
|
||||||
|
|
||||||
function check_new_user(is_template) {
|
|
||||||
var container = is_template ? $('#template_add_dialog') : $('#user_add_dialog');
|
|
||||||
$('#new_user_loader').show();
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/create/',
|
|
||||||
dataType: 'json',
|
|
||||||
data: {
|
|
||||||
act: 'CREATENEWUSER',
|
|
||||||
value: $('input[name="value"]', container).val(),
|
|
||||||
send_credentials: $('input[name="send_credentials"]', container).is(':checked') ? 1 : 0,
|
|
||||||
validate_mail: $('input[name="validate_mail"]', container).is(':checked') ? 1 : 0,
|
|
||||||
template: is_template ? '1' : '0'
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('.new_user_loader', container).hide();
|
|
||||||
if (!data.error) {
|
|
||||||
if (container.data("ui-dialog")) {
|
|
||||||
container.dialog('close');
|
|
||||||
}
|
|
||||||
$('input[name="value"]', container).val('');
|
|
||||||
$('#right-ajax').empty().addClass('loading');
|
|
||||||
p4.users.sel = [];
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/',
|
|
||||||
data: {
|
|
||||||
users: data.data
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#right-ajax').removeClass('loading').html(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
alert(data.message);
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
error: function () {
|
|
||||||
alert(language.serverError);
|
|
||||||
},
|
|
||||||
timeout: function () {
|
|
||||||
alert(language.serverTimeout);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$('#users_page .user_adder').live('click', function () {
|
|
||||||
if ($('#user_add_dialog').data("ui-dialog")) {
|
|
||||||
$('#user_add_dialog').dialog('open');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users_page .template_adder').live('click', function () {
|
|
||||||
if ($('#template_add_dialog').data("ui-dialog")) {
|
|
||||||
$('#template_add_dialog').dialog('open');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users_page_form').live('submit', function () {
|
|
||||||
var datas = $('#users_page_form').serializeArray();
|
|
||||||
$('#right-ajax').empty().addClass('loading');
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/search/',
|
|
||||||
data: datas,
|
|
||||||
success: function (data) {
|
|
||||||
$('#right-ajax').removeClass('loading').empty().html(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users_page_search').live('submit', function () {
|
|
||||||
var datas = $('#users_page_search').serializeArray();
|
|
||||||
$('#right-ajax').empty().addClass('loading');
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/search/',
|
|
||||||
data: datas,
|
|
||||||
success: function (data) {
|
|
||||||
$('#right-ajax').removeClass('loading').empty().html(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users_page_form .pager').live('click', function () {
|
|
||||||
var form = $('#users_page_form');
|
|
||||||
|
|
||||||
var current_page = parseInt($('input[name="page"]', form).val());
|
|
||||||
var perPage = parseInt($('select[name="per_page"]', form).val());
|
|
||||||
current_page = isNaN(current_page) ? 1 : current_page;
|
|
||||||
|
|
||||||
var offset_start = 0;
|
|
||||||
|
|
||||||
if ($(this).hasClass('prev')) {
|
|
||||||
offset_start = (current_page - 2) * perPage;
|
|
||||||
}
|
|
||||||
if ($(this).hasClass('first')) {
|
|
||||||
offset_start = 0;
|
|
||||||
}
|
|
||||||
if ($(this).hasClass('next')) {
|
|
||||||
offset_start = current_page * perPage;
|
|
||||||
}
|
|
||||||
if ($(this).hasClass('last')) {
|
|
||||||
offset_start = (Math.floor(parseInt($('input[name=total_results]').val()) / perPage)) * perPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
$('input[name="offset_start"]', form).val(offset_start);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users tbody tr, #users tbody td').live('dblclick', function (evt) {
|
|
||||||
$('#users_page_form .user_modifier').trigger('click');
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users tbody tr, #users tbody td').live('click',function (evt) {
|
|
||||||
if (evt.stopPropagation)
|
|
||||||
evt.stopPropagation();
|
|
||||||
evt.cancelBubble = true;
|
|
||||||
evt.preventDefault();
|
|
||||||
var el = $(this).closest('tr');
|
|
||||||
var cont = $('#users');
|
|
||||||
|
|
||||||
var k = el.attr('id').split('_').pop();
|
|
||||||
|
|
||||||
if (is_shift_key(evt) && $('tr.last_selected', cont).length != 0) {
|
|
||||||
var lst = $('tr', cont);
|
|
||||||
var index1 = $.inArray($('tr.last_selected', cont)[0], lst);
|
|
||||||
var index2 = $.inArray($(el)[0], lst);
|
|
||||||
if (index2 < index1) {
|
|
||||||
var tmp = index1;
|
|
||||||
index1 = (index2 - 1) < 0 ? index2 : (index2 - 1);
|
|
||||||
index2 = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
var stopped = false;
|
|
||||||
if (index2 != -1 && index1 != -1) {
|
|
||||||
var exp = 'tr:gt(' + index1 + '):lt(' + (index2 - index1) + ')';
|
|
||||||
$.each($(exp, cont), function (i, n) {
|
|
||||||
|
|
||||||
if (!$(n).hasClass('selected')) {
|
|
||||||
|
|
||||||
if (!users_select_this(n, $(n).attr('id').split('_').pop())) {
|
|
||||||
stopped = true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!stopped && $.inArray(k, p4.users.sel) < 0) {
|
|
||||||
if (!users_select_this(el, k))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (!is_ctrl_key(evt)) {
|
|
||||||
if ($.inArray(k, p4.users.sel) < 0) {
|
|
||||||
p4.users.sel = new Array();
|
|
||||||
$('tr', cont).removeClass('selected');
|
|
||||||
|
|
||||||
if (!users_select_this(el, k))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if ($.inArray(k, p4.users.sel) >= 0) {
|
|
||||||
p4.users.sel = $.grep(p4.users.sel, function (n) {
|
|
||||||
return(n != k);
|
|
||||||
});
|
|
||||||
$(el).removeClass('selected');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (!users_select_this(el, k))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$('.last_selected', cont).removeClass('last_selected');
|
|
||||||
$(el).addClass('last_selected');
|
|
||||||
}).live('mousedown', function (evt) {
|
|
||||||
|
|
||||||
if (evt.stopPropagation)
|
|
||||||
evt.stopPropagation();
|
|
||||||
evt.cancelBubble = true;
|
|
||||||
evt.preventDefault();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users_apply_template').live('submit', function () {
|
|
||||||
var users = p4.users.sel.join(';');
|
|
||||||
if (users === '') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var $this = $(this);
|
|
||||||
var template = $('select[name="template_chooser"]', $this).val();
|
|
||||||
|
|
||||||
if (template === '') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
dialogUserTemplate(function (reset_before_apply) {
|
|
||||||
$('#right-ajax').empty().addClass('loading');
|
|
||||||
p4.users.sel = [];
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: $this.attr('method'),
|
|
||||||
url: $this.attr('action'),
|
|
||||||
data: {
|
|
||||||
users: users,
|
|
||||||
template: template,
|
|
||||||
reset_before_apply: reset_before_apply
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#right-ajax').removeClass('loading').html(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#users_page_form .user_modifier').live('click', function () {
|
|
||||||
var users = p4.users.sel.join(';');
|
|
||||||
if (users === '') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#right-ajax').empty().addClass('loading');
|
|
||||||
p4.users.sel = [];
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/',
|
|
||||||
data: {
|
|
||||||
users: users
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#right-ajax').removeClass('loading').html(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$('#users_page_form .user_deleter').live('click', function () {
|
|
||||||
var users = p4.users.sel.join(';');
|
|
||||||
if (users === '') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#right-ajax').empty().addClass('loading');
|
|
||||||
p4.users.sel = [];
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/delete/',
|
|
||||||
data: {
|
|
||||||
users: users
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#right-ajax').removeClass('loading').html(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
$('#users_page .invite_modifier, #users_page .autoregister_modifier').live('click', function () {
|
|
||||||
var users = $(this).next('input').val();
|
|
||||||
|
|
||||||
if ($.trim(users) === '') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#right-ajax').empty().addClass('loading');
|
|
||||||
p4.users.sel = [];
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST',
|
|
||||||
url: '../admin/users/rights/',
|
|
||||||
data: {
|
|
||||||
users: users
|
|
||||||
},
|
|
||||||
success: function (data) {
|
|
||||||
$('#right-ajax').removeClass('loading').html(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
})
|
|
Reference in New Issue
Block a user