5 use SL::DB::MetaSetup::Chart;
6 use SL::DB::Manager::Chart;
8 __PACKAGE__->meta->add_relationships(taxkeys => { type => 'one to many',
9 class => 'SL::DB::TaxKey',
10 column_map => { id => 'chart_id' },
14 __PACKAGE__->meta->initialize;
16 sub get_active_taxkey {
17 my ($self, $date) = @_;
18 $date ||= DateTime->today_local;
20 my $cache = $::request->cache("get_active_taxkey")->{$date} //= {};
21 if ($cache->{$self->id}) {
22 return $cache->{$self->id};
25 require SL::DB::TaxKey;
26 return SL::DB::Manager::TaxKey->get_all(query => [ and => [ chart_id => $self->id,
27 startdate => { le => $date } ] ],
28 sort_by => "startdate DESC")->[0];
41 SL::DB::Chart - Rose database model for the "chart" table
47 =item C<get_active_taxkey $date>
49 Returns the active tax key object for a given date. C<$date> defaults
50 to the current date if undefined.
60 Moritz Bunkus E<lt>m.bunkus@linet-services.deE<gt>