Mercurial > packages > magicforger
diff src/Generator/Controller/stubs/controller.stub @ 34:f65ab84ee47f default
merge with codex
| author | luka |
|---|---|
| date | Wed, 10 Sep 2025 21:00:47 -0400 |
| parents | 45f384a24553 |
| children |
line wrap: on
line diff
--- a/src/Generator/Controller/stubs/controller.stub Sat Dec 02 10:20:32 2023 -0500 +++ b/src/Generator/Controller/stubs/controller.stub Wed Sep 10 21:00:47 2025 -0400 @@ -10,91 +10,126 @@ { /** * Display a listing of the resource. + * + * @param {{ filterRequest }} $request + * @return \Illuminate\View\View */ - public function index() + public function index({{ filterRequest }} $request) { - $data = []; - - $data['items'] = {{ model }}::all(); + $validated = $request->validated(); + $data = []; + $data['items'] = {{ model }}::get_data($validated); + $data = array_merge($data, {{ model }}::load_index()); return view('{{ tableName }}.index', $data); } + public function get_data() + { + $data = []; + $data['records'] = {{ model }}::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 = []; + $data = array_merge($data, {{ model }}::load_create()); return view('{{ tableName }}.create_edit', $data); } /** * Store a newly created resource in storage. + * + * @param {{ storeRequest }} $request + * @return \Illuminate\Http\RedirectResponse */ public function store({{ storeRequest }} $request) { - $validated = $request->validated(); - - // - ${{ modelVariable }} = new {{ model }}(); + $validated = $request->validated(); - //insert the values into the model - // {{ valuesForCreation }} - - ${{ modelVariable }}->save(); + {{ model }}::create($validated); return redirect()->route('{{ tableName }}.index'); } /** * Display the specified resource. + * + * @param {{ model }} ${{ modelVariable }} + * @return \Illuminate\View\View */ public function show({{ model }} ${{ modelVariable }}) { - $data = []; - - $data['item'] = ${{ modelVariable }}; + $data = []; + $data['item'] = ${{ modelVariable }}; + $data['fields'] = (new {{ model }}())->getFillable(); + + return view('{{ tableName }}.show', $data); + } - return view('{{ tableName }}.show', $data); + /** + * Returns the resource in JSON format. + * + * @param ModelType $modelVariable + * @return string + */ + public function load({{ model }} ${{ modelVariable }}) + { + return ${{ modelVariable }}->toJson(); } /** * Show the form for editing the specified resource. + * + * @param {{ model }} ${{ modelVariable }} + * @return \Illuminate\View\View */ public function edit({{ model }} ${{ modelVariable }}) { - $data = []; + $data = []; + $data['item'] = ${{ modelVariable }}; - $data['item'] = ${{ modelVariable }}; + // Load data for relationships + $data = array_merge($data, {{ model }}::load_edit()); - return view('{{ tableName }}.create_edit', $data); + return view('{{ tableName }}.create_edit', $data); } /** * Update the specified resource in storage. + * + * @param {{ updateRequest }} $request + * @param {{ model }} ${{ modelVariable }} + * @return \Illuminate\Http\RedirectResponse */ public function update({{ updateRequest }} $request, {{ model }} ${{ modelVariable }}) { - $validated = $request->validated(); + $validated = $request->validated(); - // Set the variables - //{{ valuesForCreation }} + ${{ modelVariable }}->update($validated); - ${{ modelVariable }}->save(); - - return redirect()->route('{{ tableName }}.index'); + return redirect()->route('{{ tableName }}.index'); } /** * Remove the specified resource from storage. + * + * @param {{ model }} ${{ modelVariable }} + * @return \Illuminate\Http\RedirectResponse */ public function destroy({{ model }} ${{ modelVariable }}) { - // - ${{ modelVariable }}->delete(); + ${{ modelVariable }}->delete(); - return redirect()->route('{{ tableName }}.index'); + return redirect()->route('{{ tableName }}.index'); } }
