use strict;
use SL::DB::MetaSetup::Chart;
+use SL::DB::TaxKey;
+__PACKAGE__->meta->add_relationships(taxkeys => { type => 'one to many',
+ class => 'SL::DB::TaxKey',
+ column_map => { id => 'chart_id' },
+ },
+ );
+
+__PACKAGE__->meta->initialize;
__PACKAGE__->meta->make_manager_class;
+sub get_active_taxkey {
+ my ($self, $date) = @_;
+ $date ||= DateTime->today_local;
+ return SL::DB::Manager::TaxKey->get_all(where => [ and => [ chart_id => $self->id,
+ startdate => { le => $date } ] ],
+ sort_by => "startdate DESC")->[0];
+}
+
1;
+
+__END__
+
+=pod
+
+=encoding utf8
+
+=head1 NAME
+
+SL::DB::Chart - Rose database model for the "chart" table
+
+=head1 FUNCTIONS
+
+=over 4
+
+=item C<get_active_taxkey $date>
+
+Returns the active tax key object for a given date. C<$date> defaults
+to the current date if undefined.
+
+=back
+
+=head1 BUGS
+
+Nothing here yet.
+
+=head1 AUTHOR
+
+Moritz Bunkus E<lt>m.bunkus@linet-services.deE<gt>
+
+=cut