Mercurial > borealpoint
diff app/Http/Controllers/ClientController.php @ 2:90296614b7e2 default tip
Adding in the base for the clients table
| author | luka |
|---|---|
| date | Thu, 28 Aug 2025 20:55:40 -0400 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/Http/Controllers/ClientController.php Thu Aug 28 20:55:40 2025 -0400 @@ -0,0 +1,129 @@ +<?php + +namespace App\Http\Controllers; + +use App\Http\Requests\Client\FilterClientRequest; +use App\Http\Requests\Client\StoreClientRequest; +use App\Http\Requests\Client\UpdateClientRequest; +use App\Models\Client; + +class ClientController extends Controller +{ + /** + * Display a listing of the resource. + * + * @return \Illuminate\View\View + */ + public function index(FilterClientRequest $request) + { + $validated = $request->validated(); + $data = []; + $data['items'] = Client::get_data($validated); + $data = array_merge($data, Client::load_index()); + + return view('clients.index', $data); + } + + public function get_data() + { + $data = []; + $data['records'] = Client::get_data([]); + $data['total_records'] = count($data['records']); + + return $data; + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\View\View + */ + public function create() + { + $data = []; + $data = array_merge($data, Client::load_create()); + + return view('clients.create_edit', $data); + } + + /** + * Store a newly created resource in storage. + * + * @return \Illuminate\Http\RedirectResponse + */ + public function store(StoreClientRequest $request) + { + $validated = $request->validated(); + + Client::create($validated); + + return redirect()->route('clients.index'); + } + + /** + * Display the specified resource. + * + * @return \Illuminate\View\View + */ + public function show(Client $client) + { + $data = []; + $data['item'] = $client; + $data['fields'] = (new Client)->getFillable(); + + return view('clients.show', $data); + } + + /** + * Returns the resource in JSON format. + * + * @param ModelType $modelVariable + * @return string + */ + public function load(Client $client) + { + return $client->toJson(); + } + + /** + * Show the form for editing the specified resource. + * + * @return \Illuminate\View\View + */ + public function edit(Client $client) + { + $data = []; + $data['item'] = $client; + + // Load data for relationships + $data = array_merge($data, Client::load_edit()); + + return view('clients.create_edit', $data); + } + + /** + * Update the specified resource in storage. + * + * @return \Illuminate\Http\RedirectResponse + */ + public function update(UpdateClientRequest $request, Client $client) + { + $validated = $request->validated(); + + $client->update($validated); + + return redirect()->route('clients.index'); + } + + /** + * Remove the specified resource from storage. + * + * @return \Illuminate\Http\RedirectResponse + */ + public function destroy(Client $client) + { + $client->delete(); + + return redirect()->route('clients.index'); + } +}
