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

conedevelopment / root / 20660470826

02 Jan 2026 03:01PM UTC coverage: 75.141% (+0.4%) from 74.725%
20660470826

push

github

iamgergo
fixes

17 of 32 new or added lines in 6 files covered. (53.13%)

1 existing line in 1 file now uncovered.

3470 of 4618 relevant lines covered (75.14%)

32.85 hits per line

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

80.85
/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\DB;
14
use Illuminate\Support\Facades\Redirect;
15
use Illuminate\Support\Facades\Response as ResponseFactory;
16

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NEW
129
        return DB::transaction(static function () use ($request, $model, $related, $field): Response {
×
NEW
130
            $data = match (true) {
×
NEW
131
                $model->exists => $field->toEdit($request, $model, $related),
×
NEW
132
                default => $field->toCreate($request, $model),
×
NEW
133
            };
×
134

NEW
135
            return ResponseFactory::view('root::resources.form-turbo-frame', $data);
×
NEW
136
        });
×
137
    }
138
}
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