my $form = $main::form;
- my $script = $form->{script};
-
+ my $script = $form->{script};
+ my $fragment;
my @parts;
foreach my $key (@_) {
if ($key =~ /(.*?)=(.*)/) {
if ($1 eq 'script') {
$script = $2;
+
+ } elsif ($1 eq 'fragment') {
+ $fragment = $2;
+
} else {
push @parts, $key;
}
}
}
- my $url = "${script}?" . join('&', @parts);
+ my $url = "${script}?" . join('&', @parts) . (defined $fragment ? "#$fragment" : '');
$main::lxdebug->leave_sub(2);
my $callback = build_std_url(qw(action longdescription trans_id_type input_name));
my $restriction;
- if ( $form->{trans_id_type} eq 'glid' ) {
- $restriction = "AND ( snumbers LIKE 'invnumber%' OR what_done LIKE '%Buchungsnummer%' OR snumbers LIKE 'gltransaction%' OR snumbers LIKE 'emailjournal%' ) ";
- } elsif ( $form->{trans_id_type} eq 'id' ) {
- $restriction = " AND ( snumbers NOT LIKE 'invnumber_%' AND snumbers NOT LIKE 'gltransaction%' AND snumbers NOT LIKE 'emailjournal%' AND (what_done NOT LIKE '%Buchungsnummer%' OR what_done IS null))";
+ if ( $form->{trans_id_type} eq 'glid' ) { # for invoices
+ $restriction = "AND ( snumbers LIKE 'invnumber%' OR what_done LIKE '%Buchungsnummer%' OR snumbers LIKE 'gltransaction%' OR (snumbers LIKE 'emailjournal%' AND what_done ~ 'invoice|credit_note') ) ";
+ } elsif ( $form->{trans_id_type} eq 'id' ) { # for non invoices
+ $restriction = " AND ( snumbers NOT LIKE 'invnumber_%' AND snumbers NOT LIKE 'gltransaction%' AND (what_done NOT LIKE '%Buchungsnummer%' AND what_done NOT LIKE '%invoice%' OR what_done IS null))";
} else {
$restriction = '';
};