From 7c6934f845c4ce370b257b6f510db5f2ad306d4e Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Wed, 11 Sep 2024 10:40:17 +0000 Subject: [PATCH] Bug 37891: Submit SMS related data even if SMSSendDriver is empty. The bug is caused by the SMS data not being submitted as its fieldset is disabled if SMSSendDriver is empty. This causes the SMS instance of the notice to not be updated when the edit happens, becoming out of sync. Once it becomes out of sync with the other notices of same code but different transport_type, the 'GROUP BY branchcode,module,code,name,branchname' in letter.pl will fail, as the name no longer matches, listing the same notice twice on the notices table. This patch updates the logic on the template to have the SMS input elements be disabled/readonly instead of having disabled='disabled' on the SMS fieldset. This keeps the same functionality i.e. staff member is unable to edit SMS notice if SMSSendDriver is disabled, but ensures that SMS related data is submitted to the controller when the notice edit save happens. Test plan: 1) Visit notices and slips: /cgi-bin/koha/tools/letter.pl 2) Search for a notice code e.g. 'ILL_REQUEST_UPDATE'. 3) Notice only one result is returned. Click 'Edit'. 4) Edit the 'Name'. Click 'Save'. 5) Repeat 2. Notice two results are now returned. 6) Apply patch. Repeat test plan. Notice only one result is returned at the end. Signed-off-by: Jason Robb Amended-by: Jonathan Druart Align Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize --- .../prog/en/modules/tools/letter.tt | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt index abc1402005..5b737953d5 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt @@ -617,12 +617,11 @@ [% END %] [% END %] [% WRAPPER accordion_panel panel_id="${letter.message_transport_type}_${lang}" %] - [% IF letter.message_transport_type == "sms" and not Koha.Preference("SMSSendDriver") %] -
+ [% SET sms_readonly = letter.message_transport_type == "sms" and not Koha.Preference("SMSSendDriver") %] +
+ [% IF sms_readonly %]
You should enable the SMSSendDriver preference to use the SMS templates.
- [% ELSE %] -
- [% END %] + [% END %]
    @@ -641,39 +640,42 @@
  1. [% IF letter.is_html %] - + [% ELSE %] - + [% END %]
  2. - + +
  3. [% IF letter.message_transport_type == 'sms' %] - - [% IF letter.content && letter.content.length > 0 %] - [% tx("{content_length} / 160 characters", {content_length = letter.content.length} ) %] - [% ELSE %] - [% tx("{content_length} / 160 characters", {content_length = 0} ) %] - [% END %] - + [% IF !sms_readonly %] + + [% IF letter.content && letter.content.length > 0 %] + [% tx("{content_length} / 160 characters", {content_length = letter.content.length} ) %] + [% ELSE %] + [% tx("{content_length} / 160 characters", {content_length = 0} ) %] + [% END %] + + [% END %] [% END %]
    - [% FOREACH SQLfieldname IN SQLfieldnames %] [% END %] - + - +
    -- 2.39.5