//<![CDATA[
var MSG_CONFIRM_DELETE = _("Are you sure you want to delete this?");
function DeleteConfirm() {
- var element_id = selected_layout("delete");
- if (element_id>-1) {
- var msg = _("Are you sure you want to delete %s %s?").format("[% PROCESS translate_card_element element=card_element %]", element_id);
- var answer = confirm(msg);
- if (answer) {
- window.location = "/cgi-bin/koha/patroncards/manage.pl?op=delete&card_element=[% card_element %]&element_id=" + element_id;
- }
- else {
- return; // abort delete
+ var element_ids = selected_layouts("delete");
+
+ var answer;
+ if (element_ids.length > 1) {
+ var msg = _("Are you sure you want to delete %s batches?").format(element_ids.length);
+ answer = confirm(msg);
+ } else if (element_ids.length == 1) {
+ var msg = _("Are you sure you want to delete %s %s?").format("[% PROCESS translate_card_element element=card_element %]", element_ids[0]);
+ answer = confirm(msg);
+ }
+
+ if (answer) {
+ var elements = "";
+ for (var i = 0; i < element_ids.length; i++) {
+ if (element_ids[i] > -1) {
+ elements += element_ids[i] + ","
+ }
+ else {
+ return; // no layout selected
+ }
}
+
+ window.location = "/cgi-bin/koha/patroncards/manage.pl?op=delete&card_element=[% card_element %]&element_id=" + elements;
}
else {
- return; // no layout selected
- };
+ return; // abort delete
+ }
+
};
+
function Edit() {
- var element_id = selected_layout("edit");
+ var element_id = selected_layouts("edit");
if (element_id>-1) {
window.location = "/cgi-bin/koha/patroncards/edit-[% card_element %].pl?op=edit&element_id=" + element_id;
}
}
return GB_showCenter(_("Export patron cards"), "/cgi-bin/koha/patroncards/print.pl?" + getstr, 700, 800);
};
- function selected_layout(op) {
+ function selected_layouts(op) {
var selected = new Array;
if (document.layouts.action.length) {
for (i=0;i<document.layouts.action.length;i++){
selected.push(i);
}
};
- if (selected.length == 1) {
- return(document.layouts.action[selected[0]].value);
+ if (selected.length == 1 || (op == "delete" && selected.length >= 1)) {
+ if (op == "delete") {
+ var selectedDelete = new Array;
+ for (i = 0; i < selected.length; i++) {
+ selectedDelete.push(document.layouts.action[selected[i]].value);
+ }
+ return(selectedDelete);
+ } else {
+ // op == 'edit' returns only the object and not list
+ return(document.layouts.action[selected[0]].value);
+ }
+ }
+ else if (selected.length < 1) {
+ if (op == "edit") {
+ alert(_("Please select one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
+ return (-1);
+ } else {
+ alert(_("Please select at least one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
+ return (-1);
+ }
}
else {
alert(_("Please select only one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
if ($op eq 'delete') {
my $err = 0;
- if ($card_element eq 'layout') {$err = C4::Patroncards::Layout::delete(layout_id => $element_id);}
- elsif ($card_element eq 'template') {$err = C4::Patroncards::Template::delete(template_id => $element_id);}
- elsif ($card_element eq 'profile') {$err = C4::Patroncards::Profile::delete(profile_id => $element_id);}
- elsif ($card_element eq 'batch') {$err = C4::Labels::Batch::delete(batch_id => $element_id, branch_code => $branch_code);}
- else {warn sprintf("Unknown card element passed in for delete operation: %s.",$card_element); $errstr = 202;}
+ my @element_ids = split(/,/, $element_id);
+ foreach my $element_id (@element_ids) {
+ if ($card_element eq 'layout') {$err = C4::Patroncards::Layout::delete(layout_id => $element_id);}
+ elsif ($card_element eq 'template') {$err = C4::Patroncards::Template::delete(template_id => $element_id);}
+ elsif ($card_element eq 'profile') {$err = C4::Patroncards::Profile::delete(profile_id => $element_id);}
+ elsif ($card_element eq 'batch') {$err = C4::Labels::Batch::delete(batch_id => $element_id, branch_code => $branch_code);}
+ else {warn sprintf("Unknown card element passed in for delete operation: %s.",$card_element); $errstr = 202;}
+ }
print $cgi->redirect("manage.pl?card_element=$card_element" . ($err ? "&error=102" : ''));
exit;
}