}
sub delete_report {
- my ($id) = @_;
- my $dbh = C4::Context->dbh();
- my $query = "DELETE FROM saved_sql WHERE id = ?";
- my $sth = $dbh->prepare($query);
- $sth->execute($id);
-}
-
+ my (@ids) = @_;
+ my $dbh = C4::Context->dbh;
+ my $query = 'DELETE FROM saved_sql WHERE id IN (' . join( ',', ('?') x @ids ) . ')';
+ my $sth = $dbh->prepare($query);
+ $sth->execute(@ids);
+ $sth->finish;
+}
my $SAVED_REPORTS_BASE_QRY = <<EOQ;
SELECT s.*, r.report, r.date_run, $AREA_NAME_SQL_SNIPPET, av_g.lib AS groupname, av_sg.lib AS subgroupname,
rtable.fnSetColumnVis(4, true);
}
});
+
+ $("#reports_form").submit(function(){
+ var checkedItems = $("input[name=ids]:checked");
+ if ($(checkedItems).size() == 0) {
+ alert(_("You must select one or more reports to delete"));
+ return false;
+ }
+ return confirm(_("Are you sure you want to delete the selected reports?"));
+ });
[% END %]
[% IF ( showsql ) %]
[% IF ( saved1 ) %]
$(".confirmdelete").click(function(){
$(this).parents('tr').attr("class","warn");
- if(confirm("Are you sure you want to "+$(this).attr("title")+"?")){
+ if(confirm(_("Are you sure you want to delete this saved report?"))){
return true;
} else {
$(this).parents('tr').attr("class","");
<option value="">All</option>
</select>
</div>
+<form action="/cgi-bin/koha/reports/guided_reports.pl" id="reports_form" method="post">
+<input type="hidden" name="phase" value="Delete Multiple" />
<table id="table_reports">
<thead>
<tr>
<tbody>
[% FOREACH savedreport IN savedreports %]
[% UNLESS ( loop.odd ) %]<tr class="odd">[% ELSE %]<tr>[% END %]
- <td>[% savedreport.id %]</td>
+ <td><label>[% savedreport.id %] <input type="checkbox" name="ids" value="[% savedreport.id %]" /></label></td>
<td>
[% IF ( savedreport.report_name ) %]
[% savedreport.report_name %]
[% END %]
</tbody>
</table>
+ <fieldset class="action">
+ <input type="submit" value="Delete selected" />
+ </fieldset>
+ </form>
</div>
</div>
[% ELSE %]<div class="dialog message">
);
}
+elsif ( $phase eq 'Delete Multiple') {
+ my @ids = $input->param('ids');
+ delete_report( @ids );
+ print $input->redirect("/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved");
+ exit;
+}
+
elsif ( $phase eq 'Delete Saved') {
# delete a report from the saved reports list
- my $id = $input->param('reports');
- delete_report($id);
+ my $ids = $input->param('reports');
+ delete_report($ids);
print $input->redirect("/cgi-bin/koha/reports/guided_reports.pl?phase=Use%20saved");
exit;
}