• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

conedevelopment / root / 20656991146

02 Jan 2026 11:33AM UTC coverage: 74.719% (-0.7%) from 75.421%
20656991146

push

github

iamgergo
fix

3458 of 4628 relevant lines covered (74.72%)

32.75 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

79.17
/src/Http/Controllers/RelationController.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace Cone\Root\Http\Controllers;
6

7
use Cone\Root\Support\Alert;
8
use Illuminate\Database\Eloquent\Model;
9
use Illuminate\Database\Eloquent\SoftDeletes;
10
use Illuminate\Http\RedirectResponse;
11
use Illuminate\Http\Request;
12
use Illuminate\Http\Response;
13
use Illuminate\Support\Facades\Redirect;
14
use Illuminate\Support\Facades\Response as ResponseFactory;
15

16
class RelationController extends Controller
17
{
18
    /**
19
     * Display a listing of the resource.
20
     */
21
    public function index(Request $request, Model $model): Response
2✔
22
    {
23
        /** @var \Cone\Root\Fields\Relation $field */
24
        $field = $request->route('field');
2✔
25

26
        $data = $field->toIndex($request, $model);
2✔
27

28
        return ResponseFactory::view(
2✔
29
            $data['template'], $data
2✔
30
        );
2✔
31
    }
32

33
    /**
34
     * Show the form for creating a new resource.
35
     */
36
    public function create(Request $request, Model $model): Response
1✔
37
    {
38
        /** @var \Cone\Root\Fields\Relation $field */
39
        $field = $request->route('field');
1✔
40

41
        $data = $field->toCreate($request, $model);
1✔
42

43
        return ResponseFactory::view(
1✔
44
            $data['template'], $data
1✔
45
        );
1✔
46
    }
47

48
    /**
49
     * Store a newly created resource in storage.
50
     */
51
    public function store(Request $request, Model $model): RedirectResponse
1✔
52
    {
53
        /** @var \Cone\Root\Fields\Relation $field */
54
        $field = $request->route('field');
1✔
55

56
        $related = $field->getRelation($model)->make()->setRelation('related', $model);
1✔
57

58
        return $field->handleFormRequest($request, $related);
1✔
59
    }
60

61
    /**
62
     * Display the specified resource.
63
     */
64
    public function show(Request $request, Model $model, Model $related): Response
1✔
65
    {
66
        /** @var \Cone\Root\Fields\Relation $field */
67
        $field = $request->route('field');
1✔
68

69
        $data = $field->toShow($request, $model, $related);
1✔
70

71
        return ResponseFactory::view(
1✔
72
            $data['template'], $data
1✔
73
        );
1✔
74
    }
75

76
    /**
77
     * Show the form for editing the specified resource.
78
     */
79
    public function edit(Request $request, Model $model, Model $related): Response
1✔
80
    {
81
        /** @var \Cone\Root\Fields\Relation $field */
82
        $field = $request->route('field');
1✔
83

84
        $data = $field->toEdit($request, $model, $related);
1✔
85

86
        return ResponseFactory::view(
1✔
87
            $data['template'], $data
1✔
88
        );
1✔
89
    }
90

91
    /**
92
     * Update the specified resource in storage.
93
     */
94
    public function update(Request $request, Model $model, Model $related): RedirectResponse
1✔
95
    {
96
        /** @var \Cone\Root\Fields\Relation $field */
97
        $field = $request->route('field');
1✔
98

99
        $related->setRelation('related', $model);
1✔
100

101
        return $field->handleFormRequest($request, $related);
1✔
102
    }
103

104
    /**
105
     * Remove the specified resource from storage.
106
     */
107
    public function destroy(Request $request, Model $model, Model $related): RedirectResponse
1✔
108
    {
109
        /** @var \Cone\Root\Fields\Relation $field */
110
        $field = $request->route('field');
1✔
111

112
        $trashed = class_uses_recursive(SoftDeletes::class) && $related->trashed();
1✔
113

114
        $trashed ? $related->forceDelete() : $related->delete();
1✔
115

116
        return Redirect::to($field->modelUrl($model))
1✔
117
            ->with('alerts.relation-deleted', Alert::success(__('The relation has been deleted!')));
1✔
118
    }
119

120
    /**
121
     * Hydrate the specified resource form.
122
     */
123
    public function hydrate(Request $request, Model $model, Model $related): Response
×
124
    {
125
        /** @var \Cone\Root\Fields\Relation $field */
126
        $field = $request->route('field');
×
127

128
        $field->handleHydrateRequest($request, $model, $related);
×
129

130
        $data = match (true) {
×
131
            $model->exists => $field->toEdit($request, $model, $related),
×
132
            default => $field->toCreate($request, $model),
×
133
        };
×
134

135
        return ResponseFactory::view(
×
136
            'root::resources.form-turbo-frame', $data
×
137
        );
×
138
    }
139
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc