Commit a074e5af authored by Waterfox's avatar Waterfox
Browse files

Add DiveDeletion and DiveCreation controllers

parent 27283beb
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\DivingSession;
use App\Models\DivingLocation;
use App\Models\Boat;
use App\Models\Prerogative;
use App\Models\User;

class DiveCreation extends Controller
{
    public static function index(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, 'previousDives' => session()->get('previousDives')]);
        }
        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]);
        }

    }
}
+23 −0
Original line number Diff line number Diff line
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class DiveDeletion extends Controller
{

    public static function delete($id)
    {
        DiveSessionDelete::update($id);
        $previousDives = session('previousDives', []);

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

        if ($indexToRemove !== false) {
            unset($previousDives[$indexToRemove]);
            $previousDives = array_values($previousDives);
            session(['previousDives' => $previousDives]);
        }
    }
}
+7 −28
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@
use App\Http\Controllers\DiveSessionUpdate;
use App\Http\Controllers\ManageAdherentController;
use App\Http\Controllers\DiveSessionDelete;
use App\Http\Controllers\DiveDeletion;
use App\Http\Controllers\DiveCreation;
use App\Http\Controllers\AuthController;
use Illuminate\Support\Facades\Route;
use Illuminate\Http\Request;
@@ -64,27 +66,12 @@
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, 'previousDives' => session()->get('previousDives')]);
    }
    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]);
    }

    return DiveCreation::index($request);
});
Route::get('/tewst2', function(){
    return view('drag_and_drop');
});

Route::middleware('App\Http\Middleware\rightChecker')
    ->get('/dive/update/{id}', function($id){
    return view('update_dive', ['dive' => DivingSession::find($id),
@@ -93,6 +80,7 @@
                'levels' => Prerogative::all()->skip(4),
                'users' => User::all()]);
});

Route::post('/dive/update/{id}', function($id, Request $request){
        DiveSessionUpdate::update($request, $id);
        return redirect('/');
@@ -104,19 +92,10 @@
});

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

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

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

    DiveDeletion::delete($id);
    return redirect('/create/dive');
});

Route::get('/sessions', [DiversBySession::class,'getAllSessions']);
Route::get('/session/{ds_code}', [DiversBySession::class,'getDiversBySession']);
Route::get('/divings', [DivingNumberController::class, 'index'])->name('divings');