grocy/views/manageapikeys.blade.php
fipwmaqzufheoxq92ebc 85a95f1973
Apikeys (#986)
* Add QR-Code for API-Url/Key

* Show only API-Keys for current user

* Allow only admin users to create custom API-Keys

* Use a managed package of qrcode-generator instead of a copy of the JS file

* Reuse existing localization string (API key)

* Center QR-Code in popups

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-09-06 10:00:49 +02:00

108 lines
2.8 KiB
PHP

@extends('layout.default')
@section('title', $__t('API keys'))
@section('activeNav', '')
@section('viewJsName', 'manageapikeys')
@push('pageScripts')
<script src="{{ $U('/node_modules/qrcode-generator/qrcode.js?v=', true) }}{{ $version }}"></script>
@endpush
@push('pageStyles')
<link href="{{ $U('/node_modules/animate.css/animate.min.css?v=', true) }}{{ $version }}"
rel="stylesheet">
@endpush
@section('content')
<div class="row">
<div class="col">
<h2 class="title">@yield('title')</h2>
</div>
</div>
<hr>
<div class="row mt-3">
<div class="col-xs-12 col-md-2 col-xl-1">
<a class="btn btn-primary btn-sm responsive-button w-100 mb-3"
href="{{ $U('/manageapikeys/new') }}">
{{ $__t('Add') }}
</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-6 col-xl-3">
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-search"></i></span>
</div>
<input type="text"
id="search"
class="form-control"
placeholder="{{ $__t('Search') }}">
</div>
</div>
</div>
<div class="row">
<div class="col">
<table id="apikeys-table"
class="table table-sm table-striped dt-responsive">
<thead>
<tr>
<th class="border-right"></th>
<th>{{ $__t('API key') }}</th>
<th>{{ $__t('User') }}</th>
<th>{{ $__t('Expires') }}</th>
<th>{{ $__t('Last used') }}</th>
<th>{{ $__t('Created') }}</th>
<th>{{ $__t('Key type') }}</th>
</tr>
</thead>
<tbody class="d-none">
@foreach($apiKeys as $apiKey)
<tr id="apiKeyRow_{{ $apiKey->id }}">
<td class="fit-content border-right">
<a class="btn btn-danger btn-sm apikey-delete-button"
href="#"
data-apikey-id="{{ $apiKey->id }}"
data-apikey-apikey="{{ $apiKey->api_key }}">
<i class="fas fa-trash"></i>
</a>
<a class="btn btn-info btn-sm apikey-show-qr-button"
href="#"
data-apikey-key="{{ $apiKey->api_key }}"
data-apikey-type="{{ $apiKey->key_type }}">
<i class="fas fa-qrcode"></i>
</a>
</td>
<td>
{{ $apiKey->api_key }}
</td>
<td>
{{ GetUserDisplayName(FindObjectInArrayByPropertyValue($users, 'id', $apiKey->user_id)) }}
</td>
<td>
{{ $apiKey->expires }}
<time class="timeago timeago-contextual"
datetime="{{ $apiKey->expires }}"></time>
</td>
<td>
@if(empty($apiKey->last_used)){{ $__t('never') }}@else{{ $apiKey->last_used }}@endif
<time class="timeago timeago-contextual"
datetime="{{ $apiKey->last_used }}"></time>
</td>
<td>
{{ $apiKey->row_created_timestamp }}
<time class="timeago timeago-contextual"
datetime="{{ $apiKey->row_created_timestamp }}"></time>
</td>
<td>
{{ $apiKey->key_type }}
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@stop