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() }}
-
+
- {{-- --}}
- {{-- --}}
- {{-- --}}
- {{--
--}}
+
+
+
+
@@ -71,24 +71,25 @@
-{{-- --}}
+
+
';
+ $('#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');