107 lines
4.1 KiB
PHP
107 lines
4.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Bo;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\GainView;
|
|
use App\Models\Prize;
|
|
use Exception;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Str;
|
|
|
|
class PrizesController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
$prizes = Prize::all();
|
|
$gainViews = GainView::all();
|
|
return view('bo.prizes.index', compact('prizes', 'gainViews'));
|
|
}
|
|
|
|
public function saveDatas(Request $request)
|
|
{
|
|
$prizes = json_decode($request->prizes);
|
|
$pdfs = $request->file('pdf');
|
|
|
|
try {
|
|
$request->validate([
|
|
'pdf_winning_proof.*' => 'file|mimes:pdf|size:20480',
|
|
]);
|
|
|
|
for ($i = 0; $i < count($prizes); $i++) {
|
|
$prize = $prizes[$i];
|
|
if ($prize->id !== null) {
|
|
$p = Prize::findOrFail($prize->id);
|
|
|
|
$p->arcadia_id = $prize->arcadia_id;
|
|
$p->label_one = $prize->label_one;
|
|
$p->label_many = $prize->label_many;
|
|
$p->arg_title = $prize->arg_title;
|
|
$p->arg_subtitle = $prize->arg_subtitle;
|
|
$p->arg_content = $prize->arg_content;
|
|
$p->quantity = $prize->quantity;
|
|
$p->arcadia_operation_code = $prize->arcadia_operation_code;
|
|
$p->arcadia_support_code = $prize->arcadia_support_code;
|
|
$p->need_proof = $prize->need_proof;
|
|
$p->gain_view_id = $prize->gain_view_id;
|
|
|
|
if (isset($pdfs[$i])) {
|
|
$fileName = Str::slug($prize->label_one) . '-' .
|
|
date('d-m-Y') . '.' . $pdfs[$i]->extension();
|
|
$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->arcadia_id = $prize->arcadia_id;
|
|
$p->label_one = $prize->label_one;
|
|
$p->label_many = $prize->label_many;
|
|
$p->arg_title = $prize->arg_title;
|
|
$p->arg_subtitle = $prize->arg_subtitle;
|
|
$p->arg_content = $prize->arg_content;
|
|
$p->quantity = $prize->quantity;
|
|
$p->arcadia_operation_code = $prize->arcadia_operation_code;
|
|
$p->arcadia_support_code = $prize->arcadia_support_code;
|
|
$p->need_proof = $prize->need_proof;
|
|
$p->gain_view_id = $prize->gain_view_id;
|
|
|
|
if (isset($pdfs[$i])) {
|
|
$fileName = Str::slug($prize->label_one) . '-' .
|
|
date('d-m-Y') . '.' . $pdfs[$i]->extension();
|
|
$p->pdf_winning_proof = $fileName;
|
|
$pdfs[$i]->move(public_path('fichiers/pdf/'), $fileName);
|
|
$prizes[$i]->pdf_winning_proof = $fileName;
|
|
}
|
|
|
|
$p->save();
|
|
$prizes[$i]->id = $p->id;
|
|
} //end if
|
|
}//end for
|
|
} catch (Exception $e) {
|
|
//
|
|
}//end try
|
|
|
|
return $prizes;
|
|
}
|
|
|
|
public function destroy(Request $request)
|
|
{
|
|
$retour = "Suppression terminée !";
|
|
|
|
if ($request->id !== null) {
|
|
try {
|
|
$prize = Prize::findOrFail($request->id);
|
|
$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;
|
|
}
|
|
}
|