ldc-legaulois/app/Http/Controllers/ClubController.php
Vincent BRIDIER 4e193a8b60 --
2021-03-01 11:51:00 +01:00

85 lines
2.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\CustomersDepartaimants;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class ClubController extends Controller
{
public function bourse(Request $request)
{
/* TODO : A tester avec le user connecté
*
$user = Auth::guard('customer')->user();
$departaimants = $user->departaimants;
*/
$departaimants = CustomersDepartaimants::where('customer_id', 1)->first();
return view('front.club.bourse', compact('departaimants'));
}
public function bourseSaveState(Request $request)
{
/* TODO : A tester avec le user connecté
*
$user = Auth::guard('customer')->user();
$departaimants = $user->departaimants;
*/
$departaimants = CustomersDepartaimants::where('customer_id', 1)->first();
/* TODO : validate */
$collection = $request->collection;
$id = $request->id;
$state = $request->state;
$action = $request->action;
$map = $collection === 'new' ? json_decode($departaimants->new_collection) : json_decode($departaimants->old_collection);
$key = array_search($id, array_column($map, 'id'));
if ($action === 'add'){
switch ($state){
case 'own':
$map[$key]->state = 1;
break;
case 'change':
$map[$key]->state = 2;
break;
case 'search':
$map[$key]->state = 3;
break;
}
}else{
switch ($state){
case 'own':
$map[$key]->state = 3;
break;
case 'change':
case 'search':
$map[$key]->state = 1;
break;
}
}
/* TODO : A tester avec user connecté
* $user->departaimants->new_collection = json_encode($map);
$user->save();*/
if ($collection === 'new'){
$departaimants->new_collection = json_encode($map);
}else{
$departaimants->old_collection = json_encode($map);
}
$departaimants->save();
return response()->json(['status' => 'OK', 'map' => $map]);
}
public function bourseSearch(Request $request)
{
return response()->json(['status' => 'OK']);
}
}