summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
97031bd)
Die Rechte sind hier entweder zu strikt oder werden erst gar nicht
überprüft. Ferner sieht die ursprüngliche SQL-Abfrage leicht buggy aus.
Dieser Commit enthebelt behandelt Wiedervorlagen für Belege so als ob
diese sichtbar für alle Benutzer sind. Ferner wird die SQL-Abfrage
konkret auf die trans_id des Belegs angewendet
my @values_user = ();
if ($params{trans_id}) {
my @values_user = ();
if ($params{trans_id}) {
- $where .= qq| AND EXISTS (SELECT * FROM follow_up_links ful
- WHERE (ful.follow_up_id = fu.id) AND (ful.trans_id = ?))|;
+ $where .= qq| AND fu.id IN (select follow_up_id from follow_up_links where trans_id = ?)|;
+ # $where .= qq| AND (ful.follow_up_id = fu.id) AND (ful.trans_id = ?))|;
+ # $where .= qq| AND EXISTS (SELECT * FROM follow_up_links ful
+ # WHERE (ful.follow_up_id = fu.id) AND (ful.trans_id = ?))|;
push @values, conv_i($params{trans_id});
}
push @values, conv_i($params{trans_id});
}
push @values, conv_i($params{created_for});
}
push @values, conv_i($params{created_for});
}
- if ($params{all_users}) {
+ if ($params{all_users} || $params{trans_id}) { # trans_id only for documents?
$where_user = qq|OR (fu.created_by IN (SELECT DISTINCT what FROM follow_up_access WHERE who = ?))|;
push @values_user, $employee_id;
}
$where_user = qq|OR (fu.created_by IN (SELECT DISTINCT what FROM follow_up_access WHERE who = ?))|;
push @values_user, $employee_id;
}