From dcc8bfbe54329c61770add01f0e652956a14cbd2 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 --- 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 dda6fe2dd1f..ba988d2a2e7 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 764825b3a54..ddcbefddb6c 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 -- 2.53.0