Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 4555e130

Von Sven Schöling vor etwa 14 Jahren hinzugefügt

  • ID 4555e1300f7ddd26d4548156360f4988d5b835ff
  • Vorgänger 5d79e14e
  • Nachfolger 94bc7ca3

Bugfix: CVar Sichtbarkeit in Projekten.

Dieser Patch behebt zwei unabhängige Bugs, die dazu geführt haben, dass CVars
für Projekte nicht bearbeitbar waren.

Der erste ist, dass CVars für Projekte nicht vom validiersystem betrofen sind,
und deshalb always_valid geflaggt sein müssen. Das zweite hat verhindert, dass
bereits bestehende invalid flags gelöscht werden, wenn ein always_valid Objekt
seine CVars speichert. Normalerweise ist das kein Problem, muss hier aber
passieren für die Backwards Kompatibilität.

Unterschiede anzeigen:

SL/CVar.pm
337 337

  
338 338
    do_statement($form, $sth, $query, @values);
339 339

  
340
    unless ($params{always_valid}) {
341
      $self->save_custom_variables_validity(trans_id => $params{trans_id}, config_id => $config->{id},
342
        validity => ($params{variables}->{"$params{name_prefix}cvar_$config->{name}$params{name_postfix}_valid"} ? 1 : 0)
343
      );
344
    };
340
    my $valid_index = "$params{name_prefix}cvar_$config->{name}$params{name_postfix}_valid";
341
    $self->save_custom_variables_validity(trans_id => $params{trans_id}, config_id => $config->{id},
342
      validity => ($params{variables}{$valid_index} || $params{always_valid} ? 1 : 0)
343
    );
345 344
  }
346 345

  
347 346
  $sth->finish();
SL/Projects.pm
189 189
  CVar->save_custom_variables('dbh'       => $dbh,
190 190
                              'module'    => 'Projects',
191 191
                              'trans_id'  => $params{id},
192
                              'variables' => $form);
192
                              'variables' => $form,
193
                              'always_valid' => 1);
193 194

  
194 195
  $dbh->commit();
195 196

  

Auch abrufbar als: Unified diff