217 lines
8.0 KiB
PHP
217 lines
8.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\vehicle;
|
|
use DB;
|
|
use Carbon\Carbon; // formatowanie daty
|
|
|
|
function formatDate($date)
|
|
{
|
|
if ($date == null)
|
|
return $date;
|
|
else
|
|
$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)
|
|
->whereNull('deleted_at')->paginate(10);
|
|
return view("vehicles", ["vehicles" => $vehicles]);
|
|
} else{
|
|
return view('vehicles');
|
|
}
|
|
|
|
}
|
|
|
|
public function addForm(){
|
|
if(auth()->user() != null && auth()->user()->accessLevel() == 50 ){ //prezes,naczelnik
|
|
return view('vehiclesAdd');
|
|
} else return redirect()->to('/pojazdy');
|
|
}
|
|
|
|
public function editForm($id)
|
|
{
|
|
if(auth()->user() != null && auth()->user()->accessLevel() == 50 ) //prezes,naczelnik
|
|
{
|
|
|
|
$vehicle = DB::table('vehicles')->where("id", $id)->first();
|
|
return view('vehiclesEdit', ["vehicle" => $vehicle]);
|
|
}
|
|
else
|
|
redirect()->to('/pojazdy');
|
|
}
|
|
|
|
public function store(){
|
|
$this->validate(request(), [
|
|
|
|
'vehicleName' => 'required|max:45',
|
|
'codename' => 'required|max:45',
|
|
'brand' => 'max:45',
|
|
'registrationNumber' => 'max:15',
|
|
'productionYear' => 'digits:4|nullable',
|
|
'driveType' => 'max:45',
|
|
'chassisType' => 'max:45',
|
|
'bodyProducer' => 'max:45',
|
|
'crewNumber' => 'numeric|nullable|digits_between:1,2',
|
|
'foamAgent' => 'numeric|nullable|digits_between:1,10',
|
|
'enginePower' => 'numeric|nullable|digits_between:1,10',
|
|
'mass' => 'numeric|nullable|digits_between:1,10',
|
|
'chassisNumber' => 'max:45',
|
|
'engineNumber' => 'max:45',
|
|
'fuelType' => 'max:45',
|
|
'chassisPoductionYear' => 'digits:4|nullable',
|
|
'fireEnginePumpDescription' => 'max:250',
|
|
],
|
|
[
|
|
|
|
'name' => 'nazwa',
|
|
'required' => ':attribute jest wymagany(e).',
|
|
'numeric' => ':attribute może zawierać tylko cyfry.',
|
|
'digits' => ':attribute musi składać się z :digits cyfr.',
|
|
'max' => ':attribute musi mieć nie więcej niż :max znaków.',
|
|
'digits_between' => ':attribute jest za duży(a)'
|
|
|
|
]);
|
|
|
|
|
|
$request = request();
|
|
$vehicle = vehicle::create([
|
|
'fireStationID' => auth()->user()->fireStationID,
|
|
'name' => $request-> vehicleName,
|
|
'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,
|
|
'status' => $request-> status
|
|
]);
|
|
|
|
return redirect()->to('/pojazdy');
|
|
}
|
|
|
|
|
|
public function update(){
|
|
$this->validate(request(), [
|
|
|
|
'vehicleName' => 'required|max:45',
|
|
'codename' => 'required|max:45',
|
|
'brand' => 'max:45',
|
|
'registrationNumber' => 'max:15',
|
|
'productionYear' => 'digits:4|nullable',
|
|
'driveType' => 'max:45',
|
|
'chassisType' => 'max:45',
|
|
'bodyProducer' => 'max:45',
|
|
'crewNumber' => 'numeric|nullable|digits_between:1,2',
|
|
'foamAgent' => 'numeric|nullable|digits_between:1,10',
|
|
'enginePower' => 'numeric|nullable|digits_between:1,10',
|
|
'mass' => 'numeric|nullable|digits_between:1,10',
|
|
'chassisNumber' => 'max:45',
|
|
'engineNumber' => 'max:45',
|
|
'fuelType' => 'max:45',
|
|
'chassisPoductionYear' => 'digits:4|nullable',
|
|
'fireEnginePumpDescription' => 'max:250',
|
|
],
|
|
[
|
|
|
|
'name' => 'nazwa',
|
|
'required' => ':attribute jest wymagany(e).',
|
|
'numeric' => ':attribute może zawierać tylko cyfry.',
|
|
'digits' => ':attribute musi składać się z :digits cyfr.',
|
|
'max' => ':attribute musi mieć nie więcej niż :max znaków.',
|
|
'digits_between' => ':attribute jest za duży(a)'
|
|
|
|
]);
|
|
|
|
|
|
$request = request();
|
|
$vehicle = vehicle::find( $request->vehicleID);
|
|
$vehicle-> name = $request-> vehicleName;
|
|
$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-> status = $request-> status;
|
|
$vehicle->save();
|
|
|
|
return redirect()->to('/pojazdy');;
|
|
}
|
|
|
|
public function destroy($id)
|
|
{
|
|
vehicle::where('id',$id)->delete();
|
|
return response()->json([
|
|
'success' => 'Record deleted successfully!'
|
|
]);
|
|
}
|
|
|
|
public function activate()
|
|
{
|
|
$request = request();
|
|
$vehicle = vehicle::find( $request-> vehicleID);
|
|
$vehicle-> status = 1;
|
|
$vehicle->save();
|
|
return redirect()->to('/pojazdy');
|
|
}
|
|
|
|
public function deactivate()
|
|
{
|
|
$request = request();
|
|
$vehicle = vehicle::find( $request-> vehicleID);
|
|
$vehicle-> status = 0;
|
|
$vehicle->save();
|
|
return redirect()->to('/pojazdy');
|
|
}
|
|
|
|
public function createAllVehiclesPDF(){
|
|
if (auth()->user() != null && auth()->user()->fireStationID != null) {
|
|
$request = request();
|
|
$test = new documentCreators();
|
|
$test->createAllVehiclesPDF($request->fireStationID);
|
|
}
|
|
}
|
|
|
|
public function createSingleVehiclePDF(){
|
|
if (auth()->user() != null && auth()->user()->fireStationID != null) {
|
|
$request = request();
|
|
$test = new documentCreators();
|
|
$test->createSingleVehiclePDF($request->vehicleID);
|
|
}
|
|
}
|
|
}
|