From 6a13a7dea264577e65b0ab1c1d48e39296673cb4 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Tue, 8 Jul 2025 14:43:55 +0100 Subject: [PATCH] Bug 20253: Add basket_name_source field to vendor_edi_accounts table This patch adds a new ENUM field 'basket_name_source' to the vendor_edi_accounts table to allow configuration of how basket names are generated from EDIFACT quotes. Options: - 'filename' (default): Use the EDIFACT filename as basket name - 'purchase_order_number': Use RFF+ON segment value as basket name Changes: - Added atomicupdate for existing installations - Updated kohastructure.sql for new installations --- .../bug_20253_basket_name_source.pl | 22 +++++++++++++++++++ installer/data/mysql/kohastructure.sql | 1 + 2 files changed, 23 insertions(+) create mode 100755 installer/data/mysql/atomicupdate/bug_20253_basket_name_source.pl diff --git a/installer/data/mysql/atomicupdate/bug_20253_basket_name_source.pl b/installer/data/mysql/atomicupdate/bug_20253_basket_name_source.pl new file mode 100755 index 00000000000..3e20e2cd475 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_20253_basket_name_source.pl @@ -0,0 +1,22 @@ +use Modern::Perl; +use Koha::Installer::Output qw(say_warning say_success say_info); + +return { + bug_number => "20253", + description => "Add basket naming configuration option to vendor_edi_accounts", + up => sub { + my ($args) = @_; + my ( $dbh, $out ) = @$args{qw(dbh out)}; + + unless ( column_exists( 'vendor_edi_accounts', 'basket_name_source' ) ) { + $dbh->do( + q{ + ALTER TABLE vendor_edi_accounts + ADD COLUMN `basket_name_source` ENUM('filename', 'purchase_order_number') DEFAULT 'filename' + AFTER `plugin` + } + ); + say_success( $out, "Added column 'vendor_edi_accounts.basket_name_source'" ); + } + }, +}; diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 5d7139383c2..46533de8945 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -6665,6 +6665,7 @@ CREATE TABLE `vendor_edi_accounts` ( `auto_orders` tinyint(1) NOT NULL DEFAULT 0, `shipment_budget` int(11) DEFAULT NULL, `plugin` varchar(256) NOT NULL DEFAULT '', + `basket_name_source` ENUM('filename', 'purchase_order_number') DEFAULT 'filename', PRIMARY KEY (`id`), KEY `vendorid` (`vendor_id`), KEY `shipmentbudget` (`shipment_budget`), -- 2.50.0