Added code search
This commit is contained in:
parent
1a5eb157cb
commit
7d619e02e1
6 changed files with 92 additions and 0 deletions
|
|
@ -3,12 +3,14 @@
|
|||
namespace App\Http\Controllers\Bo;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\CodeSearchRequest;
|
||||
use App\Http\Requests\ExportCodesRequest;
|
||||
use App\Http\Requests\GenerateCodesRequest;
|
||||
use App\Jobs\ProcessExportCodesUniques;
|
||||
use App\Jobs\ProcessUniqueCode;
|
||||
use App\Models\Codes;
|
||||
use App\Models\Settings;
|
||||
use Kwaadpepper\Serial\Exceptions\SerialCasterException;
|
||||
|
||||
class CodesController extends Controller
|
||||
{
|
||||
|
|
@ -73,4 +75,30 @@ class CodesController extends Controller
|
|||
config('mail.MAIL_ADMIN') . " lorsque le traitement sera terminé."
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Search for a specific code.
|
||||
*
|
||||
* @param CodeSearchRequest $request
|
||||
* @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory
|
||||
*/
|
||||
public function search(CodeSearchRequest $request)
|
||||
{
|
||||
$code = null;
|
||||
try {
|
||||
$code = Codes::whereId(Codes::serialToInt($request->code))->first();
|
||||
} catch (\Throwable $e) {
|
||||
if (\get_class($e) === SerialCasterException::class) {
|
||||
$code = false;
|
||||
}
|
||||
} finally {
|
||||
if ($code === false) {
|
||||
\session()->flash('warning', trans('Code non valide.'));
|
||||
}
|
||||
if ($code === null) {
|
||||
\session()->flash('warning', trans('Code introuvable.'));
|
||||
}
|
||||
}
|
||||
return view('bo.codes.search', compact('code'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
32
app/Http/Requests/CodeSearchRequest.php
Normal file
32
app/Http/Requests/CodeSearchRequest.php
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class CodeSearchRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
// ? Is auth and super admin ?
|
||||
return auth()->check() and
|
||||
auth()->user()->role === 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'code' => 'required|string|min:1|max:25'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
<button type="button" class="btn btn-sm btn-success float-right" data-toggle="modal" data-target="#exportModal">
|
||||
<i class="fas fa-file-export"></i> {{ __('Export') }}
|
||||
</button>
|
||||
@include('bo.codes.search-form')
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="exportModal" tabindex="-1" aria-labelledby="exportModalLabel" aria-hidden="true">
|
||||
|
|
|
|||
8
resources/views/bo/codes/search-form.blade.php
Normal file
8
resources/views/bo/codes/search-form.blade.php
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<div class="float-right mr-4">
|
||||
<form class="input-group" action="{{route('bo.codes.search')}}" method="GET">
|
||||
<input class="form-control" type="text" name="code" placeholder="{{ __('Chercher un code ici.') }}">
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-primary">{{ __('Rechercher') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
22
resources/views/bo/codes/search.blade.php
Normal file
22
resources/views/bo/codes/search.blade.php
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
@extends('layouts.bo')
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<a href="{{ route('bo.codes') }}">{{ __('Gestion des codes uniques') }}</a> - {{ __('Recherche de code unique') }}
|
||||
@include('bo.codes.search-form')
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@if(!$code)
|
||||
<span class="h4">{{ __('Veuillez entrer un code ci-dessus pour en obtenir les informations.') }}</span>
|
||||
@else
|
||||
<p><span class="h4">{{ __('Voici l\'état du code trouvé') }}</span></p>
|
||||
<p>{{ __('Code : :code', ['code' => request()->code]) }}</p>
|
||||
<p><span class="font-weight-bold">{{ __('ID : :id', ['id' => $code->id]) }}</span></p>
|
||||
<p>{{ __('Utilisé ? : :used', ['used' => $code->code_used ? 'OUI' : 'NON']) }}</p>
|
||||
<p>{{ __('Exporté ? : :exported', ['exported' => $code->code_exported ? 'OUI' : 'NON']) }}</p>
|
||||
<p>{{ __('Créé le : :date_creation', ['date_creation' => $code->date_creation]) }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -63,6 +63,7 @@ Route::prefix('bo')
|
|||
// Codes uniques.
|
||||
Route::get('/codes', [CodesController::class, 'index'])->name('codes');
|
||||
Route::post('/codes', [CodesController::class, 'generate'])->name('generate-codes');
|
||||
Route::get('/codes/search', [CodesController::class, 'search'])->name('codes.search');
|
||||
Route::post('/codes/export', [CodesController::class, 'export'])->name('export-codes');
|
||||
// Liste des gagnants.
|
||||
Route::get('/winners-list', [WinnersListController::class, 'index'])->name('winners-list');
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue