Code Duplication    Length = 45-51 lines in 2 locations

app/Http/Controllers/UserDeviceController.php 1 location

@@ 32-76 (lines=45) @@
29
use App\Models\Device;
30
use App\Models\User;
31
32
class UserDeviceController extends Controller
33
{
34
    public function create(AdminOnlyRequest $request, $user_id)
35
    {
36
        $user = User::with('devices')->find($user_id);
37
38
        return view('users.devices-create')->withUser($user);
39
    }
40
41
    /**
42
     * @param AdminOnlyRequest $request
43
     * @param $user_id
44
     * @return mixed
45
     */
46
    public function store(AdminOnlyRequest $request, $user_id)
47
    {
48
        $user = User::find($user_id);
49
50
        $device_ids = $request->input('devices');
51
52
        if (!is_array($device_ids) || count($device_ids) == 0) {
53
            return redirect()->back();
54
        }
55
56
        foreach ($device_ids as $device_id) {
57
            $device = Device::find($device_id);
58
            $user->devices()->attach($device);
59
        }
60
        return redirect()->back()->with(['type' => 'success', 'message' => trans('user.text.devicesadded')]);
61
    }
62
63
    /**
64
     * @param AdminOnlyRequest $request
65
     * @param $user_id
66
     * @param $device_id
67
     * @return mixed
68
     */
69
    public function destroy(AdminOnlyRequest $request, $user_id, $device_id)
70
    {
71
        $user = User::find($user_id);
72
        $device = Device::find($device_id);
73
        $user->devices()->detach($device);
74
        return redirect()->back()->with(['type' => 'success', 'message' => trans('user.text.deviceremoved', ['hostname' => $device->hostname])]);
75
    }
76
}
77

app/Http/Controllers/UserPortController.php 1 location

@@ 32-82 (lines=51) @@
29
use App\Models\Port;
30
use App\Models\User;
31
32
class UserPortController extends Controller
33
{
34
    /**
35
     * @param AdminOnlyRequest $request
36
     * @param $user_id
37
     * @return mixed
38
     */
39
    public function create(AdminOnlyRequest $request, $user_id)
40
    {
41
        $user = User::with('ports')->find($user_id);
42
        return view('users.ports-create')->withUser($user);
43
    }
44
45
    /**
46
     * @param AdminOnlyRequest $request
47
     * @param $user_id
48
     * @param $port_id
49
     * @return mixed
50
     */
51
    public function store(AdminOnlyRequest $request, $user_id)
52
    {
53
        $user = User::find($user_id);
54
55
        $port_ids = $request->input('ports');
56
57
        if (!is_array($port_ids) || count($port_ids) == 0) {
58
            return redirect()->back();
59
        }
60
61
        foreach ($port_ids as $port_id) {
62
            $port = Port::find($port_id);
63
            $user->ports()->attach($port);
64
        }
65
        return redirect()->back()->with(['type' => 'success', 'message' => trans('user.text.portsadded')]);
66
    }
67
68
    /**
69
     * @param AdminOnlyRequest $request
70
     * @param $user_id
71
     * @param $port_id
72
     * @return mixed
73
     */
74
    public function destroy(AdminOnlyRequest $request, $user_id, $port_id)
75
    {
76
        $user = User::find($user_id);
77
        $port = Port::find($port_id);
78
        $user->ports()->detach($port);
79
        return redirect()->back()->with(['type' => 'success', 'message' => trans('user.text.portremoved', ['label' => $port->getLabel()])]);
80
    }
81
82
}
83