Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 2b6b46fe

Von Bernd Bleßmann vor fast 4 Jahren hinzugefügt

  • ID 2b6b46fefd21ebee3ddd76b499ddc0f72b893fed
  • Vorgänger a3403ac5
  • Nachfolger a422e87f

einfacher Presenter für SL::File::Object

Unterschiede anzeigen:

SL/Presenter/ALL.pm
29 29
  delivery_order              => 'SL::Presenter::DeliveryOrder',
30 30
  dunning                     => 'SL::Presenter::Dunning',
31 31
  escaped_text                => 'SL::Presenter::EscapedText',
32
  file_object                 => 'SL::Presenter::FileObject',
32 33
  invoice                     => 'SL::Presenter::Invoice',
33 34
  gl                          => 'SL::Presenter::GL',
34 35
  letter                      => 'SL::Presenter::Letter',
SL/Presenter/FileObject.pm
1
package SL::Presenter::FileObject;
2

  
3
use strict;
4

  
5
use SL::Presenter::EscapedText qw(escape is_escaped);
6

  
7
use Exporter qw(import);
8
our @EXPORT_OK = qw(file_object);
9

  
10
use Carp;
11

  
12
sub file_object {
13
  my ($file_object, %params) = @_;
14

  
15
  my $link_start  = '<a href="controller.pl?action=File/download&id=' . $file_object->id;
16
  $link_start    .= '&version=' . $file_object->version if $file_object->version;
17
  $link_start    .= '">';
18

  
19
  my $link_end    = '</a>';
20

  
21
  my $text = join '', (
22
    $params{no_link} ? '' : $link_start,
23
    escape($file_object->file_name),
24
    $params{no_link} ? '' : $link_end,
25
  );
26

  
27
  is_escaped($text);
28
}
29

  
30
1;
31

  
32

  
33
__END__
34

  
35
=pod
36

  
37
=encoding utf8
38

  
39
=head1 NAME
40

  
41
SL::Presenter::FileObject - Presenter module for SL::File::Object(s), the
42
file objects of the filemanagement. (Note, that this are not instances of
43
SL::DB::File)
44

  
45
=head1 SYNOPSIS
46

  
47
  my $file_object = SL::File->get(id => 1);
48
  my $html        = SL::Presenter::File::file_object($file_object, no_link => 1);
49

  
50
=head1 FUNCTIONS
51

  
52
=over 4
53

  
54
=item C<file_object $file_object, %params>
55

  
56
Returns a rendered version (actually an instance of
57
L<SL::Presenter::EscapedText>) of the file object
58
C<$file_object>.
59

  
60
C<%params> can include:
61

  
62
=over 2
63

  
64
=item * no_link
65

  
66
If falsish (the default) then the file name of the object will be linked
67
to the "download action" for that file.
68

  
69
=back
70

  
71
=back
72

  
73
=head1 BUGS
74

  
75
Nothing here yet.
76

  
77
=head1 AUTHOR
78

  
79
Bernd Bleßmann E<lt>bernd@kivitendo-premium.deE<gt>
80

  
81
=cut

Auch abrufbar als: Unified diff