Owen Leonard
37efe6ff76
This patch makes some interface changes to bring things better in line with existing interface patterns. This patch also re-indents the modified templates with 4 spaces instead of 2 and makes <input>s self-closing. Also changed: Corrected system preference check in opac-apikeys.pl. To test, apply the patch and: In the staff client: - Open a patron record and choose More -> Manage API keys. - There should be a standard message dialog containing a link to "Generate a new key." - Clicking the link should show the form for adding a new key. - Test that clicking the "Cancel" link hides the form. - Test that creating the new key works correctly. - You should now see a table showing existing keys and a "Generate a new key" button above it. - Test that the "Delete" button asks for confirmation, and that confirming and denying both work correctly. - Test that "Revoke" and "Activate" actions still work correctly. In the OPAC: - Set the AllowPatronsManageAPIKeysInOPAC system preference to "Allow." - Log in to the OPAC and click the "your API keys" link in the sidebar. - Clicking the "Generate new key" button should display the form for adding a new key. - Clicking the "cancel" link should hide the form. - Submitting the form should add a new key. - You should now see a table showing existing keys. - Test that the "Delete" link asks for confirmation, and that confirming and denying both work correctly. - Test that "Revoke" and "Activate" actions still work correctly. - Set the AllowPatronsManageAPIKeysInOPAC system preference to "Don't allow." - Log in to the OPAC and confirm that the "your API keys" link in the sidebar is no longer visible. - Confirm that navigating directly to /cgi-bin/koha/opac-apikeys.pl results in a 404 error. Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Julian Maurice <julian.maurice@biblibre.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
106 lines
5.3 KiB
Text
106 lines
5.3 KiB
Text
[% USE Koha %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Patrons › API Keys</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>
|
|
|
|
<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>
|
|
<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="op" value="generate" />
|
|
<fieldset class="brief">
|
|
<legend>Generate new key</legend>
|
|
<ol>
|
|
<li>
|
|
<label for="description">Description: </label>
|
|
<input type="text" name="description" />
|
|
<input type="submit" value="Save" />
|
|
<a href="#" class="cancel toggle_element" data-element="#add-api-key">Cancel</a>
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
</form>
|
|
|
|
<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>
|
|
</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Description</th>
|
|
<th>Key</th>
|
|
<th>Active</th>
|
|
<th>Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH key IN api_keys %]
|
|
<tr>
|
|
<td>[% key.description %]</td>
|
|
<td>[% key.value %]</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="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 %]" />
|
|
[% 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>
|
|
[% ELSE %]
|
|
<input type="hidden" name="op" value="activate" />
|
|
<button class="btn btn-default btn-xs" type="submit"><i class="fa fa-play"></i> Activate</button>
|
|
[% END %]
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
</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>
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
[% INCLUDE 'circ-menu.inc' %]
|
|
</div>
|
|
</div>
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
<script>
|
|
$(document).ready(function(){
|
|
$(".delete").on("click", function(e){
|
|
return confirmDelete(_("Are you sure you want to delete this key?"));
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|