Bug 22862: (QA follow-up) Make regexes match
[koha-equinox.git] / koha-tmpl / opac-tmpl / bootstrap / en / modules / opac-messaging.tt
index ed7d468..fdd5571 100644 (file)
@@ -1,6 +1,6 @@
 [% USE Koha %]
 [% INCLUDE 'doc-head-open.inc' %]
-<title>[% IF ( LibraryNameTitle ) %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %][% ELSE %]Koha online[% END %] catalog &rsaquo; Your messaging settings</title>
+<title>[% IF ( LibraryNameTitle ) %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %][% ELSE %]Koha online[% END %] catalog &rsaquo; Your messaging settings</title>
 [% INCLUDE 'doc-head-close.inc' %]
 [% BLOCK cssinclude %][% END %]
 </head>
@@ -10,7 +10,7 @@
 <div class="main">
     <ul class="breadcrumb">
         <li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">&rsaquo;</span></li>
-        <li><a href="/cgi-bin/koha/opac-user.pl">[% BORROWER_INFO.firstname %] [% BORROWER_INFO.surname %]</a> <span class="divider">&rsaquo;</span></li>
+        <li><a href="/cgi-bin/koha/opac-user.pl">[% INCLUDE 'patron-title.inc' patron = logged_in_user %]</a> <span class="divider">&rsaquo;</span></li>
         <li><a href="#">Your messaging settings</a></li>
     </ul>
 
@@ -39,7 +39,7 @@
                                         [% IF ( SMSSendDriver ) %]<th>SMS</th>[% END %]
                                         [% IF ( TalkingTechItivaPhone ) %]<th>Phone</th>[% END %]
                                         <th>Email</th>
-                                        <th>Digests only <i id="info_digests" data-toggle="tooltip" title="You can ask for a digest to reduce the number of messages. Messages will be saved and sent as a single message." data-placement="right" class="icon icon-info-sign"></i></th>
+                                        <th>Digests only <i id="info_digests" data-toggle="tooltip" title="You can ask for a digest to reduce the number of messages. Messages will be saved and sent as a single message." data-placement="right" class="fa fa-info-circle"></i></th>
                                         <!-- <th>RSS</th> --><th>Do not notify</th>
                                     </tr>
                                 </thead>
                                               [% ELSIF ( messaging_preference.Item_Checkout ) %]Item checkout
                                               [% ELSE %]Unknown [% END %]</td>
                                         [% IF ( messaging_preference.takes_days ) %]
-                                            <td><select class="input-mini" name="[% messaging_preference.message_attribute_id %]-DAYS">
+                                            <td><select class="input-mini" name="[% messaging_preference.message_attribute_id | html %]-DAYS">
                                             [% FOREACH select_day IN messaging_preference.select_days %]
                                                 [% IF ( select_day.selected ) %]
-                                                    <option value="[% select_day.day %]" selected="selected">[% select_day.day %]</option>
+                                                    <option value="[% select_day.day | html %]" selected="selected">[% select_day.day | html %]</option>
                                                 [% ELSE %]
-                                                    <option value="[% select_day.day %]">[% select_day.day %]</option>
+                                                    <option value="[% select_day.day | html %]">[% select_day.day | html %]</option>
                                                 [% END %]
                                             [% END %]
                                             </select></td>
                                         [% ELSE %]
                                             <td>-</td>
                                         [% END %]
-                                        [% IF ( messaging_preference.transport_sms ) %]
-                                            [% IF ( SMSSendDriver ) %]
+                                        [% IF ( SMSSendDriver ) %]
+                                            [% IF ( messaging_preference.transport_sms ) %]
                                                 <td>
                                                     [% IF ( messaging_preference.transports_sms ) %]
-                                                      <input type="checkbox" id="sms[% messaging_preference.message_attribute_id %]" name="[% messaging_preference.message_attribute_id %]" value="sms" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id %].checked=false;" />
+                                                      <input type="checkbox" id="sms[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="sms" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
                                                     [% ELSE %]
-                                                        <input type="checkbox" id="sms[% messaging_preference.message_attribute_id %]" name="[% messaging_preference.message_attribute_id %]" value="sms" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id %].checked=false;" />
+                                                        <input type="checkbox" id="sms[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="sms" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
                                                     [% END %]
                                                 </td>
+                                            [% ELSE %]
+                                                <td>-</td>
                                             [% END %]
                                         [% END %]
                                         [% IF ( TalkingTechItivaPhone ) %]
+                                            [% IF ( messaging_preference.transport_phone ) %]
                                             <td>
                                               [% IF ( messaging_preference.transports_phone ) %]
                                               <input type="checkbox"
-                                                         id="phone[% messaging_preference.message_attribute_id %]"
-                                                         name="[% messaging_preference.message_attribute_id %]"
-                                                         value="phone" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id %].checked=false;" />
+                                                         id="phone[% messaging_preference.message_attribute_id | html %]"
+                                                         name="[% messaging_preference.message_attribute_id | html %]"
+                                                         value="phone" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
                                               [% ELSE %]
                                               <input type="checkbox"
-                                                         id="phone[% messaging_preference.message_attribute_id %]"
-                                                         name="[% messaging_preference.message_attribute_id %]"
-                                                         value="phone" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id %].checked=false;" />
+                                                         id="phone[% messaging_preference.message_attribute_id | html %]"
+                                                         name="[% messaging_preference.message_attribute_id | html %]"
+                                                         value="phone" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
                                               [% END %]
                                             </td>
+                                            [% ELSE %]
+                                                <td>-</td>
+                                            [% END %]
                                         [% END %]
 
                                         [% IF ( messaging_preference.transport_email ) %]
                                             <td>
                                                 [% IF ( messaging_preference.transports_email ) %]
-                                                    <input type="checkbox" id="email[% messaging_preference.message_attribute_id %]" name="[% messaging_preference.message_attribute_id %]" value="email" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id %].checked=false;" />
+                                                    <input type="checkbox" id="email[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="email" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
                                                 [% ELSE %]
-                                                    <input type="checkbox" id="email[% messaging_preference.message_attribute_id %]" name="[% messaging_preference.message_attribute_id %]" value="email" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id %].checked=false;" />
+                                                    <input type="checkbox" id="email[% messaging_preference.message_attribute_id | html %]" name="[% messaging_preference.message_attribute_id | html %]" value="email" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
                                                 [% END %]
                                             </td>
                                         [% ELSE %]
                                         [% IF ( messaging_preference.has_digest ) %]
                                             <td>
                                                 [% IF ( messaging_preference.digest ) %]
-                                                    <input type="checkbox" id="digest[% messaging_preference.message_attribute_id %]" value="[% messaging_preference.message_attribute_id %]" name="digest" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id %].checked=false;" />
+                                                    <input type="checkbox" id="digest[% messaging_preference.message_attribute_id | html %]" value="[% messaging_preference.message_attribute_id | html %]" name="digest" checked="checked" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
                                                 [% ELSE %]
-                                                    <input type="checkbox" id="digest[% messaging_preference.message_attribute_id %]" value="[% messaging_preference.message_attribute_id %]" name="digest" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id %].checked=false;" />
+                                                    <input type="checkbox" id="digest[% messaging_preference.message_attribute_id | html %]" value="[% messaging_preference.message_attribute_id | html %]" name="digest" onclick = "document.opacmessaging.none[% messaging_preference.message_attribute_id | html %].checked=false;" />
                                                 [% END %]
                                             </td>
                                         [% ELSE %]
                                         <td>-</td>
                                         [% END %]
 
-                                        <td><input type="checkbox" class="none" id="none[% messaging_preference.message_attribute_id %]" /></td>
+                                        <td><input type="checkbox" class="none" id="none[% messaging_preference.message_attribute_id | html %]" /></td>
                                     </tr>
                                 [% END # / FOREACH messaging_preferences%]
                             </tbody>
                             [% IF ( SMSSendDriver ) %]
                                 <ol><li><label>Notice:</label>Some charges for text messages may be incurred when using this service. Please check with your mobile service provider if you have questions.</li></ol>
                                 <ol><li>
-                                    <label for="SMSnumber">SMS number:</label> <input type="text" id="SMSnumber" name="SMSnumber" value="[% SMSnumber %]" />
+                                    <label for="SMSnumber">SMS number:</label> <input type="text" id="SMSnumber" name="SMSnumber" value="[% SMSnumber | html %]" pattern="^\+?[1-9]\d{1,14}$" />
                                     <i>Please enter numbers only. <b>(123) 456-7890</b> would be entered as <b>1234567890</b>.</i>
                                 </li></ol>
                             [% END %]
                             [% IF ( SMSSendDriver == 'Email' ) %]
                                 <ol><li>
                                     <label for="sms_provider_id">SMS provider:</label>
-                                    <select id="sms_provider_id" name="sms_provider_id"/>
+                                    <select id="sms_provider_id" name="sms_provider_id">
                                         <option value="">Unknown</option>
                                         [% FOREACH s IN sms_providers %]
                                             [% IF s.id == sms_provider_id %]
-                                                <option value="[% s.id %]" selected="selected">[% s.name %]</option>
+                                                <option value="[% s.id | html %]" selected="selected">[% s.name | html %]</option>
                                             [% ELSE %]
-                                                <option value="[% s.id %]">[% s.name %]</option>
+                                                <option value="[% s.id | html %]">[% s.name | html %]</option>
                                             [% END %]
                                         [% END %]
                                     </select>
 
 [% INCLUDE 'opac-bottom.inc' %]
 [% BLOCK jsinclude %]
-<script type="text/javascript">//<![CDATA[
+<script>//<![CDATA[
   $(document).ready(function(){
     $(".none").click(function(){
       if($(this).attr("checked")){
     });
     $("#info_digests").tooltip();
   });
+
+function normalizeSMS(value){
+  let has_plus = value.charAt(0) === '+';
+  let new_value = value.replace(/\D/g,'');
+  if ( has_plus ) new_value = '+' + new_value;
+  return new_value;
+}
+
+var sms_input = document.getElementById('SMSnumber');
+
+sms_input.addEventListener('keyup', function(){
+  var field = sms_input.value;
+  sms_input.value = normalizeSMS(field);
+});
+
+sms_input.addEventListener('paste', function(event) {
+  let paste = (event.clipboardData || window.clipboardData).getData('text');
+  setTimeout(function () {
+    sms_input.value = normalizeSMS(paste);
+  }, 100);
+});
+
 //]]>
 </script>
 [% END %]