authorize('manage', $vm); $action = VmPowerAction::from($request->validate([ 'action' => ['required', Rule::enum(VmPowerAction::class)], ])['action']); if (in_array($action, [VmPowerAction::Stop, VmPowerAction::Reset, VmPowerAction::Reboot], true)) { $snapshots->autoBeforeDestructive($vm, $request->user(), 'power-'.$action->value); } try { $management->power($vm, $action, $request->user()); } catch (\Throwable $e) { return back()->withErrors(['power' => $e->getMessage()]); } return back()->with('success', $action->label().' wurde ausgeführt.'); } }