Bug 28772: Display API secret once
[srvgit] / koha-tmpl / intranet-tmpl / prog / en / modules / members / apikeys.tt
index e710efd..cc20d29 100644 (file)
@@ -1,33 +1,67 @@
+[% USE raw %]
 [% USE Koha %]
+[% USE Asset %]
 [% SET footerjs = 1 %]
 [% INCLUDE 'doc-head-open.inc' %]
-<title>Koha &rsaquo; Patrons &rsaquo; API Keys</title>
+<title>API Keys &rsaquo; Patrons &rsaquo; Koha</title>
 [% INCLUDE 'doc-head-close.inc' %]
 </head>
 <body id="pat_apikeys" class="pat">
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'patron-search.inc' %]
 
-<div id="breadcrumbs">
-    <a href="/cgi-bin/koha/mainpage.pl">Home</a>
-    &rsaquo;
-    <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
-    &rsaquo;
-    API Keys for [% INCLUDE 'patron-title.inc' %]
-</div>
+<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
+    <ol>
+        <li>
+            <a href="/cgi-bin/koha/mainpage.pl">Home</a>
+        </li>
+        <li>
+            <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
+        </li>
+        <li>
+            <a href="#" aria-current="page">
+                API Keys for [% INCLUDE 'patron-title.inc' %]
+            </a>
+        </li>
+    </ol>
+</nav>
+
+<div class="main container-fluid">
+    <div class="row">
+        <div class="col-sm-10 col-sm-push-2">
+            <main>
 
-<div id="doc3" class="yui-t2">
-    <div id="bd">
-        <div id="yui-main">
-            <div class="yui-b">
                 [% INCLUDE 'members-toolbar.inc' %]
 
                 <h1>API keys for [% INCLUDE 'patron-title.inc' %]</h1>
+
+            [% IF fresh_api_key %]
+                [%# A fresh api key was generated, display the secret, only once %]
+                <div class="rows">
+                    <span class="alert">Make sure to copy your API secret now. You won’t be able to see it again!</span>
+                    <ol>
+                        <li>
+                            <span class="label">Description: </span>
+                            [% fresh_api_key.description | html %]
+                        </li>
+                        <li>
+                            <span class="label">Client ID: </span>
+                            [% fresh_api_key.client_id | html %]
+                        </li>
+                        <li>
+                            <span class="label">Secret: </span>
+                            [% fresh_api_key.plain_text_secret | html %]
+                        </li>
+                    </ol>
+                </div>
+            [% END %]
+
                 <form id="add-api-key" action="/cgi-bin/koha/members/apikeys.pl" method="post" style="display:none">
-                    <input type="hidden" name="patron_id" value="[% patron.id %]" />
+                    <input type="hidden" name="patron_id" value="[% patron.id | html %]" />
+                    <input type="hidden" name="csrf_token" value="[% csrf_token | html %]" />
                     <input type="hidden" name="op" value="generate" />
                     <fieldset class="brief">
-                        <legend>Generate new key</legend>
+                        <legend>Generate new client id/secret pair</legend>
                         <ol>
                             <li>
                                 <label for="description">Description: </label>
                 <div id="keys">
                     [% IF api_keys && api_keys.size > 0 %]
                         <p>
-                            <button class="btn btn-default btn-xs toggle_element" type="submit" id="show-api-form" data-element="#add-api-key"><i class="fa fa-plus"></i> Generate a new key</button>
+                            <button class="btn btn-default toggle_element" type="submit" id="show-api-form" data-element="#add-api-key"><i class="fa fa-plus"></i> Generate a new client id/key pair</button>
                         </p>
                         <table>
                             <thead>
                                 <tr>
                                     <th>Description</th>
-                                    <th>Key</th>
+                                    <th>Client ID</th>
                                     <th>Active</th>
-                                    <th>Actions</th>
+                                    <th class="noExport">Actions</th>
                                 </tr>
                             </thead>
                             <tbody>
                                 [% FOREACH key IN api_keys %]
                                     <tr>
-                                        <td>[% key.description %]</td>
-                                        <td>[% key.value %]</td>
+                                        <td>[% key.description | html %]</td>
+                                        <td>[% key.client_id | html %]</td>
                                         <td>[% IF key.active %]Yes[% ELSE %]No[% END %]</td>
                                         <td>
                                             <form action="/cgi-bin/koha/members/apikeys.pl" method="post">
-                                                <input type="hidden" name="patron_id" value="[% patron.id %]" />
-                                                <input type="hidden" name="key" value="[% key.value %]" />
+                                                <input type="hidden" name="patron_id" value="[% patron.id | html %]" />
+                                                <input type="hidden" name="key" value="[% key.id | html %]" />
+                                                <input type="hidden" name="csrf_token" value="[% csrf_token | html %]" />
                                                 <input type="hidden" name="op" value="delete" />
                                                 <button class="btn btn-default btn-xs delete" type="submit"><i class="fa fa-trash"></i> Delete</button>
                                             </form>
                                             <form action="/cgi-bin/koha/members/apikeys.pl" method="post">
-                                                <input type="hidden" name="patron_id" value="[% patron.id %]" />
-                                                <input type="hidden" name="key" value="[% key.value %]" />
+                                                <input type="hidden" name="patron_id" value="[% patron.id | html %]" />
+                                                <input type="hidden" name="key" value="[% key.id | html %]" />
+                                                <input type="hidden" name="csrf_token" value="[% csrf_token | html %]" />
                                                 [% IF key.active %]
                                                     <input type="hidden" name="op" value="revoke" />
                                                     <button class="btn btn-default btn-xs" type="submit"><i class="fa fa-remove"></i> Revoke</button>
                             </tbody>
                         </table>
                     [% ELSE %]
-                        <div class="dialog message">No keys defined for the current patron. <a href="#" class="toggle_element" data-element="#add-api-key" id="show-api-form"><i class="fa fa-plus"></i> Generate a new key</div>
+                        <div class="dialog message">No keys defined for the current patron. <a href="#" class="toggle_element" data-element="#add-api-key" id="show-api-form"><i class="fa fa-plus"></i> Generate a new client id/secret pair</div>
                     [% END %]
                 </div>
-            </div>
-        </div>
-        <div class="yui-b">
-            [% INCLUDE 'circ-menu.inc' %]
-        </div>
-    </div>
+            </main>
+        </div> <!-- /.col-sm-10.col-sm-push-2 -->
+
+        <div class="col-sm-2 col-sm-pull-10">
+            <aside>
+                [% INCLUDE 'circ-menu.inc' %]
+            </aside>
+        </div> <!-- /.col-sm-2.col-sm-pull-10 -->
+    </div> <!-- /.row -->
+
 
 [% MACRO jsinclude BLOCK %]
-        <script>
-            $(document).ready(function(){
-                $(".delete").on("click", function(e){
-                    return confirmDelete(_("Are you sure you want to delete this key?"));
-                });
+    [% INCLUDE 'str/members-menu.inc' %]
+    [% Asset.js("js/members-menu.js") | $raw %]
+    <script>
+        $(document).ready(function(){
+            $(".delete").on("click", function(e){
+                return confirmDelete(_("Are you sure you want to delete this key?"));
             });
-        </script>
+        });
+    </script>
 [% END %]
 
 [% INCLUDE 'intranet-bottom.inc' %]