mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-17 21:43:11 +01:00
44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
|
/**
|
||
|
* Javascript for Admin / Global categories
|
||
|
*/
|
||
|
|
||
|
// Record original value
|
||
|
var cat_original_owner;
|
||
|
var permission_prompt;
|
||
|
|
||
|
/**
|
||
|
* Check to see if admin has taken away access to a category
|
||
|
*/
|
||
|
function check_owner(element_id) {
|
||
|
var checkboxes = $(':checkbox', document.getElementById(element_id));
|
||
|
var all_users = $(document.getElementById(element_id + '[0]'));
|
||
|
|
||
|
// If they checked all users, uncheck the others
|
||
|
if(all_users.attr("checked")) {
|
||
|
checkboxes.attr("checked",false);
|
||
|
all_users.attr("checked", true);
|
||
|
checkboxes = $(':checkbox', document.getElementById(element_id)).filter(':checked');
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
// Find out what changed
|
||
|
var seen = [], diff = [], labels = [];
|
||
|
for ( var i = 0; i < cat_original_owner.length; i++) {
|
||
|
var checkbox = checkboxes.filter('[value="'+cat_original_owner[i]+'"]');
|
||
|
if(checkbox.filter(':checked').length == 0) {
|
||
|
diff.push(cat_original_owner[i]);
|
||
|
labels.push($(checkbox.get(0).nextSibling).text());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Somebody will lose permission, give warning.
|
||
|
if(diff.length > 0) {
|
||
|
var msg = permission_prompt;
|
||
|
for( var i = 0; i < labels.length; i++) {
|
||
|
msg += labels[i];
|
||
|
}
|
||
|
return confirm(msg);
|
||
|
}
|
||
|
return true;
|
||
|
}
|