Chart-Model: Hilfsfunktion zum Auslesen des an einem Datum gültigen Steuerschlüssels
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 9 Nov 2010 07:45:11 +0000 (08:45 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 12 Jan 2011 15:15:38 +0000 (16:15 +0100)
SL/DB/Chart.pm

index 2d865b5..42cd6c9 100644 (file)
@@ -3,7 +3,54 @@ package SL::DB::Chart;
 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