X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44..53593baa211863fbf66540cf1bcc36c8fb37257f:/SL/Dev/TimeRecording.pm diff --git a/SL/Dev/TimeRecording.pm b/SL/Dev/TimeRecording.pm new file mode 100644 index 000000000..825472f81 --- /dev/null +++ b/SL/Dev/TimeRecording.pm @@ -0,0 +1,41 @@ +package SL::Dev::TimeRecording; + +use strict; +use base qw(Exporter); +our @EXPORT_OK = qw(new_time_recording); +our %EXPORT_TAGS = (ALL => \@EXPORT_OK); + +use DateTime; + +use SL::DB::TimeRecording; + +use SL::DB::Employee; +use SL::Dev::CustomerVendor qw(new_customer); + + +sub new_time_recording { + my (%params) = @_; + + my $customer = delete $params{customer} // new_customer(name => 'Testcustomer')->save; + die "illegal customer" unless defined $customer && ref($customer) eq 'SL::DB::Customer'; + + my $employee = $params{employee} // SL::DB::Manager::Employee->current; + my $staff_member = $params{staff_member} // $employee; + + my $now = DateTime->now_local; + + my $time_recording = SL::DB::TimeRecording->new( + start_time => $now, + end_time => $now->add(hours => 1), + customer => $customer, + description => '
this and that
', + staff_member => $staff_member, + employee => $employee, + %params, + ); + + return $time_recording; +} + + +1;