From 3101cdbaa88dc83ab678269544a95b38da48db5d Mon Sep 17 00:00:00 2001 From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Date: Wed, 28 Feb 2018 14:26:06 -0300 Subject: [PATCH] Bug 20298: Fix SMS characters counter when TranslateNotices is set If you have multiple languages installed, the notices and slips page uses the same HTML id multiple times, once for each language. This prevents eg. the SMS character count javascript from working, because each of the textareas has the same id. Test plan: Test the sms characters counter, with and without TranslateNotices Make sure other features on this page still work correctly QA: Make sure this change of id did not break something else. Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> --- .../intranet-tmpl/prog/en/modules/tools/letter.tt | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 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 e40fd33..fc5e66b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt @@ -301,23 +301,23 @@ <input type="hidden" name="lang" value="[% lang %]" /> <label for="is_html_[% letter.message_transport_type %]">HTML message:</label> [% IF letter.is_html %] - <input type="checkbox" name="is_html_[% letter.message_transport_type %]" id="is_html_[% letter.message_transport_type %]" value="1" checked="checked" /> + <input type="checkbox" name="is_html_[% letter.message_transport_type %]" id="is_html_[% letter.message_transport_type %]_[% lang %]" value="1" checked="checked" /> [% ELSE %] - <input type="checkbox" name="is_html_[% letter.message_transport_type %]" id="is_html_[% letter.message_transport_type %]" value="1" /> + <input type="checkbox" name="is_html_[% letter.message_transport_type %]" id="is_html_[% letter.message_transport_type %]_[% lang %]" value="1" /> [% END %] </li> <li> - <label for="title_[% letter.message_transport_type %]">Message subject:</label><input type="text" id="title_[% letter.message_transport_type %]" name="title" size="60" value="[% letter.title %]" /> + <label for="title_[% letter.message_transport_type %]">Message subject:</label><input type="text" id="title_[% letter.message_transport_type %]_[% lang %]" name="title" size="60" value="[% letter.title %]" /> </li> <li> <label for="SQLfieldname_[% letter.message_transport_type %]">Message body:</label> [% IF letter.message_transport_type == 'sms' %] - <span id="sms_counter">[% IF letter.content && letter.content.length > 0 %][% letter.content.length %][% ELSE %]0[% END %]/160 characters</span> + <span class="sms_counter" id="sms_counter_[% lang %]">[% IF letter.content && letter.content.length > 0 %][% letter.content.length %][% ELSE %]0[% END %]/160 characters</span> [% END %] <table> <tr> <td> - <select name="SQLfieldname" id="SQLfieldname_[% letter.message_transport_type %]" multiple="multiple" size="9"> + <select name="SQLfieldname" id="SQLfieldname_[% letter.message_transport_type %]_[% lang %]" multiple="multiple" size="9"> [% FOREACH SQLfieldname IN SQLfieldnames %] <option value="[% SQLfieldname.value %]">[% SQLfieldname.text %]</option> [% END %] @@ -326,7 +326,7 @@ <td class="actions"> <button type="button" data-containerid="[% letter.message_transport_type %]_[% lang %]" class="btn btn-default btn-sm insert">Insert <i class="fa fa-long-arrow-right"></i></button> </td> - <td><textarea name="content" id="content_[% letter.message_transport_type %]" cols="80" rows="15">[% letter.content %]</textarea></td> + <td><textarea name="content" data-lang="[% lang %]" class="content_[% letter.message_transport_type %]" id="content_[% letter.message_transport_type %]_[% lang %]" cols="80" rows="15">[% letter.content %]</textarea></td> </tr> </table> </li> @@ -500,13 +500,14 @@ }); var sms_limit = 160; - $("#content_sms").on("keyup", function(){ + $(".content_sms").on("keyup", function(){ var length = $(this).val().length; - $("#sms_counter").html(length + "/" + sms_limit + _(" characters")); + var sms_counter = ("#sms_counter_" + $(this).data('lang')); + $(sms_counter).html(length + "/" + sms_limit + _(" characters")); if ( length > sms_limit ) { - $("#sms_counter").css("color", "red"); + $(sms_counter).css("color", "red"); } else { - $("#sms_counter").css("color", "black"); + $(sms_counter).css("color", "black"); } }); $( ".transport-types" ).accordion({ collapsible: true, active:false, animate: 200 }); -- 2.1.4