Files
modoboa/static/js/permissions.js
T
2012-02-01 12:58:55 +01:00

67 lines
1.7 KiB
JavaScript

window.addEvent('domready', function() {
var tip = new Tips($$(".Tips"));
var current_role = "";
var current_sizes = "";
var accordion = new Accordion('h3.atStart', 'div.atStart', {
opacity: true,
onActive: function(toggler, element){
toggler.setStyle('color', '#ff3300');
current_role = element.get("id");
current_sizes = element.get("rel");
},
onBackground: function(toggler, element) {
toggler.setStyle('color', '#222');
}
}, $('accordion'));
SqueezeBox.assign($("content").getElements('a[class=boxed]'), {
parse: 'rel'
});
$$("a[name=addperm]").addEvent("click", function(evt) {
evt.stop();
var sizes = current_sizes.split(" ");
var addperm_url = evt.target.get("href") + "?role=" + current_role;
SqueezeBox.open(addperm_url, {
size: {x: parseInt(sizes[0]), y: parseInt(sizes[1])},
handler: 'iframe'
});
});
$$("a[name=delperms]").addEvent("click", function(evt) {
evt.stop();
var selection = $(current_role).getElements("input[id=selection]:checked");
if (selection.length == 0) {
return;
}
if (!confirm(gettext("Remove this selection?"))) {
return;
}
var sr_selection = "";
selection.each(function(item) {
if (sr_selection != "") {
sr_selection += ",";
}
sr_selection += item.get("value");
});
new Request.JSON({
url : evt.target.get("href"),
onSuccess: function(response) {
if (response.status == "ok") {
$(current_role).set("html", response.content);
infobox.info(response.message);
} else {
infobox.error(response.message);
}
infobox.hide(2);
}
}).send({
method: "get",
data: "role=" + current_role + "&selection=" + sr_selection
});
});
});