eOSP2/app/Http/Controllers/VehiclesController.php

150 lines
5.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\vehicle;
use DB;
use Carbon\Carbon; // formatowanie daty
function formatDate($date)
{
$fdate = Carbon::parse($date);
return $fdate;
}
class VehiclesController extends Controller
{
public function create(){
if(auth()->user() != null && auth()->user()->fireStationID != null ){
$vehicles = DB::table('vehicles')->where("fireStationID", '=', auth()->user()->fireStationID)
->get();
return view("vehicles", ["vehicles" => $vehicles]);
} else{
return view('vehicles');
}
}
public function addForm(){
if(auth()->user() != null && auth()->user()->fireStationID != null ){
return view('vehiclesAdd');
} else return view("login");
}
public function editForm($id)
{
if(auth()->user() != null && auth()->user()->fireStationID != null )
{
//$userFireStation = auth()->user()->fireStationID;
//$fireFighterFireStation = DB::table('users')->where("id", $id)->value('fireStationID');
//$fireStationCreatorId = DB::table('fireStations')->where("id", $userFireStation)->value('creatorID');
$vehicle = DB::table('vehicles')->where("id", $id)->first();
return view('vehiclesEdit', ["vehicle" => $vehicle]);
}
else
return "Brak dostepu";
}
public function store(){
$this->validate(request(), [
'name' => 'required',
'productionYear' => 'digits:4',
'foamAgent' => 'numeric',
'enginePower' => 'numeric',
'crewNumber' => 'numeric',
'mass' => 'numeric',
'chassisPoductionYear' => 'numeric',
//dokończyć! Wypytać Adriana które mają być required
],
[
'required' => ':attribute jest wymagany(e).',
'numeric' => ':attribute zawiera tylko cyfry.',
'digits' => ':attribute musi składać się z :digits cyfr.',
]);
$request = request();
$vehicle = vehicle::create([
'fireStationID' => auth()->user()->fireStationID,
'name' => $request-> name,
'codename' => $request-> codename,
'brand' => $request-> brand,
'registrationNumber' => $request-> registrationNumber,
'productionYear' => $request-> productionYear,
'examExpirationDate' => formatDate($request-> examExpirationDate),
'insuranceExpirationDate' => formatDate($request-> insuranceExpirationDate),
'driveType' => $request-> driveType,
'chassisType' => $request-> chassisType,
'bodyProducer' => $request-> bodyProducer,
'crewNumber' => $request-> crewNumber,
'foamAgent' => $request-> foamAgent,
'enginePower' => $request-> enginePower,
'mass' => $request-> mass,
'chassisNumber' => $request-> chassisNumber,
'engineNumber' => $request-> engineNumber,
'fuelType' => $request-> fuelType,
'chassisPoductionYear' => $request-> chassisPoductionYear,
'entryIntoServiceDate' => formatDate($request-> entryIntoServiceDate),
'fireEnginePumpDescription' => $request-> fireEnginePumpDescription,
]);
return redirect()->to('/pojazdy');
}
public function update(){
$this->validate(request(), [
'name' => 'required',
'productionYear' => 'digits:4',
'foamAgent' => 'numeric',
'enginePower' => 'numeric',
'crewNumber' => 'numeric',
'mass' => 'numeric',
'chassisPoductionYear' => 'numeric',
//dokończyć! Wypytać Adriana które mają być required
],
[
'required' => ':attribute jest wymagany(e).',
'numeric' => ':attribute zawiera tylko cyfry.',
'digits' => ':attribute musi składać się z :digits cyfr.',
]);
$request = request();
$vehicle = vehicle::find( $request->vehicleID);
$vehicle-> name = $request-> name;
$vehicle-> codename = $request-> codename;
$vehicle-> brand = $request-> brand;
$vehicle-> registrationNumber = $request-> registrationNumber;
$vehicle-> productionYear = $request-> productionYear;
$vehicle-> examExpirationDate = formatDate($request-> examExpirationDate);
$vehicle-> insuranceExpirationDate = formatDate($request-> insuranceExpirationDate);
$vehicle-> driveType = $request-> driveType;
$vehicle-> chassisType = $request-> chassisType;
$vehicle-> bodyProducer = $request-> bodyProducer;
$vehicle-> crewNumber = $request-> crewNumber;
$vehicle-> foamAgent = $request-> foamAgent;
$vehicle-> enginePower = $request-> enginePower;
$vehicle-> mass = $request-> mass;
$vehicle-> chassisNumber = $request-> chassisNumber;
$vehicle-> engineNumber = $request-> engineNumber;
$vehicle-> fuelType = $request-> fuelType;
$vehicle-> chassisPoductionYear = $request-> chassisPoductionYear;
$vehicle-> entryIntoServiceDate = formatDate($request-> entryIntoServiceDate);
$vehicle-> fireEnginePumpDescription = $request-> fireEnginePumpDescription;
$vehicle->save();
return VehiclesController::create();
}
}