refactor: revamp devtools page

This commit refactors the development tools page to make it look better. Additionally, it makes small adjustments in the notifications and corrects missing strings from the page.
This commit is contained in:
2022-04-04 09:59:18 +01:00
parent 2ddfb62f17
commit 21fdb349d9
9 changed files with 70 additions and 37 deletions

View File

@@ -14,7 +14,7 @@
@section('content')
<x-modal id="confirmForceEventDispatch" modal-label="confirmForceEventDispatch" modal-title="{{__('messages.choose_app')}}" include-close-button="true">
<x-modal id="confirmForceEventDispatch" modal-label="confirmForceEventDispatch" modal-title="{{__('Choose an application to override')}}" include-close-button="true">
<p>{{__('Please choose an application to force approve')}}</p>
<p>{{ __('Note that this process overrides users\'s votes.') }}</p>
@@ -35,7 +35,7 @@
</form>
<x-slot name="modalFooter">
<button type="button" class="btn btn-danger" onclick="document.getElementById('forceEval').submit()">{{__('messages.dispatch_event')}}</button>
<button type="button" class="btn btn-danger" onclick="document.getElementById('forceEval').submit()">{{__('Override now')}}</button>
</x-slot>
</x-modal>
@@ -70,45 +70,64 @@
<div class="col">
<div class="alert alert-warning">
<i class="fa fa-exclamation-triangle"></i> <b>{{__('Warning')}}</b>
<p>{{__('These tools were intended for development purposes. Unless you know exactly what each command does, we recommend you don\'t use any of them.')}}</p>
</div>
</div>
</div>
<div class="row">
<div class="col text-center">
<x-card id="tools" card-title="Commands & Actions" footer-style="text-center">
<div class="row mt-5">
<div class="col">
<x-card id="appCommands" card-title="{{ __('Application-specific commands') }}" footer-style="text-muted">
<x-slot name="cardHeader">
</x-slot>
<button data-toggle="tooltip" data-placement="top" title="{{ __('Dispatches an approval event for the selected application') }}" type="button" class="btn btn-primary" onclick="$('#confirmForceEventDispatch').modal('show')"><i class="fas fa-bullhorn"></i> {{ __('Dispatch approval event') }}</button>
<button data-toggle="tooltip" data-placement="top" title="{{ __('Dispatches a rejection event for the selected application') }}" type="button" class="btn btn-primary ml-2" onclick="$('#confirmDispatchRejection').modal('show')"><i class="fas fa-bullhorn"></i> {{ __('Dispatch rejection event') }}</button>
<form name="evalvotes" method="post" action="{{ route('devForceEvaluateVotes') }}" class="d-inline">
@csrf
<button data-toggle="tooltip" data-placement="top" title="{{ __('Counts and processes all backlogged votes, for all applications.') }}" type="submit" class="btn btn-primary ml-3"><i class="fas fa-redo"></i> {{ __('Count all votes now') }}</button>
</form>
<form name="purgebans" method="post" action="{{ route('devPurgeExpired') }}" class="d-inline">
@csrf
@method('DELETE')
<button data-toggle="tooltip" data-placement="top" title="{{ __('Cleans the database of old, expired suspensions, therefore unbanning certain users.') }}" type="submit" class="btn btn-primary ml-3"><i class="far fa-trash-alt"></i> {{ __('Purge expired bans') }}</button>
</form>
<div class="form-group d-block">
<button type="button" class="mb-3 btn btn-info" onclick="$('#confirmForceEventDispatch').modal('show')"><i class="fas fa-check-circle"></i> {{ __('Application Override: Approve') }}</button>
<button type="button" class="mt-3 btn btn-info" onclick="$('#confirmDispatchRejection').modal('show')"><i class="fas fa-ban"></i> {{ __('Application Override: Decline') }}</button>
</div>
<x-slot name="cardFooter">
<p class="text-muted"> .</p>
<p><i class="fas fa-info-circle"></i> {{ __('This panel allows you to override statuses for specific applications. Overriding them will trigger the correct events as well. Note that this system entirely ignores the voting system because these statuses ignore all other logic.') }}</p>
</x-slot>
</x-card>
</x-card>
</div>
<div class="col">
<x-card id="appCleaning" card-title="{{ __('Housekeeping') }}" footer-style="text-muted">
<x-slot name="cardHeader">
</x-slot>
<div class="form-group d-block">
<form method="post" action="{{ route('devForceEvaluateVotes') }}">
@csrf
<button type="submit" class="mb-3 btn btn-info"><i class="fas fa-vote-yea"></i> {{ __('Run task: process pending votes') }}</button>
</form>
<form method="post" action="{{ route('devPurgeExpiredSuspensions') }}">
@csrf
@method('DELETE')
<button type="submit" class="mb-3 btn btn-info"><i class="fas fa-users-cog"></i> {{ __('Run task: lift expired suspensions') }}</button>
</form>
<form method="post" action="{{ route('devPurgeExpiredAbsences') }}">
@csrf
@method('DELETE')
<button type="submit" class="mb-3 d-block btn btn-info"><i class="fas fa-calendar-minus"></i> {{ __('Run task: end expired absence requests') }}</button>
</form>
</div>
<x-slot name="cardFooter">
<p><i class="fas fa-info-circle"></i> {{ __('Housekeeping jobs usually run once every day, but if one of them has failed for some reason, you can manually run them here.') }}</p>
</x-slot>
</x-card>
</div>
</div>
@stop