From b4e629345c9d77d7a66d267ae1dffda8ac63a637 Mon Sep 17 00:00:00 2001 From: Florian Bontemps Date: Fri, 4 Feb 2022 15:40:33 +0000 Subject: [PATCH] Bug 30026: SMSAlert regex fixed for international When registering a phone number for SMS alerts, the number goes through a regex filter to make sure the number is valid. One of the formats used in Europe is 00 AAA XXXXXXXXX (A = country indicator) and it is not supported. This patch adjusts the regex to either accept 00 AAA XXXXXXXXX or +AAAXXXXXXXXX in this case. (Note : +AAA and 00AAA are mutually exclusive). To test: 1) You need to have installed a SMSAlert plugin. Make sure the SMSSendDriver syspref is also set up with your SMS plugin of choice. 2) Pick a patron and edit its profile. 3) In the messaging preferences fieldset, under SMS number, enter any number with the format 00 AAA XXXXXXXXX (ie : 00111123456789). Try to save the modification : you should have an error message. 4) Try instead a number with the format +AAAXXXXXXXXX (ie : 111123456789), that one should be accepted. 5) Save your modification then check that the number has been changed. 6) Apply patch. 7) Repeat step 3 to 5. 8) Observe the error is gone. 9) Try it once more with the format +00 AAA XXXXXXXXX (+00111123456789), that format should not be accepted: this is intentional. 10) Sign off. Thanks-to: Didier Gautheron Signed-off-by: Owen Leonard Signed-off-by: Katrin Fischer --- koha-tmpl/intranet-tmpl/prog/js/members.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/members.js b/koha-tmpl/intranet-tmpl/prog/js/members.js index 7a9f844a86..9ae9c18ba8 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/members.js +++ b/koha-tmpl/intranet-tmpl/prog/js/members.js @@ -225,7 +225,7 @@ $(document).ready(function(){ $.validator.addMethod( "phone", function(value, element, phone) { - let e164_re = /^(\+[1-9]\d{0,2})?\d{1,12}$/; + let e164_re = /^((\+?|(0{2})?)?[1-9]{0,2})?\d{1,12}$/; let has_plus = value.charAt(0) === '+'; value = value.replace(/\D/g,''); if ( has_plus ) value = '+' + value; -- 2.30.2