Bug 2720: (follow-up) improve data entry form for manual restrictions
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / members / memberentrygen.tt
index 7858bf0..b158556 100644 (file)
@@ -1,4 +1,5 @@
 [% IF ( opduplicate ) %][% SET focusAction = "clearDupe" %][% END %]
+[% USE KohaDates %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Patrons &rsaquo; 
 [% IF ( opadd ) %]Add[% ELSIF ( opduplicate ) %]Duplicate[% ELSE %] Modify[% END %] [% IF ( categoryname ) %] [% categoryname %] patron[% ELSE %][% IF ( I ) %] Organization patron[% END %][% IF ( A ) %] Adult patron[% END %][% IF ( C ) %] Child patron[% END %][% IF ( P ) %] Professional patron[% END %][% IF ( S ) %] Staff patron[% END %][% END %][% UNLESS ( opadd ) %] [% surname %], [% firstname %][% END %]</title>
             }
         [% END %]
         $("#dateofbirth").datepicker({ maxDate: "-1D" });
-        $("#entryform").preventDoubleFormSubmit();
+        $("#entryform").validate({
+            submitHandler: function(form) {
+                $("body, form input[type='submit'], form button[type='submit'], form a").addClass('waiting');
+                if (form.beenSubmitted)
+                    return false;
+                else
+                    form.beenSubmitted = true;
+                    form.submit();
+                }
+        });
+
+        var mrform = $("#manual_restriction_form");
+        var mrlink = $("#add_manual_restriction");
+        mrform.hide();
+        mrlink.on("click",function(e){
+            $(this).hide();
+            mrform.show();
+            e.preventDefault();
+        });
+        $("#cancel_manual_restriction").on("click",function(e){
+            $('#debarred_expiration').val('');
+            $('#add_debarment').prop('checked', false);
+            $('#debarred_comment').val('');
+            mrlink.show();
+            mrform.hide();
+            e.preventDefault();
+        });
     });
 
     function clear_entry(node) {
                        [% FOREACH flagloo IN flagloop %]
                                <li><label class="radio" for="yes[% flagloo.name %]">
                 [% IF ( flagloo.key == 'gonenoaddress' ) %]Gone no address:[% END %]
-                               [% IF ( flagloo.key == 'debarred' ) %]Restricted:[% END %]
                 [% IF ( flagloo.key == 'lost' ) %]Lost card:[% END %]
                 </label>
                                <label for="yes[% flagloo.name %]">Yes </label>
 
             </li>
                        [% END %]
-                       <li>
-                               <label for="yesdebarred" class="radio">Restricted: </label>
-                               [% IF ( debarred ) %]
-                               <label for="yesdebarred">Yes </label>
-                               <input type="radio" id="yesdebarred" name="debarred" value="1" checked="checked"/>
-                <label for="nodebarred">No </label>
-                <input type="radio" id="nodebarred" name="debarred" value="0"/>
-                               [% ELSE %]
-                               <label for="yesdebarred">Yes </label>
-                               <input type="radio" id="yesdebarred" name="debarred" value="1" />
-                <label for="nodebarred">No </label>
-                <input type="radio" id="nodebarred" name="debarred" value="0" checked="checked"/>
-                               [% END %]
-
-                <span id="debarreduntil"><label for="datedebarred" class="inline">Until:</label>
-                <input type="text" name="datedebarred" id="datedebarred" class="debarred datepicker [% focusAction %]" value="[% datedebarred %]" />
-                <span class="hint">(optional)</span> </span>
-                </li>
-                <li>
-                       <label for="debarredcomment" class="radio">Comment:</label>
-                <textarea id="debarredcomment" name="debarredcomment" cols="55" rows="3">[% debarredcomment %]</textarea>
-               </li>
 
                        </ol>
                        </fieldset>
-    
+
+              <fieldset class="rows">
+                <legend>Patron restrictions</legend>
+
+                [% IF ( debarments.size < 1 ) %]
+                    <p>Patron is currently unrestricted.</p>
+                [% ELSE %]
+                    <table>
+                        <thead>
+                            <tr>
+                                 <th>Type</th>
+                                 <th>Comment</th>
+                                 <th>Expiration</th>
+                                 <th>Remove?</th>
+                            </tr>
+                        </thead>
+
+                        <tbody>
+                            [% FOREACH d IN debarments %]
+                                <tr>
+                                    <td>[% d.type %]</td>
+                                    <td>[% d.comment %]</td>
+                                    <td>[% IF d.expiration %] [% d.expiration | $KohaDates %] [% ELSE %] <i>Indefinite</i> [% END %]</td>
+                                    <td>
+                                        <input type="checkbox" id="debarment_[% d.borrower_debarment_id %]" name="remove_debarment" value="[% d.borrower_debarment_id %]" />
+                                    </td>
+                                </tr>
+                            [% END %]
+                        </tbody>
+                    </table>
+                [% END %]
+                    <p><a href="#" id="add_manual_restriction">Add manual restriction</a></p>
+                    <fieldset id="manual_restriction_form">
+                        <input type="hidden" id="add_debarment" name="add_debarment" value="1" />
+                        <legend>Add manual restriction</legend>
+                        <ol>
+                            <li><label for="debarred_comment">Comment: </label><input type="text" id="debarred_comment" name="debarred_comment" onchange="$('#add_debarment').prop('checked', true);" /></li>
+                            <li><label for="debarred_expiration">Expiration: </label><input name="debarred_expiration" id="debarred_expiration" size="10" readonly="readonly" value="" class="datepicker" onchange="$('#add_debarment').prop('checked', true);" />
+                                    <a href='javascript:void(0)' onclick="$('#debarred_expiration').val('');">Clear date</a></li>
+
+                        </ol>
+                        <p>
+                            <a class="cancel" id="cancel_manual_restriction" href="#" onclick="">Cancel</a>
+                        </p>
+                    </fieldset>
+            </fieldset>
                [% END %]
 
 [% END %]