Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / SL / Dev / TimeRecording.pm
1 package SL::Dev::TimeRecording;
2
3 use strict;
4 use base qw(Exporter);
5 our @EXPORT_OK = qw(new_time_recording);
6 our %EXPORT_TAGS = (ALL => \@EXPORT_OK);
7
8 use DateTime;
9
10 use SL::DB::TimeRecording;
11
12 use SL::DB::Employee;
13 use SL::Dev::CustomerVendor qw(new_customer);
14
15
16 sub new_time_recording {
17   my (%params) = @_;
18
19   my $customer = delete $params{customer} // new_customer(name => 'Testcustomer')->save;
20   die "illegal customer" unless defined $customer && ref($customer) eq 'SL::DB::Customer';
21
22   my $employee     = $params{employee}     // SL::DB::Manager::Employee->current;
23   my $staff_member = $params{staff_member} // $employee;
24
25   my $now = DateTime->now_local;
26
27   my $time_recording = SL::DB::TimeRecording->new(
28     start_time   => $now,
29     end_time     => $now->add(hours => 1),
30     customer     => $customer,
31     description  => '<p>this and that</p>',
32     staff_member => $staff_member,
33     employee     => $employee,
34     %params,
35   );
36
37   return $time_recording;
38 }
39
40
41 1;