Bug 28786: Two-factor authentication for staff client - TOTP
[koha-ffzg.git] / koha-tmpl / intranet-tmpl / prog / en / includes / members-toolbar.inc
index 9acdf90..0466779 100644 (file)
-<div id="toolbar">
-       <script type="text/javascript">
-       //<![CDATA[
+[% INCLUDE 'blocking_errors.inc' %]
+[% USE Koha %]
+[% USE Branches %]
+[% USE Categories %]
+[% USE AuthorisedValues %]
+[% USE scalar %]
+<div id="toolbar" class="btn-toolbar">
+    [% IF CAN_user_borrowers_edit_borrowers %]
+        <a id="editpatron" class="btn btn-default" href="/cgi-bin/koha/members/memberentry.pl?op=modify&amp;destination=circ&amp;borrowernumber=[% patron.borrowernumber | html %]"><i class="fa fa-pencil"></i> Edit</a>
+    [% END %]
 
-function confirm_deletion() {
-    var is_confirmed = window.confirm(_('Are you sure you want to delete this patron? This cannot be undone.'));
-    if (is_confirmed) {
-            window.location='/cgi-bin/koha/members/deletemem.pl?member=[% borrowernumber %]';
-    }
-}
-function confirm_updatechild() {
-    var is_confirmed = window.confirm(_('Are you sure you want to update this child to an Adult category?  This cannot be undone.'));
-
-    if (is_confirmed) {
-            window.location='/cgi-bin/koha/members/update-child.pl?op=update&borrowernumber=[% borrowernumber %]&catcode=[% catcode %]&catcode_multi=[% CATCODE_MULTI %]';
-    }
-}
-
-function confirm_reregistration() {
-    var is_confirmed = window.confirm(_('Are you sure you want to renew this patron\'s registration?'));
-    if (is_confirmed) {
-    window.location='/cgi-bin/koha/members/moremember.pl?reregistration=y&borrowernumber=[% borrowernumber %]';
-    }
-}
-
-function update_child() {
-[% IF ( CATCODE_MULTI ) %]
- window.open('update-child.pl?op=multi&borrowernumber=[% borrowernumber %]','UpdateChild','width=400,height=300,toolbar=no,scrollbars=yes,resizable=yes');
-[% ELSE %]
- confirm_updatechild();
-[% END %]
-}
+    [% IF CAN_user_borrowers_edit_borrowers %]
+        [% IF patron.is_adult AND Koha.Preference("borrowerRelationship") %]
+            <a id="addchild" class="btn btn-default" href="/cgi-bin/koha/members/memberentry.pl?op=add&amp;guarantor_id=[% patron.borrowernumber | html %]&amp;category_type=C"><i class="fa fa-plus"></i> Add guarantee</a>
+        [% END %]
+        <a id="changepassword" class="btn btn-default" href="/cgi-bin/koha/members/member-password.pl?member=[% patron.borrowernumber | html %]"><i class="fa fa-lock"></i> Change password</a>
+        <a id="duplicate" class="btn btn-default" href="/cgi-bin/koha/members/memberentry.pl?op=duplicate&amp;borrowernumber=[% patron.borrowernumber | html %]"><i class="fa fa-copy"></i> Duplicate</a>
+    [% END %]
 
-       // prepare DOM for YUI Toolbar
+    [% IF CAN_user_circulate_circulate_remaining_permissions %]
+    <div class="btn-group">
+        <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><i class="fa fa-print"></i> Print <span class="caret"></span></button>
+            <ul class="dropdown-menu">
+                <li><a id="printsummary" href="#">Print summary</a></li>
+                <li><a id="printslip" href="#">Print slip</a></li>
+                <li><a id="printquickslip" href="#">Print quick slip</a></li>
+                [% IF patron.has_overdues %]
+                    <li><a id="print_overdues" href="#">Print overdues</a></li>
+                [% END %]
+                <li><a id="printcheckinslip" href="#">Print checkin slip</a></li>
+            </ul>
+    </div>
+    [% END %]
 
-        $(document).ready(function() {
-           $("#printslip,#patronflags,#deletepatron").parent().remove();
-               $("#moremenuc,#printmenuc,#searchtoholdc").empty();
-           yuiToolbar();
-        });
+    [% IF ( CAN_user_reserveforothers ) %]
+        <a id="searchtohold" class="btn btn-default" href="#"><i class="fa fa-search"></i> Search to hold</a>
+    [% END %]
 
-       // YUI Toolbar Functions
-       function printx_window(print_type) {
-               window.open("/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]&amp;print=" + print_type, "printwindow");
-               return false;
-       }
-       function searchToHold(){
-               var date = new Date();
-               date.setTime(date.getTime() + (10 * 60 * 1000));
-           $.cookie("holdfor", "[% borrowernumber %]", { path: "/", expires: date });
-           location.href="/cgi-bin/koha/catalogue/search.pl";
-       }
-       function yuiToolbar() {
-           var printmenu = [
-            { text: _("Print summary"), onclick: {fn: function(){printx_window("page")}} },
-            { text: _("Print slip"), onclick: {fn: function(){printx_window("slip")}} },
-            { text: _("Print quick slip"), onclick: {fn: function(){printx_window("qslip")}} }
-           ];
+    <a id="addnewmessageLabel" href="#add_message_form" data-toggle="modal" class="btn btn-default"><i class="fa fa-comment-o"></i> Add message</a>
 
-               var moremenu = [
-            { text: _("Renew patron"),  onclick: { fn: confirm_reregistration } },
-            { text: _("Set permissions"), url: "/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]"[% UNLESS ( CAN_user_permissions ) %], disabled: true[% END %]},
-                       { text: _("Delete"), onclick: { fn: confirm_deletion}[% UNLESS ( CANDELETEUSER ) %], disabled: true[% END %] },
-            { text: _("Update child to adult patron") , onclick: { fn: update_child }[% UNLESS ( is_child ) %], disabled: true[% END %]}
-               ];
+         <div class="btn-group">
+        <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">More <span class="caret"></span></button>
+            <ul class="dropdown-menu dropdown-menu-right">
+                [% IF CAN_user_borrowers_edit_borrowers %]
+                    <li><a id="renewpatron" href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% patron.borrowernumber | html %]&amp;destination=[% destination | html %]&amp;reregistration=y">Renew patron</a></li>
+                [% ELSE %]
+                    <li class="disabled"><a data-toggle="tooltip" data-placement="left" title="You are not authorized to renew patrons" id="renewpatron" href="#">Renew patron</a></li>
+                [% END %]
+                [% IF ( CAN_user_permissions ) %]
+                    <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=[% patron.borrowernumber | html %]">Set permissions</a></li>
+                [% ELSE %]
+                    <li class="disabled"><a data-toggle="tooltip" data-placement="left" title="You are not authorized to set permissions" id="patronflags" href="#">Set permissions</a></li>
+                [% END %]
 
-           new YAHOO.widget.Button({
-               type: "menu",
-               label: _("Print"),
-               name: "printmenubutton",
-               menu: printmenu,
-               container: "printmenuc"
-           });
+                [% IF Koha.Preference('TwoFactorAuthentication') && logged_in_user.borrowernumber == patron.borrowernumber %]
+                    <li><a id="twofa" href="/cgi-bin/koha/members/two_factor_auth.pl">Manage two-factor authentication</a></li>
+                [% END %]
 
-           new YAHOO.widget.Button({
-               id: "searchtohold",
-               type: "button",
-               label: _("Search to hold"),
-               container: "searchtoholdc",
-                       onclick: {fn: searchToHold }
-               });
+                [% IF CAN_user_borrowers_edit_borrowers && useDischarge %]
+                    <li><a href="/cgi-bin/koha/members/discharge.pl?borrowernumber=[% patron.borrowernumber | uri %]">Discharge</a></li>
+                [% END %]
 
-           new YAHOO.widget.Button({
-               type: "menu",
-               label: _("More"),
-               name: "moremenubutton",
-               menu: moremenu,
-               container: "moremenuc"
-           });
+                [% IF Koha.Preference('RESTOAuth2ClientCredentials') %]
+                    [% IF CAN_user_superlibrarian OR loggedinusernumber == patron.borrowernumber %]
+                        <li><a id="apikeys" href="/cgi-bin/koha/members/apikeys.pl?patron_id=[% patron.borrowernumber | html %]">Manage API keys</a></li>
+                    [% ELSE %]
+                        <li class="disabled"><a data-toggle="tooltip" data-placement="left" title="You are not authorized to manage API keys" id="apikeys" href="#">Manage API keys</a></li>
+                    [% END %]
+                [% END %]
 
-           [% IF ( adultborrower ) %]new YAHOO.widget.Button("addchild");[% END %]
-           new YAHOO.widget.Button("editpatron");
-           new YAHOO.widget.Button("addnote");
-            [% IF CAN_user_borrowers %]new YAHOO.widget.Button("changepassword");  [% END %]
-           new YAHOO.widget.Button("duplicate");
-           new YAHOO.widget.Button("printslip");
-               new YAHOO.widget.Button("printpage");
-       }
+                [% IF CAN_user_borrowers_edit_borrowers %]
+                    <li><a id="sendwelcome" href="/cgi-bin/koha/members/notices.pl?borrowernumber=[% patron.borrowernumber | uri %]&op=send_welcome">Send welcome email</a></li>
+                [% END %]
 
-       //]]>
+                [% IF CAN_user_borrowers_delete_borrowers %]
+                    <li><a id="deletepatron" href="#">Delete</a></li>
+                [% ELSE %]
+                    <li class="disabled"><a data-toggle="tooltip" data-placement="left" title="You are not authorized to delete patrons" id="deletepatron" href="#">Delete</a></li>
+                [% END %]
+                [% SET adult_categories = Categories.scalar.all(category_type => 'A') %]
+                [% IF adult_categories.count > 0 %]
+                    [% IF patron.is_child %]
+                        <li><a id="updatechild" href="#">Update child to adult patron</a></li>
+                    [% ELSE %]
+                        <li class="disabled"><a data-toggle="tooltip" data-placement="left" title="Patron is an adult" id="updatechild" href="#">Update child to adult patron</a></li>
+                    [% END %]
+                [% END %]
+                [% IF Koha.Preference('intranetreadinghistory') %]
+                    [%IF ( privacy == 2 ) %]
+                        <li class="disabled"><a data-toggle="tooltip" data-placement="left" title="Not allowed by patron's privacy settings" id="exportbarcodes" href="#">Export today's checked in barcodes</a></li>
+                    [% ELSE %]
+                        <li><a id="exportcheckins" href="#">Export today's checked in barcodes</a></li>
+                    [% END %]
+                [% END %]
+            </ul>
+    </div>
+</div>
 
-       </script>
-       <ul class="toolbar">
-       [% IF ( category_type ) %]
-            [% IF ( guarantor ) %]
-                <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;guarantorid=[% guarantorborrowernumber %]&amp;category_type=[% category_type %]">
-            [% ELSE %]
-            <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;category_type=[% category_type %]">
-            [% END %]Edit</a></li>
-        [% ELSE %] <!-- try with categorycode if no category_type -->
-            [% IF ( categorycode ) %]
-            <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;categorycode=[% categorycode %]">Edit</a></li>
-            [% ELSE %] <!-- if no categorycode, set category_type to A by default -->
-                <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;category_type=A">Edit</a></li>
-            [% END %]
-        [% END %]
-       [% IF ( adultborrower AND activeBorrowerRelationship ) %]<li><a id="addchild" href="/cgi-bin/koha/members/memberentry.pl?op=add&amp;guarantorid=[% borrowernumber %]&amp;category_type=C">Add child</a></li>[% END %]
-    [% IF CAN_user_borrowers %]<li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=[% borrowernumber %]">Change password</a></li> [% END %]
-       <li><a id="duplicate" href="/cgi-bin/koha/members/memberentry.pl?op=duplicate&amp;borrowernumber=[% borrowernumber %]&amp;category_type=[% category_type %]">Duplicate</a></li>
-    <li id="printmenuc"><a id="printpage" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]&amp;print=page">Print summary</a></li>
-    <li><a id="printslip" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]&amp;print=slip">Print slip</a></li>
-       <li id="searchtoholdc"><a id="searchtohold" href="#">Search to hold</a></li>
-    <li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&amp;borrowernumber=[% borrowernumber %]">Renew account</a></li>[% IF ( CAN_user_permissions ) %]<li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]">Set permissions</a></li>[% END %]<li><a id="deletepatron" href="javascript:confirm_deletion();">Delete</a></li>
-</ul></div>
+<!-- Modal -->
+<div id="add_message_form" class="modal" tabindex="-1" role="dialog" aria-labelledby="addnewmessageLabel" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <form method="post" action="/cgi-bin/koha/circ/add_message.pl" id="message_form" name="message_f">
+                <div class="modal-header">
+                    <h3>Leave a message</h3>
+                </div>
+                <div class="modal-body">
+                    <div class="form-group">
+                        <label for="message_type">Add a message for:</label>
+                        <select name="message_type" id="message_type">
+                            <option value="L">Staff - Internal note</option>
+                            <option value="B">OPAC - [% patron.firstname | html %] [% patron.surname | html %]</option>
+                        </select>
+                    </div>
+                    [% bor_notes = AuthorisedValues.Get( 'BOR_NOTES' ) %]
+                    [% IF bor_notes %]
+                        <div class="form-group">
+                            <label for="select_patron_messages">Predefined notes: </label>
+                            <select name="type" id="select_patron_messages">
+                                <option value="">Select note</option>
+                                [% FOREACH bor_note IN bor_notes %]
+                                    <option value="[% bor_note.lib | html %]">[% bor_note.lib | html %]</option>
+                                [% END %]
+                            </select>
+                        </div>
+                    [% END %]
+                    <div class="form-group">
+                        <textarea rows="3" class="modal-textarea" name="borrower_message" id="borrower_message" ></textarea>
+                    </div>
+                    <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" />
+                    <input type="hidden" name="batch" value="[% batch | html %]" />
+                    <input type="hidden" name="branchcode" value="[% Branches.GetLoggedInBranchcode | html %]" />
+                </div>
+                <div class="modal-footer">
+                    <button class="btn btn-default approve" type="submit"><i class="fa fa-check"></i> Save</button>
+                    <button class="btn btn-default deny cancel" href="#" data-dismiss="modal" aria-hidden="true"><i class="fa fa-times"></i> Cancel</button>
+                </div>
+            </form>
+        </div>
+    </div>
+</div>