MT 1816: Granular permissions for the serials module
[koha.git] / reports / guided_reports.pl
index 38e185e..ad1ba6f 100755 (executable)
@@ -91,18 +91,20 @@ elsif ( $phase eq 'Show SQL'){
 
 elsif ( $phase eq 'Edit SQL'){
        
-       my $id = $input->param('reports');
-       my $sql = get_sql($id);
-       $template->param(
-               'sql'     => $sql,
-               'id'      => $id,
-               'editsql' => 1,
+    my $id = $input->param('reports');
+    my ($sql,$type,$reportname,$notes) = get_saved_report($id);
+    $template->param(
+           'sql'        => $sql,
+           'reportname' => $reportname,
+            'id'         => $id,
+           'editsql'    => 1,
     );
 }
 
 elsif ( $phase eq 'Update SQL'){
-    my $id = $input->param('id');
-    my $sql = $input->param('sql');
+    my $id         = $input->param('id');
+    my $sql        = $input->param('sql');
+    my $reportname = $input->param('reportname');
     my @errors;
     if ($sql =~ /;?\W?(UPDATE|DELETE|DROP|INSERT|SHOW|CREATE)\W/i) {
         push @errors, {sqlerr => $1};
@@ -117,7 +119,7 @@ elsif ( $phase eq 'Update SQL'){
         );
     }
     else {
-        update_sql( $id, $sql );
+        update_sql( $id, $sql, $reportname );
         $template->param(
             'save_successful'       => 1,
         );
@@ -330,7 +332,7 @@ elsif ( $phase eq 'Save Report' ) {
         );
     }
     else {
-        save_report( $sql, $name, $type, $notes );
+        save_report( $borrowernumber, $sql, $name, $type, $notes );
         $template->param(
             'save_successful'       => 1,
         );
@@ -338,8 +340,6 @@ elsif ( $phase eq 'Save Report' ) {
 }
 
 elsif ($phase eq 'Run this report'){
-    binmode STDOUT, ':utf8';
-
     # execute a saved report
     my $limit  = 20;    # page size. # TODO: move to DB or syspref?
     my $offset = 0;
@@ -384,10 +384,10 @@ elsif ($phase eq 'Run this report'){
 elsif ($phase eq 'Export'){
     binmode STDOUT, ':utf8';
 
-       # export results to tab separated text or CSV
-       my $sql    = $input->param('sql');  # FIXME: use sql from saved report ID#, not new user-supplied SQL!
+    # export results to tab separated text or CSV
+    my $sql    = $input->param('sql');  # FIXME: use sql from saved report ID#, not new user-supplied SQL!
     my $format = $input->param('format');
-       my ($sth, $q_errors) = execute_query($sql);
+    my ($sth, $q_errors) = execute_query($sql);
     unless ($q_errors and @$q_errors) {
         print $input->header(       -type => 'application/octet-stream',
                                     -attachment=>"reportresults.$format"