Die Klasse muss ihre Daten laden, noch bevor die Datenbankupgrades
durch sind. Das bedeutet, dass gerade SL::DB::MetaSetup::Default noch
nicht dem Datenbankschema entspricht und das Laden damit fehlschlägt.
-use SL::DB::Currency;
-use SL::DB::Default;
use parent qw(Rose::Object);
use Rose::Object::MakeMethods::Generic (
use parent qw(Rose::Object);
use Rose::Object::MakeMethods::Generic (
- my $default = SL::DB::Default->get;
- my $data = { map { $_ => $default->$_ } $default->meta->columns };
- $data->{default_currency} = $default->currency ? $default->currency->name : undef;
+ my $dbh = $::form->get_standard_dbh;
+ my $data = SL::DBUtils::selectfirst_hashref_query($::form, $dbh, qq|SELECT * FROM defaults|);
+ $data->{default_currency} = (SL::DBUtils::selectfirst_array_query($::form, $dbh, qq|SELECT name FROM currencies WHERE id = ?|, $data->{currency_id}))[0] if $data->{currency_id};
return $data;
}
sub init_currencies {
return $data;
}
sub init_currencies {
- return [ map { $_->name } @{ SL::DB::Manager::Currency->get_all_sorted } ];
+ return [ map { $_->{name} } SL::DBUtils::selectall_hashref_query($::form, $::form->get_standard_dbh, qq|SELECT name FROM currencies ORDER BY id ASC|) ];