From a92e6ef8ea93e39c9759f88df85c39756f826bbe Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Mon, 9 Feb 2026 11:55:19 +0000 Subject: [PATCH] Bug 41798: Fix FTP passive mode not saving and add display indicator The FTP passive mode setting was not being saved due to a typo in the parameter name ('passiv' instead of 'passive'). This fixes the typo and adds display of passive mode status in the transports table. Test plan: 1. Go to Administration > File transports 2. Click "New file transport" 3. Fill in the name (e.g., "Test FTP") 4. Change Transport to "FTP" 5. Set Passive mode to "Enabled (Recommended)" 6. Fill in required fields (host, username, etc.) and save 7. Edit the transport you just created 8. Verify Passive mode is still set to "Enabled" (not reverted to Disabled) 9. Return to the file transports list 10. Verify the Transport column shows "FTP (passive)" for this transport 11. Edit the transport and change Passive mode to "Disabled" 12. Save and return to the list 13. Verify the Transport column now shows just "FTP" (without the passive indicator) Signed-off-by: Martin Renvoize Signed-off-by: Paul Derscheid Signed-off-by: Lucas Gass --- admin/file_transports.pl | 4 ++-- .../intranet-tmpl/prog/en/modules/admin/file_transports.tt | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/admin/file_transports.pl b/admin/file_transports.pl index dda6fe2dd1..ba988d2a2e 100755 --- a/admin/file_transports.pl +++ b/admin/file_transports.pl @@ -49,7 +49,7 @@ if ( $op eq 'cud-add' ) { my $host = $input->param('host') || 'localhost'; my $port = $input->param('port') || 22; my $transport = $input->param('transport') || 'sftp'; - my $passive = ( scalar $input->param('passiv') ) ? 1 : 0; + my $passive = ( scalar $input->param('passive') ) ? 1 : 0; my $auth_mode = $input->param('auth_mode') || 'password'; my $user_name = $input->param('user_name') || undef; my $password = $input->param('password') || undef; @@ -139,7 +139,7 @@ if ( $op eq 'cud-add' ) { my $host = $input->param('host') || 'localhost'; my $port = $input->param('port') || 22; my $transport = $input->param('transport') || 'sftp'; - my $passive = ( scalar $input->param('passiv') ) ? 1 : 0; + my $passive = ( scalar $input->param('passive') ) ? 1 : 0; my $auth_mode = $input->param('auth_mode') || 'password'; my $user_name = $input->param('user_name') || undef; my $password = $input->param('password') || undef; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/file_transports.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/file_transports.tt index 764825b3a5..ddcbefddb6 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/file_transports.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/file_transports.tt @@ -502,7 +502,11 @@ { "data": "transport", "render": function(data, type, row, meta) { - return data.toUpperCase(); + var transport = data.toUpperCase(); + if (data == "ftp" && row.passive == 1) { + transport += " [% tp('FTP connection mode', '(passive)') %]"; + } + return transport; }, "searchable": true, "orderable": false