diff --git a/app/Http/Controllers/operationsController.php b/app/Http/Controllers/operationsController.php index 5e80d79..14d0a0c 100644 --- a/app/Http/Controllers/operationsController.php +++ b/app/Http/Controllers/operationsController.php @@ -10,6 +10,7 @@ use App\vehicle; use App\operationsDrivers; use App\operationsTrucks; use Illuminate\Http\Request; +use Illuminate\Support\Facades\View; use Illuminate\Support\Facades\DB; @@ -20,7 +21,7 @@ class operationsController extends Controller if(auth()->user() != null && auth()->user()->fireStationID != null ){ $operations = DB::table('operations')->where('operations.fireStationID', "=", auth()->user()->fireStationID) ->leftJoin('users', 'operations.commanderID', '=', 'users.id') - ->select('operations.operationDate', 'operations.location', 'operations.target', 'operations.dangerType', 'operations.description', 'operations.commanderID', 'operations.fireStationID', 'users.id', 'users.name', 'users.surname') + ->select('operations.id', 'operations.operationDate', 'operations.location', 'operations.target', 'operations.dangerType', 'operations.description', 'operations.commanderID', 'operations.fireStationID', 'users.name', 'users.surname') ->get(); return view('operation', ["operations" => $operations]); @@ -31,8 +32,6 @@ class operationsController extends Controller public function addForm(){ if(auth()->user() != null && auth()->user()->fireStationID != null ){ - //$fireStationID = auth()->user()->fireStationID; - // $fireFighters = User::pluck('fireStationID', $fireStationID); $fireFighters = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID )->get(); $vehicles = DB::table('vehicles')->where("fireStationID", '=', auth()->user()->fireStationID) ->get(); @@ -45,14 +44,25 @@ class operationsController extends Controller public function editForm($id){ if(auth()->user() != null && auth()->user()->fireStationID != null ){ +// $fireFighters = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID )->get(); + $vehicles = DB::table('vehicles')->where("fireStationID", '=', auth()->user()->fireStationID) + ->get(); $operation = DB::table('operations')->where('operations.id', '=', $id)->first(); + $operationMembers = DB::table('operationsMembers')->where('operationID', '=', $id)->get(); // $operation = DB::table('operations')->where('operations.id', '=', $id) // ->leftJoin('users', 'operations.commanderID', '=', 'users.id') // ->select('operations.id', 'operations.operationDate', 'operations.location', 'operations.target', 'operations.dangerType', 'operations.description', 'operations.commanderID', 'operations.fireStationID', 'users.id', 'users.name', 'users.surname') // ->get(); - + $fireFighters = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID ) + ->leftJoin('operationsMembers', function ($join) use($id){ + $join->on('users.id', '=', 'operationsMembers.memberID'); + $join->where('operationsMembers.operationID', '=', $id); + }) + ->select('users.*', 'operationsMembers.memberID', 'operationsMembers.privateTransport') + ->get(); // if($userFireStation == $fireFighterFireStation && auth()->user()->id == $fireStationCreatorId) { - return view('operationEdit', ["operation" => $operation]); +// return view('operationEdit', ["operation" => $operation], ["fireFighters" => $fireFighters], ["operationMembers" => $operationMembers] ); + return View::make('/operationEdit')->with(compact('fireFighters','operation', 'operationMembers', 'vehicles')); // } else{ // return "Brak dostepu"; // } @@ -78,6 +88,7 @@ class operationsController extends Controller 'required' => ':attribute jest wymagany(e)' ]); + // $request = request(); $operations = operations::create([ 'operationDate' => $request-> operationDate, @@ -89,6 +100,7 @@ class operationsController extends Controller 'fireStationID' => auth()->user()->fireStationID, ]); + // Add trucks $operationDriver = $request ->operationDriver; $operationVehicle = $request -> operationVehicle; for($count = 0; $count < count($operationDriver); $count++){ @@ -99,13 +111,29 @@ class operationsController extends Controller ]); } + + + // Add members $attendance = $request-> attendance; - for($count = 0; $count < count($attendance); $count++){ - if($attendance[$count] != 'false'){ + $transport = $request-> transport; + + // Count of firefighters (need for length of array) + $fireFightersCount = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID )->count(); + for($count = 0; $count < $fireFightersCount; $count++){ + + // Check privateTransport checklist + $privateTransport = 2; + if(isset($transport[$count])){ + $privateTransport = 1; + } else{ + $privateTransport = 0; + } + + if(isset($attendance[$count])){ $operationsMembers = operationsMembers::create([ 'operationID' => $operations->id, 'memberID' => $attendance[$count], - 'privateTransport' => $request->transport[$count], + 'privateTransport' => $privateTransport, ]); }; } @@ -114,6 +142,76 @@ class operationsController extends Controller } public function update(){ + $this->validate(request(),[ + 'operationDate' => 'required', + 'operationLocation' => 'required', + 'operationTarget' => 'required', + 'operationDangerType' => 'required', + 'operationDescription' => 'required', + 'operationLeader' => 'required', + 'operationDriver.*' => 'required', + 'operationVehicle.*' => 'required', + 'attendance.*' => 'required', + 'transport.*' => 'required', + ], + [ + 'required' => ':attribute jest wymagany(e)' + ]); + + $request = request(); + $operation = operations::where('id', $request->operationID)->update(array( + 'operationDate' => $request-> operationDate, + 'location' => $request-> operationLocation, + 'target' => $request-> operationTarget, + 'dangerType' => $request-> operationDangerType, + 'description' => $request-> operationDescription, + 'commanderID' => $request-> operationLeader, + 'fireStationID' => auth()->user()->fireStationID + )); + + + operationsTrucks::where('operationID', $request->operationID)->delete(); + + // Add trucks + $operationDriver = $request ->operationDriver; + $operationVehicle = $request -> operationVehicle; + for($count = 0; $count < count($operationDriver); $count++){ + $operationsTrucks = operationsTrucks::create([ + 'operationID' => $request->operationID, + 'truckID' => $operationDriver[$count], + 'driverID' => $operationVehicle[$count] + ]); + } + + operationsMembers::where('operationID', $request->operationID)->delete(); + + + // Add members + $attendance = $request-> attendance; + $transport = $request-> transport; + + // Count of firefighters (need for length of array) + $fireFightersCount = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID )->count(); + for($count = 0; $count < $fireFightersCount; $count++){ + + // Check privateTransport checklist + $privateTransport = 2; + if(isset($transport[$count])){ + $privateTransport = 1; + } else{ + $privateTransport = 0; + } + + if(isset($attendance[$count])){ + $operationsMembers = operationsMembers::create([ + 'operationID' => $request->operationID, + 'memberID' => $attendance[$count], + 'privateTransport' => $privateTransport, + ]); + }; + } + + return operationsController::create(); } } diff --git a/resources/views/operationAdd.blade.php b/resources/views/operationAdd.blade.php index 1f9580a..b13938a 100644 --- a/resources/views/operationAdd.blade.php +++ b/resources/views/operationAdd.blade.php @@ -16,7 +16,7 @@ {{ csrf_field() }}
- +
@@ -72,14 +72,14 @@
- + @php $i = 0; @endphp @foreach($fireFighters as $fireFighterChecklist) - + @php $i++; @@ -88,7 +88,6 @@
Imię i nazwisko: [Obecność:[][][]Transport własny:Imię i nazwisko: Obecność:Transport własny:
{{ $fireFighterChecklist->name }} {{$fireFighterChecklist->surname }} Tak Nie Tak Nie {{ $fireFighterChecklist->name }} {{$fireFighterChecklist->surname }}
-
diff --git a/resources/views/operationEdit.blade.php b/resources/views/operationEdit.blade.php index e2fd179..38fd7c2 100644 --- a/resources/views/operationEdit.blade.php +++ b/resources/views/operationEdit.blade.php @@ -12,7 +12,7 @@ @section('center-area') @parent -
+ {{ csrf_field() }} @@ -41,15 +41,15 @@
- {{--
--}} - {{-- --}} - {{-- --}} - {{--
--}} +
+ + +
@@ -71,24 +71,25 @@
-{{--
--}} -{{-- --}} -{{-- --}} -{{-- --}} -{{-- --}} -{{-- @php--}} -{{-- $i = 0;--}} -{{-- @endphp--}} -{{-- @foreach($fireFighters as $fireFighterChecklist)--}} -{{-- --}} -{{-- --}} -{{-- --}} -{{-- @php--}} -{{-- $i++;--}} -{{-- @endphp--}} -{{-- @endforeach--}} -{{--
Imię i nazwisko: [Obecność:[][][]Transport własny:
{{ $fireFighterChecklist->name }} {{$fireFighterChecklist->surname }} Tak Nie Tak Nie
--}} -{{--
--}} +
+ + + + + @php + $i = 0; + @endphp + @foreach($fireFighters as $fireFighterChecklist) + + + + @php + $i++; + @endphp + @endforeach +
Imię i nazwisko: Obecność:Transport własny:
{{ $fireFighterChecklist->name }} {{$fireFighterChecklist->surname }}
memberID != null ? 'checked' : ''}} >
privateTransport == 1 ? 'checked' : ''}}>
+
+
@@ -109,31 +110,31 @@ function dynamic_field(number) { - {{--html = '
';--}} - {{--html += '';--}} - {{--html += '';--}} - {{--html += '';--}} + html = '
'; + html += ''; + html += ''; + html += ''; - {{--if(number > 1)--}} - {{--{--}} - {{-- html += '
';--}} - {{-- $('#drivers').append(html);--}} - {{--}--}} - {{--else--}} - {{--{--}} - {{-- html += '
';--}} - {{-- $('#drivers').html(html);--}} - {{--}--}} + if(number > 1) + { + html += '
'; + $('#drivers').append(html); + } + else + { + html += '
'; + $('#drivers').html(html); + } } $(document).on('click', '#add', function(){ diff --git a/routes/web.php b/routes/web.php index e9ae103..e431555 100644 --- a/routes/web.php +++ b/routes/web.php @@ -33,8 +33,8 @@ Route::get('/pojazdy', function(){ Route::get('/wyjazdy', 'operationsController@create'); Route::get('/wyjazdy/add/', 'operationsController@addForm'); Route::post('/wyjazdy', 'operationsController@store')->name('operationController.store'); +Route::post('/wyjazdy/edit/', 'operationsController@update')->name('operationController.update'); Route::get('/wyjazdy/edit/{id}', 'operationsController@editForm'); -Route::post('/wyjazdy/edit', 'operationsController@update'); Route::get('/register', 'RegistrationController@create'); Route::post('/register', 'RegistrationController@store');