From: Jan Büren Date: Tue, 22 Mar 2022 10:51:02 +0000 (+0100) Subject: Wiedervorlage für Beleg, nur sichtbar für eigenen Benutzer X-Git-Tag: kivitendo-mebil_0.1-0~10^2~2^2~109 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=f5604bfb573b9842905d051ceffb6ee6f8d89109;p=kivitendo-erp.git Wiedervorlage für Beleg, nur sichtbar für eigenen Benutzer 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 --- diff --git a/SL/FU.pm b/SL/FU.pm index b1eaf005a..822e31fe3 100644 --- a/SL/FU.pm +++ b/SL/FU.pm @@ -195,8 +195,10 @@ sub follow_ups { 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}); } @@ -251,7 +253,7 @@ sub follow_ups { 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; }