From 07aa9777cf738d91300ebfc2c4fce7bab465a303 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bernd=20Ble=C3=9Fmann?= Date: Wed, 17 Mar 2021 09:34:31 +0100 Subject: [PATCH] Mahnungen: DMS: orig. Rechnung als eigenen Typ --- SL/Controller/File.pm | 2 +- SL/DN.pm | 2 +- bin/mozilla/dn.pl | 4 ++++ .../file_storage_type_dunning_orig_invoice.sql | 17 +++++++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 sql/Pg-upgrade2/file_storage_type_dunning_orig_invoice.sql diff --git a/SL/Controller/File.pm b/SL/Controller/File.pm index 5d2e97c67..1a244f018 100644 --- a/SL/Controller/File.pm +++ b/SL/Controller/File.pm @@ -399,7 +399,7 @@ sub _do_list { if ( $self->file_type eq 'document' ) { my @object_types; push @object_types, $self->object_type; - push @object_types, qw(dunning dunning1 dunning2 dunning3) if $self->object_type eq 'invoice'; # hardcoded object types? + push @object_types, qw(dunning dunning1 dunning2 dunning3 dunning_orig_invoice) if $self->object_type eq 'invoice'; # hardcoded object types? @files = SL::File->get_all_versions(object_id => $self->object_id, object_type => \@object_types, file_type => $self->file_type, diff --git a/SL/DN.pm b/SL/DN.pm index aa82aa927..32e3bfa6c 100644 --- a/SL/DN.pm +++ b/SL/DN.pm @@ -1226,7 +1226,7 @@ sub print_original_invoices { if ($::instance_conf->get_doc_storage) { SL::File->save( object_id => $invoice_id, - object_type => 'dunning', + object_type => 'dunning_orig_invoice', mime_type => 'application/pdf', source => 'created', file_type => 'document', diff --git a/bin/mozilla/dn.pl b/bin/mozilla/dn.pl index ec46a4788..5634c90f9 100644 --- a/bin/mozilla/dn.pl +++ b/bin/mozilla/dn.pl @@ -456,6 +456,10 @@ sub show_dunning { push @files, SL::File->get_all_versions(object_id => $ref->{id}, object_type => 'dunning', file_type => 'document',); + # object_type dunning_orig_invoice is the original dunned invoice. + push @files, SL::File->get_all_versions(object_id => $ref->{id}, + object_type => 'dunning_orig_invoice', + file_type => 'document',); if (scalar @files) { my $html = join '
', map { SL::Presenter::FileObject::file_object($_) } @files; my $text = join "\n", map { $_->file_name } @files; diff --git a/sql/Pg-upgrade2/file_storage_type_dunning_orig_invoice.sql b/sql/Pg-upgrade2/file_storage_type_dunning_orig_invoice.sql new file mode 100644 index 000000000..92ee5805d --- /dev/null +++ b/sql/Pg-upgrade2/file_storage_type_dunning_orig_invoice.sql @@ -0,0 +1,17 @@ +-- @tag: file_storage_type_dunning_orig_invoice +-- @description: original gemahnte Rechnung als valid_type für Filemanagement +-- @depends: file_storage_type_letter + +ALTER TABLE files + DROP CONSTRAINT valid_type; +ALTER TABLE files + ADD CONSTRAINT valid_type CHECK ( + (object_type = 'credit_note' ) OR (object_type = 'invoice' ) OR (object_type = 'sales_order' ) + OR (object_type = 'sales_quotation' ) OR (object_type = 'sales_delivery_order' ) OR (object_type = 'request_quotation' ) + OR (object_type = 'purchase_order' ) OR (object_type = 'purchase_delivery_order' ) OR (object_type = 'purchase_invoice' ) + OR (object_type = 'vendor' ) OR (object_type = 'customer' ) OR (object_type = 'part' ) + OR (object_type = 'gl_transaction' ) OR (object_type = 'dunning' ) OR (object_type = 'dunning1' ) + OR (object_type = 'dunning2' ) OR (object_type = 'dunning3' ) OR (object_type = 'dunning_orig_invoice' ) + OR (object_type = 'draft' ) OR (object_type = 'statement' ) OR (object_type = 'shop_image' ) + OR (object_type = 'letter' ) + ); -- 2.20.1