From 01cbb5260d4c4016bc735b469bb6c92bb5925b82 Mon Sep 17 00:00:00 2001 From: Waldemar Toews Date: Fri, 7 Nov 2014 11:01:27 +0100 Subject: [PATCH] Laden von CVars mit falschen Werten in Artikelstammdaten unterbinden. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Beim Laden der CVars in Stammdaten fand die Prüfung nach 'sub_module' nicht statt. Dabei werden mehrere Datensätze zurückgeliefert und wenn mann Pech hat kann der erste Satz, der genommen wird, den Wert aus dem Auftrag oder woher auch immer haben. Die Abfrage ist jetzt geändert: Wenn der Parameter nicht übergeben wurde, dann mit Leerstring vorbelegen und immer nach 'sub_module' durchsuchen. --- SL/CVar.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SL/CVar.pm b/SL/CVar.pm index 0264d8ab0..f819d9187 100644 --- a/SL/CVar.pm +++ b/SL/CVar.pm @@ -100,11 +100,12 @@ sub get_custom_variables { my $trans_id = $params{trans_id} ? 'OR (v.trans_id = ?) ' : ''; + my $sub_module = $params{sub_module} ? $params{sub_module} : ''; + my $q_var = qq|SELECT text_value, timestamp_value, timestamp_value::date AS date_value, number_value, bool_value FROM custom_variables - WHERE (config_id = ?) AND (trans_id = ?)|; - $q_var .= qq| AND (sub_module = ?)| if $params{sub_module}; + WHERE (config_id = ?) AND (trans_id = ?) AND (sub_module = ?)|; my $h_var = prepare_query($form, $dbh, $q_var); my $custom_variables = $self->get_configs(module => $params{module}); @@ -129,8 +130,7 @@ sub get_custom_variables { my ($act_var, $valid); if ($params{trans_id}) { - my @values = (conv_i($cvar->{id}), conv_i($params{trans_id})); - push @values, $params{sub_module} if $params{sub_module}; + my @values = (conv_i($cvar->{id}), conv_i($params{trans_id}, $sub_module)); do_statement($form, $h_var, $q_var, @values); $act_var = $h_var->fetchrow_hashref(); -- 2.20.1