Commit d5b0d4df authored by cyprien's avatar cyprien
Browse files

Merge branch 'DivingCreation' of...

Merge branch 'DivingCreation' of https://forge.info.unicaen.fr/git/but-info-sae3-2024-groupe3 into DivingCreation
parents c50605b8 14930b59
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -4,7 +4,9 @@

use Illuminate\Http\Request;
use App\Models\DivingSession;

use App\Models\DivingLocation;
use App\Models\Boat;
use Error;

class DiveSessionCreation extends Controller
{
@@ -22,13 +24,17 @@ public static function add($request)
        $dv->US_ID_CAR_DIRECT = $request->manager;
        $dv->DS_DATE = $request->day;
        $dv->CAR_SCHEDULE = $request->hour;
        $dv->DS_MAX_DEPTH = $request->maxDepth;
        $dv->DS_MAX_DEPTH = DivingLocation::find($request->location)->DL_DEPTH;
        $dv->DS_ACTIVE = 1;
        $dv->DS_MAX_DIVERS = $request->max;
        if(intval($dv->DS_MAX_DIVERS) > Boat::find($request->boat)->BO_NUMBER_OF_SEATS)
        {
            return "Le nombre de plongeurs est supérieur au nombre de places du bateau";
        }
        $dv->PRE_CODE = $request->level;
        $dv->DS_LEVEL = 1;
        $dv->save();
        error_log($dv->DS_CODE);
        $dv->DS_CODE = 'DS'.sizeof(DivingSession::all());
        return $dv;
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ class DiveSessionDelete extends Controller

    public static function update($id)
    {
        $dv = DivingSession::where('DS_CODE', $id)->first();
        $dv = DivingSession::find($id);
        $dv->DS_ACTIVE = 0;
        $dv->save();
    }
+4 −4
Original line number Diff line number Diff line
@@ -30,10 +30,7 @@
                                @endif
                            @endforeach
                            <td>{{ $dive->PRE_CODE }}</td>
                            <td>
                                <form action="/dive/delete/{{ $dive->DS_CODE }}" method="POST"><button type="submit"
                                        class="clickable clickableRed">X</button></form>
                            </td>
                            <td><form action="/dive/delete/{{ $dive->DS_CODE }}" method="POST">@csrf<button type="submit" class="clickable clickableRed">X</button></form></td>
                        </tr>
                    @endforeach
                </table>
@@ -41,6 +38,9 @@ class="clickable clickableRed">X</button></form>
        </div>
        <form action="/create/dive" method="POST" style="width: 70%;">
            @csrf
            @if(isset($error))
                <p>{{ $error }}</p>
            @endif
            <h1 class="text-4xl"
                style="font-family: 'Space Grotesk', sans-serif; font-weight: bold; margin-bottom: 30px;">Création d'une
                plongée</h1>
+23 −4
Original line number Diff line number Diff line
@@ -52,20 +52,33 @@
});
Route::middleware('App\Http\Middleware\rightChecker')
    ->get('/dives/{ds_code}', [DivingSignUpController::class, 'index']);

Route::middleware('App\Http\Middleware\rightChecker')
    ->get('/create/dive', function()
{
    return view('create_dive', ['locations' => DivingLocation::all(),  'boats' => Boat::all(), 'levels' => Prerogative::all()->skip(3), 'users' => User::all()]);
    return view('create_dive', ['locations' => DivingLocation::all(),  'boats' => Boat::all(), 'levels' => Prerogative::all()->skip(3), 'users' => User::all(), 'previousDives' => session()->get('previousDives')]);
})->name('create_dive');

Route::middleware('App\Http\Middleware\rightChecker')
    ->post('/create/dive', function(Request $request)
{
    $pre = DiveSessionCreation::add($request);

    error_log($pre);

    if(is_string($pre))
    {
        return view('create_dive', ['locations' => DivingLocation::all(),  'boats' => Boat::all(), 'levels' => Prerogative::all()->skip(3), 'users' => User::all(), 'error' => $pre]);
    }
    else
    {
        $previousDives = session('previousDives', []);
        $previousDives[] = $pre;

        session(['previousDives' => $previousDives]);
        return view('create_dive',  ['locations' => DivingLocation::all(),  'boats' => Boat::all(), 'levels' => Prerogative::all()->skip(3), 'users' => User::all(), 'precedent' => $pre, 'previousDives' => $previousDives]);
    }

});
Route::get('/tewst2', function(){
    return view('drag_and_drop');
@@ -87,13 +100,19 @@
    DivingSession::find($id)->disable();
    return redirect('/');
});

Route::post('/dive/delete/{id}', function ($id, Request $request){
    DiveSessionDelete::update($id);
    $previousDives = session('previousDives', []);
    $previousDives = array_filter($previousDives, function ($dive) use ($id) {
        return $dive['id'] != $id;
    });

    $indexToRemove = array_search($id, array_column($previousDives, 'DS_CODE'));

    if ($indexToRemove !== false) {
        unset($previousDives[$indexToRemove]);
        $previousDives = array_values($previousDives);
        session(['previousDives' => $previousDives]);
    }

    return redirect('/create/dive');
});
Route::get('/sessions', [DiversBySession::class,'getAllSessions']);