Kunden-/Lieferantenstamm: Anzeige WebDAV-Reiter
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 1 Sep 2020 14:21:21 +0000 (16:21 +0200)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 1 Sep 2020 14:21:21 +0000 (16:21 +0200)
SL/Controller/CustomerVendor.pm
SL/Webdav.pm
templates/webpages/customer_vendor/form.html

index 2c0b089..8b10f2c 100644 (file)
@@ -10,6 +10,7 @@ use SL::DBUtils;
 use SL::Helper::Flash;
 use SL::Locale::String;
 use SL::Util qw(trim);
+use SL::Webdav;
 use SL::Controller::Helper::GetModels;
 use SL::Controller::Helper::ReportGenerator;
 use SL::Controller::Helper::ParseFilter;
@@ -1046,6 +1047,21 @@ sub _pre_render {
       ],
     );
   }
+
+  if ($self->{cv}->number && $::instance_conf->get_webdav) {
+    my $webdav = SL::Webdav->new(
+      type     => $self->is_customer ? 'customer'
+                : $self->is_vendor   ? 'vendor'
+                : undef,
+      number   => $self->{cv}->number,
+    );
+    my @all_objects = $webdav->get_all_objects;
+    @{ $self->{template_args}->{WEBDAV} } = map { { name => $_->filename,
+                                                    type => t8('File'),
+                                                    link => File::Spec->catfile($_->full_filedescriptor),
+                                                } } @all_objects;
+  }
+
   $self->{template_args} ||= {};
 
   $::request->{layout}->add_javascripts('kivi.CustomerVendor.js');
index 946f2bf..c513925 100644 (file)
@@ -32,6 +32,8 @@ my %type_to_path = (
   letter                  => 'briefe',
   general_ledger          => 'dialogbuchungen',
   accounts_payable        => 'kreditorenbuchungen',
+  customer                => 'kunden',
+  vendor                  => 'lieferanten',
 );
 
 sub get_all_files {
index c53cce4..4fdc8a3 100644 (file)
@@ -26,6 +26,9 @@
       [% IF show_deliveries %]
         <li><a href="#deliveries">[% 'Supplies' | $T8 %]</a></li>
       [% END %]
+      [%- IF INSTANCE_CONF.get_webdav %]
+        <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
+      [%- END %]
       [%- IF INSTANCE_CONF.get_doc_storage %]
         <li><a href="controller.pl?action=File/list&file_type=attachment&object_type=[% FORM.db == 'vendor' ? 'vendor' : 'customer' %]&object_id=[% SELF.cv.id %]">[% 'Attachments' | $T8 %]</a></li>
       [%- END %]
@@ -64,6 +67,7 @@
     [% IF show_deliveries %]
       [% PROCESS "customer_vendor/tabs/deliveries.html" %]
     [% END %]
+    [% PROCESS 'webdav/_list.html' %]
     [% PROCESS "customer_vendor/tabs/vcnotes.html" %]
     [% IF ( cv_cvars.size ) %]
       [% PROCESS "customer_vendor/tabs/custom_variables.html" %]