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,19 +561,504 @@
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
|
||||
define([
|
||||
"jquery",
|
||||
"common/geonames"
|
||||
], function ($, geonames) {
|
||||
$(document).ready(function() {
|
||||
ini_edit_usrs();
|
||||
geonames.init($('#user_infos_tab input.geoname_field'), {
|
||||
"server": "{{ app['geonames.server-uri'] }}",
|
||||
"limit": 40
|
||||
|
||||
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 () {
|
||||
@@ -615,6 +1100,16 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
define([
|
||||
"jquery",
|
||||
"common/geonames"
|
||||
], function ($, geonames) {
|
||||
geonames.init($('#user_infos_tab input.geoname_field'), {
|
||||
"server": "{{ app['geonames.server-uri'] }}",
|
||||
"limit": 40
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
@@ -81,7 +81,7 @@
|
||||
<div id="quotas_dialog"></div>
|
||||
<div id="masks_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>
|
||||
<label for="new_user_mail">{{ 'Adresse email du nouvel utilisateur' | trans }}</label>
|
||||
<input id="new_user_mail" type="text" name="value" />
|
||||
|
@@ -251,10 +251,362 @@
|
||||
|
||||
<script type="text/javascript">
|
||||
$(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;
|
||||
});
|
||||
$.each(p4.users.sel, function (i, n) {
|
||||
var el = $('#user_' + n);
|
||||
if(el.length > 0)
|
||||
{
|
||||
if (el.length > 0) {
|
||||
el.addClass('selected');
|
||||
}
|
||||
});
|
||||
@@ -265,8 +617,7 @@
|
||||
$('#users_reset_rights button').bind('click', function () {
|
||||
var selectedUsers = $("#users tr.selected");
|
||||
|
||||
if(selectedUsers.length === 0)
|
||||
{
|
||||
if (selectedUsers.length === 0) {
|
||||
alert("{{ 'select at least one user' | trans }}");
|
||||
return;
|
||||
}
|
||||
@@ -276,8 +627,7 @@
|
||||
users += $(n).attr("id").split("_").pop() + ';';
|
||||
});
|
||||
|
||||
if(confirm("{{ 'Are you sure you want delete users rights ?' | trans }}"))
|
||||
{
|
||||
if (confirm("{{ 'Are you sure you want delete users rights ?' | trans }}")) {
|
||||
$("#users_reset_rights input[name='users']").val(users);
|
||||
|
||||
var form = $(this).closest('form');
|
||||
@@ -288,19 +638,16 @@
|
||||
type: form.attr('method'),
|
||||
data: form.serializeArray(),
|
||||
success: function (data) {
|
||||
if(data.error)
|
||||
{
|
||||
if (data.error) {
|
||||
alert("{{ 'An error occured' | trans }}");
|
||||
}
|
||||
else
|
||||
{
|
||||
else {
|
||||
alert("{{ 'users rights have been reseted' | trans }}");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
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