diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index b839b287e1..ff67985091 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -1461,27 +1461,34 @@ class Helper } - static public function getRedirectOption($request, $assetId) - { + static public function getRedirectOption($request, $Id, $table) + { dd($request); $redirect_option = session::get('redirect_option'); $checkout_to_type = session::get('checkout_to_type'); if ($redirect_option == '0') { - return redirect()->route('hardware.index')->with('success', trans('admin/hardware/message.checkout.success')); + switch ($table) { + case "Assets": + return redirect()->route('hardware.index')->with('success', trans('admin/hardware/message.checkout.success')); + case "Licenses": + return redirect()->route('licenses.index')->with('success', trans('admin/hardware/message.checkout.success')); + } } if ($redirect_option == '1') { - return redirect()->route('hardware.show', $assetId)->with('success', trans('admin/hardware/message.checkout.success')); + switch ($table) { + case "Assets": + return redirect()->route('hardware.show', $Id)->with('success', trans('admin/hardware/message.checkout.success')); + case "Licenses": + return redirect()->route('licenses.show', $Id)->with('success', trans('admin/hardware/message.checkout.success')); + } } if ($redirect_option == '2') { - - if ($checkout_to_type == 'user') { - return redirect()->route('users.show', $request->assigned_user)->with('success', trans('admin/hardware/message.checkout.success')); - } - if ($checkout_to_type == 'location') { - - return redirect()->route('locations.show', $request->assigned_location)->with('success', trans('admin/hardware/message.checkout.success')); - } - if ($checkout_to_type == 'asset') { + switch ($checkout_to_type) { + case 'user': + return redirect()->route('users.show', $request->assigned_user)->with('success', trans('admin/hardware/message.checkout.success')); + case 'location': + return redirect()->route('locations.show', $request->assigned_location)->with('success', trans('admin/hardware/message.checkout.success')); + case 'asset': return redirect()->route('hardware.show', $request->assigned_asset)->with('success', trans('admin/hardware/message.checkout.success')); } } diff --git a/app/Http/Controllers/Licenses/LicenseCheckoutController.php b/app/Http/Controllers/Licenses/LicenseCheckoutController.php index d61a1ad819..aa2a32e692 100644 --- a/app/Http/Controllers/Licenses/LicenseCheckoutController.php +++ b/app/Http/Controllers/Licenses/LicenseCheckoutController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\Licenses; use App\Events\CheckoutableCheckedOut; +use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Http\Requests\LicenseCheckoutRequest; use App\Models\Accessory; @@ -11,6 +12,7 @@ use App\Models\License; use App\Models\LicenseSeat; use App\Models\User; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Session; class LicenseCheckoutController extends Controller { @@ -41,7 +43,7 @@ class LicenseCheckoutController extends Controller } // Return the checkout view - return view('licenses/checkout', compact('license')); + return view('licenses/checkout', compact('license'))->with('table_name' , 'Licenses'); } // Invalid category @@ -77,11 +79,15 @@ class LicenseCheckoutController extends Controller $licenseSeat = $this->findLicenseSeatToCheckout($license, $seatId); $licenseSeat->user_id = Auth::id(); $licenseSeat->notes = $request->input('notes'); - $checkoutMethod = 'checkoutTo'.ucwords(request('checkout_to_type')); + $redirect_option = $request->get('redirect_option'); + Session::put('checkout_to_type', $request->input('checkout_to_type')); + if($redirect_option != Session::get('redirect_option')) { + Session::put(['redirect_option' => $redirect_option]); + } if ($this->$checkoutMethod($licenseSeat)) { - return redirect()->route('licenses.index')->with('success', trans('admin/licenses/message.checkout.success')); + return Helper::getRedirectOption($request, $licenseId, 'Licenses'); } return redirect()->route('licenses.index')->with('error', trans('Something went wrong handling this checkout.')); @@ -112,7 +118,6 @@ class LicenseCheckoutController extends Controller return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.asset_does_not_exist')); } $licenseSeat->asset_id = request('asset_id'); - // Override asset's assigned user if available if ($target->checkedOutToUser()) { $licenseSeat->assigned_to = $target->assigned_to; diff --git a/resources/views/licenses/checkout.blade.php b/resources/views/licenses/checkout.blade.php index e85c677420..3bf6350739 100755 --- a/resources/views/licenses/checkout.blade.php +++ b/resources/views/licenses/checkout.blade.php @@ -2,8 +2,8 @@ {{-- Page title --}} @section('title') - {{ trans('admin/licenses/general.checkout') }} -@parent + {{ trans('admin/licenses/general.checkout') }} + @parent @stop @section('header_right') @@ -13,105 +13,104 @@ {{-- Page content --}} @section('content') -