Anzahlungs-Rg.: files und Webdav-Zuordnungen für neue Typen
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Wed, 5 Jan 2022 13:57:12 +0000 (14:57 +0100)
committerJan Büren <jan@kivitendo.de>
Mon, 14 Feb 2022 12:54:09 +0000 (13:54 +0100)
SL/Controller/File.pm
SL/File/Backend/Webdav.pm
SL/Webdav.pm
sql/Pg-upgrade2/file_storage_partial_invoices.sql [new file with mode: 0644]

index 7cd9406..77e1d9b 100644 (file)
@@ -59,6 +59,8 @@ my %file_types = (
   'sales_order'             => { gen => 5, gltype => '',   dir =>'SalesOrder',           model => 'Order',          right => 'import_ar'  },
   'sales_delivery_order'    => { gen => 1, gltype => '',   dir =>'SalesDeliveryOrder',   model => 'DeliveryOrder',  right => 'import_ar'  },
   'invoice'                 => { gen => 1, gltype => 'ar', dir =>'SalesInvoice',         model => 'Invoice',        right => 'import_ar'  },
+  'invoice_for_advance_payment' => { gen => 1, gltype => 'ar', dir =>'SalesInvoice',     model => 'Invoice',        right => 'import_ar'  },
+  'final_invoice'           => { gen => 1, gltype => 'ar', dir =>'SalesInvoice',         model => 'Invoice',        right => 'import_ar'  },
   'credit_note'             => { gen => 1, gltype => '',   dir =>'CreditNote',           model => 'Invoice',        right => 'import_ar'  },
   'request_quotation'       => { gen => 7, gltype => '',   dir =>'RequestForQuotation',  model => 'Order',          right => 'import_ap'  },
   'purchase_order'          => { gen => 7, gltype => '',   dir =>'PurchaseOrder',        model => 'Order',          right => 'import_ap'  },
index 2956e03..9721dfc 100644 (file)
@@ -121,6 +121,8 @@ my %type_to_path = (
   purchase_delivery_order => 'einkaufslieferscheine',
   credit_note             => 'gutschriften',
   invoice                 => 'rechnungen',
+  invoice_for_advance_payment => 'rechnungen',
+  final_invoice           => 'rechnungen',
   purchase_invoice        => 'einkaufsrechnungen',
   part                    => 'waren',
   service                 => 'dienstleistungen',
@@ -143,6 +145,8 @@ my %type_to_model = (
   purchase_delivery_order => 'DeliveryOrder',
   credit_note             => 'Invoice',
   invoice                 => 'Invoice',
+  invoice_for_advance_payment => 'Invoice',
+  final_invoice           => 'Invoice',
   purchase_invoice        => 'PurchaseInvoice',
   part                    => 'Part',
   service                 => 'Part',
index 0b27d7d..474041a 100644 (file)
@@ -25,6 +25,8 @@ my %type_to_path = (
   purchase_delivery_order => 'einkaufslieferscheine',
   credit_note             => 'gutschriften',
   invoice                 => 'rechnungen',
+  invoice_for_advance_payment => 'rechnungen',
+  final_invoice           => 'rechnungen',
   purchase_invoice        => 'einkaufsrechnungen',
   part                    => 'waren',
   service                 => 'dienstleistungen',
diff --git a/sql/Pg-upgrade2/file_storage_partial_invoices.sql b/sql/Pg-upgrade2/file_storage_partial_invoices.sql
new file mode 100644 (file)
index 0000000..7fed883
--- /dev/null
@@ -0,0 +1,18 @@
+-- @tag: file_storage_partial_invoices
+-- @description: Dateispeicher auch für Anzahlungs- und Schlussrechnung
+-- @depends: file_storage_project
+
+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 = 'dunning_invoice' ) OR (object_type = 'draft'                   ) OR (object_type = 'statement'            )
+          OR (object_type = 'shop_image'      ) OR (object_type = 'letter'                  ) OR (object_type = 'project'              )
+          OR (object_type = 'invoice_for_advance_payment') OR (object_type = 'final_invoice')
+  );