+[% USE raw %]
[% USE Koha %]
+[% USE Asset %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Patrons › API Keys</title>
+<title>API Keys › Patrons › 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>
- ›
- <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
- ›
- 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' %]