| @@ 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 | ||
| @@ 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 | ||