Lines 36-41
use Koha::Signs;
Link Here
|
36 |
use Koha::SignStream; |
36 |
use Koha::SignStream; |
37 |
use Koha::SignStreams; |
37 |
use Koha::SignStreams; |
38 |
use Koha::SignsToStreams; |
38 |
use Koha::SignsToStreams; |
|
|
39 |
use Koha::Reports; |
39 |
|
40 |
|
40 |
use CGI; |
41 |
use CGI; |
41 |
use C4::Auth; |
42 |
use C4::Auth; |
Lines 70-76
if ( $op eq 'add_stream' ) {
Link Here
|
70 |
|
71 |
|
71 |
$template->param( |
72 |
$template->param( |
72 |
'op' => 'stream_form', |
73 |
'op' => 'stream_form', |
73 |
'reports' => get_saved_reports( { group => 'SIG' } ), |
74 |
'reports' => get_saved_reports( { group => 'SIGN' } ), |
74 |
); |
75 |
); |
75 |
|
76 |
|
76 |
} elsif ( $op eq 'edit_stream' && $sign_stream_id ne '') { |
77 |
} elsif ( $op eq 'edit_stream' && $sign_stream_id ne '') { |
Lines 80-86
if ( $op eq 'add_stream' ) {
Link Here
|
80 |
$template->param( |
81 |
$template->param( |
81 |
'op' => 'stream_form', |
82 |
'op' => 'stream_form', |
82 |
'stream' => $stream, |
83 |
'stream' => $stream, |
83 |
'reports' => get_saved_reports( { group => 'SIG' } ), |
84 |
'reports' => get_saved_reports( { group => 'SIGN' } ), |
84 |
'script_name' => $script_name |
85 |
'script_name' => $script_name |
85 |
); |
86 |
); |
86 |
|
87 |
|
Lines 97-104
if ( $op eq 'add_stream' ) {
Link Here
|
97 |
|
98 |
|
98 |
} elsif ( $op eq 'view_stream' && $sign_stream_id ne '' ) { |
99 |
} elsif ( $op eq 'view_stream' && $sign_stream_id ne '' ) { |
99 |
my $stream = Koha::SignStreams->find( $sign_stream_id ); |
100 |
my $stream = Koha::SignStreams->find( $sign_stream_id ); |
100 |
my $report = get_saved_report($stream->saved_sql_id); |
101 |
my $report = Koha::Reports->find($stream->saved_sql_id); |
101 |
my $sql = $report->{'savedsql'}; |
102 |
my $sql = $report->savedsql; |
102 |
my ( $records, $error ) = execute_query( $sql, 0, 999999 ); |
103 |
my ( $records, $error ) = execute_query( $sql, 0, 999999 ); |
103 |
if ( $records && not $error ) { |
104 |
if ( $records && not $error ) { |
104 |
$records = $records->fetchall_arrayref({}); |
105 |
$records = $records->fetchall_arrayref({}); |
Lines 181-190
if ( $op eq 'add_stream' ) {
Link Here
|
181 |
|
182 |
|
182 |
foreach my $s ( @signstostreams ) { |
183 |
foreach my $s ( @signstostreams ) { |
183 |
my $stream = Koha::SignStreams->find( $s->sign_stream_id ); |
184 |
my $stream = Koha::SignStreams->find( $s->sign_stream_id ); |
184 |
my $sql = get_saved_report($stream->saved_sql_id); |
185 |
my $sql = Koha::Reports->find($stream->saved_sql_id); |
185 |
my $params = Koha::SignsToStreams->find({ sign_to_stream_id => $s->sign_to_stream_id }); |
186 |
my $params = Koha::SignsToStreams->find({ sign_to_stream_id => $s->sign_to_stream_id }); |
186 |
# Generate SQL with added params |
187 |
# Generate SQL with added params |
187 |
my $newsql = $sql->{'savedsql'}; |
188 |
my $newsql = $sql->savedsql; |
188 |
foreach my $param ( split /&/, $params->params ) { |
189 |
foreach my $param ( split /&/, $params->params ) { |
189 |
my ( $key, $value ) = split /=|<|>/, $param; # The < and > in the split are just to prevent software errors, the sign in the query must be changed in the report itself |
190 |
my ( $key, $value ) = split /=|<|>/, $param; # The < and > in the split are just to prevent software errors, the sign in the query must be changed in the report itself |
190 |
$newsql =~ s/$key/$value/g; |
191 |
$newsql =~ s/$key/$value/g; |
Lines 246-253
if ( $op eq 'add_stream' ) {
Link Here
|
246 |
|
247 |
|
247 |
# Check if the SQL associated with the stream needs parameters |
248 |
# Check if the SQL associated with the stream needs parameters |
248 |
my $stream = Koha::SignStreams->find( $sign_stream_id ); |
249 |
my $stream = Koha::SignStreams->find( $sign_stream_id ); |
249 |
my $sql = get_saved_report($stream->saved_sql_id); |
250 |
my $sql = Koha::Reports->find($stream->saved_sql_id); |
250 |
if ( $sql->{'savedsql'} =~ m/WHERE/ ) { |
251 |
if ( $sql->savedsql =~ m/WHERE/ ) { |
251 |
print $cgi->redirect( $script_name . '?op=get_params&sign_to_stream_id=' . $sign_to_stream->sign_to_stream_id . '&sign_stream_id=' . $sign_stream_id . '&sign_id=' . $sign_id ); |
252 |
print $cgi->redirect( $script_name . '?op=get_params&sign_to_stream_id=' . $sign_to_stream->sign_to_stream_id . '&sign_stream_id=' . $sign_stream_id . '&sign_id=' . $sign_id ); |
252 |
} else { |
253 |
} else { |
253 |
print $cgi->redirect( $script_name . '?op=edit_streams&sign_id=' . $sign_id ); |
254 |
print $cgi->redirect( $script_name . '?op=edit_streams&sign_id=' . $sign_id ); |
Lines 256-265
if ( $op eq 'add_stream' ) {
Link Here
|
256 |
} elsif ( $op eq 'get_params' && $sign_to_stream_id ne '' && $sign_stream_id ne '' && $sign_id ne '' ) { |
257 |
} elsif ( $op eq 'get_params' && $sign_to_stream_id ne '' && $sign_stream_id ne '' && $sign_id ne '' ) { |
257 |
|
258 |
|
258 |
my $stream = Koha::SignStreams->find( $sign_stream_id ); |
259 |
my $stream = Koha::SignStreams->find( $sign_stream_id ); |
259 |
my $sql = get_saved_report($stream->saved_sql_id); |
260 |
my $sql = Koha::Reports->find($stream->saved_sql_id); |
260 |
my $params = Koha::SignsToStreams->find({ sign_to_stream_id => $sign_to_stream_id }); |
261 |
my $params = Koha::SignsToStreams->find({ sign_to_stream_id => $sign_to_stream_id }); |
261 |
# Generate SQL with added params |
262 |
# Generate SQL with added params |
262 |
my $newsql = $sql->{'savedsql'}; |
263 |
my $newsql = $sql->savedsql; |
263 |
foreach my $param ( split /&/, $params->params ) { |
264 |
foreach my $param ( split /&/, $params->params ) { |
264 |
my ( $key, $value ) = split /=|<|>/, $param; # The < and > in the split are just to prevent software errors, the sign in the query must be changed in the report itself |
265 |
my ( $key, $value ) = split /=|<|>/, $param; # The < and > in the split are just to prevent software errors, the sign in the query must be changed in the report itself |
265 |
$newsql =~ s/$key/$value/g; |
266 |
$newsql =~ s/$key/$value/g; |
Lines 302-308
if ( $op eq 'add_stream' ) {
Link Here
|
302 |
$template->param( |
303 |
$template->param( |
303 |
'streams' => \@streams, |
304 |
'streams' => \@streams, |
304 |
'signs' => \@signs, |
305 |
'signs' => \@signs, |
305 |
'reports' => get_saved_reports( { group => 'SIG' } ), |
306 |
'reports' => get_saved_reports( { group => 'SIGN' } ), |
306 |
'OPACBaseURL' => C4::Context->preference( 'OPACBaseURL' ) || '', |
307 |
'OPACBaseURL' => C4::Context->preference( 'OPACBaseURL' ) || '', |
307 |
'else' => 1 |
308 |
'else' => 1 |
308 |
); |
309 |
); |
309 |
- |
|
|