Code Duplication    Length = 43-50 lines in 2 locations

app/Http/Controllers/UserDeviceController.php 1 location

@@ 33-75 (lines=43) @@
30
use App\Models\Device;
31
use App\Models\User;
32
33
class UserDeviceController extends Controller
34
{
35
    public function create(AdminOnlyRequest $request, $user_id) {
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
        if(count($device_ids) == 0) {
52
            return redirect()->back();
53
        }
54
        
55
        foreach($device_ids as $device_id) {
56
            $device = Device::find($device_id);
57
            $user->devices()->attach($device);
58
        }
59
        return redirect()->back()->with(['type' => 'success', 'message' => "Devices added."]);
60
    }
61
62
    /**
63
     * @param AdminOnlyRequest $request
64
     * @param $user_id
65
     * @param $device_id
66
     * @return mixed
67
     */
68
    public function destroy(AdminOnlyRequest $request, $user_id, $device_id)
69
    {
70
        $user = User::find($user_id);
71
        $device = Device::find($device_id);
72
        $user->devices()->detach($device);
73
        return redirect()->back()->with(['type' => 'success', 'message' => "Device ".$device->hostname." removed."]);
74
    }
75
}
76

app/Http/Controllers/UserPortController.php 1 location

@@ 33-82 (lines=50) @@
30
use App\Models\Port;
31
use App\Models\User;
32
33
class UserPortController extends Controller
34
{
35
    /**
36
     * @param AdminOnlyRequest $request
37
     * @param $user_id
38
     * @return mixed
39
     */
40
    public function create(AdminOnlyRequest $request, $user_id)
41
    {
42
        $user = User::with('ports')->find($user_id);
43
        return view('users.ports-create')->withUser($user);
44
    }
45
46
    /**
47
     * @param AdminOnlyRequest $request
48
     * @param $user_id
49
     * @param $port_id
50
     * @return mixed
51
     */
52
    public function store(AdminOnlyRequest $request, $user_id)
53
    {
54
        $user = User::find($user_id);
55
56
        $port_ids = $request->input('ports');
57
        if(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' => "Ports added."]);
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' => "Port ".$port->getLabel()." removed."]);
80
    }
81
82
}
83