Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 01cbb526

Von Waldemar Toews vor etwa 10 Jahren hinzugefügt

  • ID 01cbb5260d4c4016bc735b469bb6c92bb5925b82
  • Vorgänger c07fe122
  • Nachfolger ff3bb5cf

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.

Unterschiede anzeigen:

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