eOSP2/app/Http/Controllers/EquipmentController.php

116 lines
3.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\equipment;
use DB;
class EquipmentController extends Controller
{
public function create(){
if(auth()->user() != null && auth()->user()->fireStationID != null ){
$equipment = DB::table('equipment')->where("fireStationID", '=', auth()->user()->fireStationID)
->whereNull('deleted_at')->paginate(10);
return view("equipment", ["equipment" => $equipment]);
} else{
return view('equipment');
}
}
public function addForm(){
if(auth()->user() != null && auth()->user()->accessLevel() == 50 ){ //prezes,naczelnik
return view('equipmentAdd');
} else return redirect()->to('/sprzet');
}
public function editForm($id)
{
if(auth()->user() != null && auth()->user()->accessLevel() == 50 ) //prezes,naczelnik
{
$equipment = DB::table('equipment')->where("id", $id)->first();
return view('equipmentEdit', ["equipment" => $equipment]);
}
else
return redirect()->to('/sprzet');
}
public function store(){
$this->validate(request(), [
'name' => 'required|max:45',
'amount' => 'required|numeric|digits_between:1,10',
'parameter' => 'max:45|nullable',
],
[
'required' => ':attribute jest wymagany(a).',
'name.required' => 'nazwa jest wymagany(a).',
'name.max' => 'nazwa musi mieć nie więcej niż :max znaków.',
'max' => ':attribute musi mieć nie więcej niż :max znaków.',
'numeric' => ':attribute powinna zawierać tylko cyfry.',
'digits_between' => ':attribute jest za duży(a)'
]);
$request = request();
$equipment = equipment::create([
'fireStationID' => auth()->user()->fireStationID,
'name' => $request-> name,
'amount' => $request-> amount,
'parameter' => $request-> parameter,
]);
return redirect()->to('/sprzet');
}
public function update(){
$this->validate(request(), [
'name' => 'required|max:45',
'amount' => 'required|numeric|digits_between:1,10',
'parameter' => 'max:45|nullable',
],
[
'required' => ':attribute jest wymagany(a).',
'name.required' => 'nazwa jest wymagany(a).',
'name.max' => 'nazwa musi mieć nie więcej niż :max znaków.',
'max' => ':attribute musi mieć nie więcej niż :max znaków.',
'numeric' => ':attribute powinna zawierać tylko cyfry.',
'digits_between' => ':attribute jest za duży(a)'
]);
$request = request();
$equipment = equipment::find( $request->equipmentID);
$equipment-> name = $request-> name;
$equipment-> amount = $request-> amount;
$equipment-> parameter = $request-> parameter;
$equipment->save();
return redirect()->to('/sprzet');
}
public function destroy($id)
{
equipment::where('id',$id)->delete();
return response()->json([
'success' => 'Record deleted successfully!'
]);
}
public function createAllEquipmentPDF(){
if (auth()->user() != null && auth()->user()->fireStationID != null) {
$request = request();
$test = new documentCreators();
$test->createAllEquipmentPDF($request->fireStationID);
}
}
}