|
Lines 599-615
sub save_report {
Link Here
|
| 599 |
my $area = $fields->{area}; |
599 |
my $area = $fields->{area}; |
| 600 |
my $group = $fields->{group}; |
600 |
my $group = $fields->{group}; |
| 601 |
my $subgroup = $fields->{subgroup}; |
601 |
my $subgroup = $fields->{subgroup}; |
| 602 |
my $cache_expiry = $fields->{cache_expiry} || 300; |
602 |
my $cache_expiry = $fields->{cache_expiry}; |
| 603 |
my $public = $fields->{public}; |
603 |
my $public = $fields->{public}; |
| 604 |
|
604 |
|
| 605 |
my $dbh = C4::Context->dbh(); |
|
|
| 606 |
$sql =~ s/(\s*\;\s*)$//; # removes trailing whitespace and /;/ |
605 |
$sql =~ s/(\s*\;\s*)$//; # removes trailing whitespace and /;/ |
| 607 |
my $query = "INSERT INTO saved_sql (borrowernumber,date_created,last_modified,savedsql,report_name,report_area,report_group,report_subgroup,type,notes,cache_expiry,public) VALUES (?,now(),now(),?,?,?,?,?,?,?,?,?)"; |
606 |
my $now = dt_from_string; |
| 608 |
$dbh->do($query, undef, $borrowernumber, $sql, $name, $area, $group, $subgroup, $type, $notes, $cache_expiry, $public); |
607 |
my $report = Koha::Report->new( |
|
|
608 |
{ |
| 609 |
borrowernumber => $borrowernumber, |
| 610 |
date_created => $now, # Must be moved to Koha::Report->store |
| 611 |
last_modified => $now, # Must be moved to Koha::Report->store |
| 612 |
savedsql => $sql, |
| 613 |
report_name => $name, |
| 614 |
report_area => $area, |
| 615 |
report_group => $group, |
| 616 |
report_subgroup => $subgroup, |
| 617 |
type => $type, |
| 618 |
notes => $notes, |
| 619 |
cache_expiry => $cache_expiry, |
| 620 |
public => $public, |
| 621 |
} |
| 622 |
)->store; |
| 609 |
|
623 |
|
| 610 |
my $id = $dbh->selectrow_array("SELECT max(id) FROM saved_sql WHERE borrowernumber=? AND report_name=?", undef, |
624 |
return $report->id; |
| 611 |
$borrowernumber, $name); |
|
|
| 612 |
return $id; |
| 613 |
} |
625 |
} |
| 614 |
|
626 |
|
| 615 |
sub update_sql { |
627 |
sub update_sql { |
|
Lines 623-636
sub update_sql {
Link Here
|
| 623 |
my $cache_expiry = $fields->{cache_expiry}; |
635 |
my $cache_expiry = $fields->{cache_expiry}; |
| 624 |
my $public = $fields->{public}; |
636 |
my $public = $fields->{public}; |
| 625 |
|
637 |
|
|
|
638 |
$sql =~ s/(\s*\;\s*)$//; # removes trailing whitespace and /;/ |
| 639 |
my $report = Koha::Reports->find($id); |
| 640 |
$report->last_modified(dt_from_string); |
| 641 |
$report->savedsql($sql); |
| 642 |
$report->report_name($name); |
| 643 |
$report->notes($notes); |
| 644 |
$report->report_group($group); |
| 645 |
$report->report_subgroup($subgroup); |
| 646 |
$report->cache_expiry($cache_expiry) if defined $cache_expiry; |
| 647 |
$report->public($public); |
| 626 |
if( $cache_expiry >= 2592000 ){ |
648 |
if( $cache_expiry >= 2592000 ){ |
| 627 |
die "Please specify a cache expiry less than 30 days\n"; |
649 |
die "Please specify a cache expiry less than 30 days\n"; # That's a bit harsh |
| 628 |
} |
650 |
} |
| 629 |
|
651 |
|
| 630 |
my $dbh = C4::Context->dbh(); |
652 |
return $report; |
| 631 |
$sql =~ s/(\s*\;\s*)$//; # removes trailing whitespace and /;/ |
|
|
| 632 |
my $query = "UPDATE saved_sql SET savedsql = ?, last_modified = now(), report_name = ?, report_group = ?, report_subgroup = ?, notes = ?, cache_expiry = ?, public = ? WHERE id = ? "; |
| 633 |
$dbh->do($query, undef, $sql, $name, $group, $subgroup, $notes, $cache_expiry, $public, $id ); |
| 634 |
} |
653 |
} |
| 635 |
|
654 |
|
| 636 |
sub store_results { |
655 |
sub store_results { |
| 637 |
- |
|
|