View | Details | Raw Unified | Return to bug 14805
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/patroncards/manage.tt (-15 / +48 lines)
Lines 17-39 Link Here
17
    <script type="text/javascript">
17
    <script type="text/javascript">
18
        //<![CDATA[
18
        //<![CDATA[
19
            function DeleteConfirm() {
19
            function DeleteConfirm() {
20
                var element_id = selected_layout("delete");
20
                var element_ids = selected_layouts("delete");
21
                if (element_id>-1) {
21
22
                    var msg = _("Are you sure you want to delete %s %s?").format("[% PROCESS translate_card_element element=card_element %]", element_id);
22
                var answer;
23
                    var answer = confirm(msg);
23
                if (element_ids.length > 1) {
24
                    if (answer) {
24
                    var msg = _("Are you sure you want to delete %s batches?").format(element_ids.length);
25
                        window.location = "/cgi-bin/koha/patroncards/manage.pl?op=delete&card_element=[% card_element %]&element_id=" + element_id;
25
                    answer = confirm(msg);
26
                    }
26
                } else if (element_ids.length == 1) {
27
                    else {
27
                    var msg = _("Are you sure you want to delete %s %s?").format("[% PROCESS translate_card_element element=card_element %]", element_ids[0]);
28
                        return; // abort delete
28
                    answer = confirm(msg);
29
                }
30
31
                if (answer) {
32
                    var elements = "";
33
                    for (var i = 0; i < element_ids.length; i++) {
34
                        if (element_ids[i] > -1) {
35
                            elements += element_ids[i] + ","
36
                        }
37
                        else {
38
                            return;     // no layout selected
39
                        }
29
                    }
40
                    }
41
42
                    window.location = "/cgi-bin/koha/patroncards/manage.pl?op=delete&card_element=[% card_element %]&element_id=" + elements;
30
                }
43
                }
31
                else {
44
                else {
32
                    return;     // no layout selected
45
                    return; // abort delete
33
                };
46
                }
47
34
            };
48
            };
49
35
            function Edit() {
50
            function Edit() {
36
                var element_id = selected_layout("edit");
51
                var element_id = selected_layouts("edit");
37
                if (element_id>-1) {
52
                if (element_id>-1) {
38
                    window.location = "/cgi-bin/koha/patroncards/edit-[% card_element %].pl?op=edit&element_id=" + element_id;
53
                    window.location = "/cgi-bin/koha/patroncards/edit-[% card_element %].pl?op=edit&element_id=" + element_id;
39
                }
54
                }
Lines 64-70 Link Here
64
                }
79
                }
65
                return GB_showCenter(_("Export patron cards"), "/cgi-bin/koha/patroncards/print.pl?" + getstr, 700, 800);
80
                return GB_showCenter(_("Export patron cards"), "/cgi-bin/koha/patroncards/print.pl?" + getstr, 700, 800);
66
            };
81
            };
67
            function selected_layout(op) {
82
            function selected_layouts(op) {
68
                var selected = new Array;
83
                var selected = new Array;
69
                if (document.layouts.action.length) {
84
                if (document.layouts.action.length) {
70
                    for (i=0;i<document.layouts.action.length;i++){
85
                    for (i=0;i<document.layouts.action.length;i++){
Lines 72-79 Link Here
72
                            selected.push(i);
87
                            selected.push(i);
73
                        }
88
                        }
74
                    };
89
                    };
75
                    if (selected.length == 1) {
90
                    if (selected.length == 1 || (op == "delete" && selected.length >= 1)) {
76
                        return(document.layouts.action[selected[0]].value);
91
                        if (op == "delete") {
92
                            var selectedDelete = new Array;
93
                            for (i = 0; i < selected.length; i++) {
94
                                selectedDelete.push(document.layouts.action[selected[i]].value);                            
95
                            }
96
                            return(selectedDelete);
97
                        } else {
98
                            // op == 'edit' returns only the object and not list
99
                            return(document.layouts.action[selected[0]].value);
100
                        }
101
                    }
102
                    else if (selected.length < 1) {
103
                        if (op == "edit") {
104
                            alert(_("Please select one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
105
                            return (-1);
106
                        } else {
107
                            alert(_("Please select at least one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
108
                            return (-1);
109
                        }
77
                    }
110
                    }
78
                    else {
111
                    else {
79
                        alert(_("Please select only one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
112
                        alert(_("Please select only one %s to %s.").format("[% PROCESS translate_card_element element=card_element %]", op));
(-)a/patroncards/manage.pl (-6 / +8 lines)
Lines 76-86 my $branch_code = ($card_element eq 'batch' ? C4::Context->userenv->{'branch'} : Link Here
76
76
77
if ($op eq 'delete') {
77
if ($op eq 'delete') {
78
    my $err = 0;
78
    my $err = 0;
79
    if          ($card_element eq 'layout')    {$err = C4::Patroncards::Layout::delete(layout_id => $element_id);}
79
    my @element_ids = split(/,/, $element_id);
80
    elsif       ($card_element eq 'template')  {$err = C4::Patroncards::Template::delete(template_id => $element_id);}
80
    foreach my $element_id (@element_ids) {
81
    elsif       ($card_element eq 'profile')   {$err = C4::Patroncards::Profile::delete(profile_id => $element_id);}
81
        if          ($card_element eq 'layout')    {$err = C4::Patroncards::Layout::delete(layout_id => $element_id);}
82
    elsif       ($card_element eq 'batch')     {$err = C4::Labels::Batch::delete(batch_id => $element_id, branch_code => $branch_code);}
82
        elsif       ($card_element eq 'template')  {$err = C4::Patroncards::Template::delete(template_id => $element_id);}
83
    else                                       {warn sprintf("Unknown card element passed in for delete operation: %s.",$card_element); $errstr = 202;}
83
        elsif       ($card_element eq 'profile')   {$err = C4::Patroncards::Profile::delete(profile_id => $element_id);}
84
        elsif       ($card_element eq 'batch')     {$err = C4::Labels::Batch::delete(batch_id => $element_id, branch_code => $branch_code);}
85
        else                                       {warn sprintf("Unknown card element passed in for delete operation: %s.",$card_element); $errstr = 202;}
86
    }
84
    print $cgi->redirect("manage.pl?card_element=$card_element" . ($err ? "&error=102" : ''));
87
    print $cgi->redirect("manage.pl?card_element=$card_element" . ($err ? "&error=102" : ''));
85
    exit;
88
    exit;
86
}
89
}
87
- 

Return to bug 14805