Bug 22357: Do not duplicate report rows if several reports exist
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 29 Apr 2019 01:40:21 +0000 (21:40 -0400)
committerroot <root@f1ebe1bec408>
Tue, 30 Apr 2019 11:35:23 +0000 (11:35 +0000)
At the moment every time you run runreport.pl with the --store-results
option another line will appear for your report in the saved
reports table. This is not a data, but a display problem as the
report is still only stored once.

1) Create a report and note the report number
2) Run from command line (replace X by report number) :
    misc/cronjobs/runreport.pl X --format=csv --csv-header --store-results
3) Go to saved reports table
4) Look at the table, each run of the cronjob will create a new row
   in the table instead of just updating the saved results column.
5) Apply patch
6) Veriy the table displays correctly again and there are no regressions

QA: Run t/db_dependent/Reports/Guided.t

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

C4/Reports/Guided.pm

index eff3a7c..08c554f 100644 (file)
@@ -692,8 +692,9 @@ sub get_saved_reports {
         }
     }
     $query .= " WHERE ".join( " AND ", map "($_)", @cond ) if @cond;
+    $query .= " GROUP BY s.id, s.borrowernumber, s.date_created, s.last_modified, s.savedsql, s.last_run, s.report_name, s.type, s.notes, s.cache_expiry, s.public, s.report_area, s.report_group, s.report_subgroup, s.mana_id, av_g.lib, av_sg.lib, b.firstname, b.surname";
     $query .= " ORDER by date_created";
-    
+
     my $result = $dbh->selectall_arrayref($query, {Slice => {}}, @args);
 
     return $result;