Revision 01cbb526
Von Waldemar Toews vor etwa 10 Jahren hinzugefügt
SL/CVar.pm | ||
---|---|---|
100 | 100 |
|
101 | 101 |
my $trans_id = $params{trans_id} ? 'OR (v.trans_id = ?) ' : ''; |
102 | 102 |
|
103 |
my $sub_module = $params{sub_module} ? $params{sub_module} : ''; |
|
104 |
|
|
103 | 105 |
my $q_var = |
104 | 106 |
qq|SELECT text_value, timestamp_value, timestamp_value::date AS date_value, number_value, bool_value |
105 | 107 |
FROM custom_variables |
106 |
WHERE (config_id = ?) AND (trans_id = ?)|; |
|
107 |
$q_var .= qq| AND (sub_module = ?)| if $params{sub_module}; |
|
108 |
WHERE (config_id = ?) AND (trans_id = ?) AND (sub_module = ?)|; |
|
108 | 109 |
my $h_var = prepare_query($form, $dbh, $q_var); |
109 | 110 |
|
110 | 111 |
my $custom_variables = $self->get_configs(module => $params{module}); |
... | ... | |
129 | 130 |
|
130 | 131 |
my ($act_var, $valid); |
131 | 132 |
if ($params{trans_id}) { |
132 |
my @values = (conv_i($cvar->{id}), conv_i($params{trans_id})); |
|
133 |
push @values, $params{sub_module} if $params{sub_module}; |
|
133 |
my @values = (conv_i($cvar->{id}), conv_i($params{trans_id}, $sub_module)); |
|
134 | 134 |
|
135 | 135 |
do_statement($form, $h_var, $q_var, @values); |
136 | 136 |
$act_var = $h_var->fetchrow_hashref(); |
Auch abrufbar als: Unified diff
Laden von CVars mit falschen Werten in Artikelstammdaten unterbinden.
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.