Dateimanagement: Basiserweiterung
[kivitendo-erp.git] / SL / Dev / File.pm
1 package SL::Dev::File;
2
3 use strict;
4 use base qw(Exporter);
5 our @EXPORT = qw(create_scanned create_uploaded create_created get_all_count get_all get_all_versions delete_all);
6
7 use SL::DB::File;
8
9 sub create_scanned {
10   my (%params) = @_;
11   $params{source}    = 'scanner1';
12   $params{file_type} = 'document';
13   $params{file_path} = '/var/tmp/'.$params{file_name} if !$params{file_path};
14   open(OUT,"> ".$params{file_path});
15   print OUT $params{file_contents};
16   close(OUT);
17   delete $params{file_contents};
18   my $file = _create_file(%params);
19   unlink($params{file_path});
20   return $file;
21 }
22
23 sub create_uploaded {
24   my (%params) = @_;
25   $params{source}    = 'uploaded';
26   $params{file_type} = 'attachment';
27   return _create_file(%params);
28 }
29
30 sub create_created {
31   my (%params) = @_;
32   $params{source}    = 'created';
33   $params{file_type} = 'document';
34   return _create_file(%params);
35 }
36
37 sub _create_file {
38   my (%params) = @_;
39
40   my $fileobj = SL::File->save(
41     object_id          => 1,
42     object_type        => 'sales_order',
43     mime_type          => 'text/plain',
44     description        => 'Test File',
45     file_type          => $params{file_type},
46     source             => $params{source},
47     file_name          => $params{file_name},
48     file_contents      => $params{file_contents},
49     file_path          => $params{file_path}
50   );
51   return $fileobj;
52 }
53
54 sub get_all_count {
55   my ($class,%params) = @_;
56   $params{object_id}   = 1;
57   $params{object_type} = 'sales_order';
58   return SL::File->get_all_count(%params);
59 }
60
61 sub get_all {
62   my ($class,%params) = @_;
63   $params{object_id}   = 1;
64   $params{object_type} = 'sales_order';
65   SL::File->get_all(%params);
66 }
67
68 sub get_all_versions {
69   my ($class,%params) = @_;
70   $params{object_id}   = 1;
71   $params{object_type} = 'sales_order';
72   SL::File->get_all_versions(%params);
73 }
74
75 sub delete_all {
76   my ($class,%params) = @_;
77   $params{object_id}   = 1;
78   $params{object_type} = 'sales_order';
79   SL::File->delete_all(%params);
80 }
81 1;
82
83 __END__
84
85 =head1 NAME
86
87 SL::Dev::File - create file objects for testing, with minimal defaults
88
89 =head1 FUNCTIONS
90
91 =head2 C<create_scanned %PARAMS>
92
93 =head2 C<create_uploaded %PARAMS>
94
95 =head2 C<create_created %PARAMS>
96
97 =head2 C<delete_all>
98
99 =head1 AUTHOR
100
101 Martin Helmling E<lt>martin.helmling@opendynamic.deE<gt>
102
103 =cut