ldc-gen-game-web/app/Http/Controllers/Bo/PrizesController.php

95 lines
3.1 KiB
PHP
Raw Permalink Normal View History

2020-10-21 15:26:21 +02:00
<?php
namespace App\Http\Controllers\Bo;
2020-10-21 15:26:21 +02:00
use App\Http\Controllers\Controller;
use App\Models\GainView;
use App\Models\Prize;
2020-10-21 15:26:21 +02:00
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
class PrizesController extends Controller
{
2021-08-18 17:08:02 +02:00
public function index()
{
$prizes = Prize::all();
2020-10-21 15:26:21 +02:00
$gainViews = GainView::all();
return view('bo.prizes.index', compact('prizes', 'gainViews'));
}
2021-08-18 17:08:02 +02:00
public function saveDatas(Request $request)
{
2020-10-21 15:26:21 +02:00
$prizes = json_decode($request->prizes);
2021-08-18 17:08:02 +02:00
$pdfs = $request->file('pdf');
2020-10-21 15:26:21 +02:00
try {
$request->validate([
'pdf_winning_proof.*' => 'file|mimes:pdf|size:20480',
]);
for ($i = 0; $i < count($prizes); $i++) {
$prize = $prizes[$i];
2020-11-05 16:03:44 +01:00
if ($prize->id !== null) {
$p = Prize::findOrFail($prize->id);
2020-10-21 15:26:21 +02:00
$p->label_one = $prize->label_one;
$p->label_many = $prize->label_many;
$p->quantity = $prize->quantity;
$p->need_proof = $prize->need_proof;
$p->gain_view_id = $prize->gain_view_id;
2020-10-21 15:26:21 +02:00
if (isset($pdfs[$i])) {
$fileName = Str::slug($prize->label_one) . '-' .
date('d-m-Y') . '.' . $pdfs[$i]->extension();
2020-10-21 15:26:21 +02:00
$p->pdf_winning_proof = $fileName;
$pdfs[$i]->move(public_path('fichiers/pdf/'), $fileName);
$prizes[$i]->pdf_winning_proof = $fileName;
}
$p->save();
} else {
$p = new Prize();
$p->label_one = $prize->label_one;
$p->label_many = $prize->label_many;
$p->quantity = $prize->quantity;
$p->need_proof = $prize->need_proof;
$p->gain_view_id = $prize->gain_view_id;
2020-10-21 15:26:21 +02:00
if (isset($pdfs[$i])) {
$fileName = Str::slug($prize->label_one) . '-' .
date('d-m-Y') . '.' . $pdfs[$i]->extension();
2020-10-21 15:26:21 +02:00
$p->pdf_winning_proof = $fileName;
$pdfs[$i]->move(public_path('fichiers/pdf/'), $fileName);
$prizes[$i]->pdf_winning_proof = $fileName;
}
$p->save();
2020-11-05 16:03:44 +01:00
$prizes[$i]->id = $p->id;
} //end if
}//end for
2020-10-21 15:26:21 +02:00
} catch (Exception $e) {
}//end try
2020-10-21 15:26:21 +02:00
return $prizes;
}
public function destroy(Request $request)
{
$retour = "Suppression terminée !";
if ($request->id !== null) {
try {
$prize = Prize::findOrFail($request->id);
2020-10-21 15:26:21 +02:00
$prize->delete();
} catch (Exception $e) {
$retour = "Erreur lors de la suppression : " . $e->getMessage();
}
} else {
$retour = "Erreur lors de la suppression : Aucun ID envoyé.";
}
return $retour;
}
}