mirror of
https://github.com/snipe/snipe-it.git
synced 2025-02-02 08:21:09 -08:00
Added redirect to checkin/checkout controllers
Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
parent
5dea3f4495
commit
5d7f1f77a3
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Http\Controllers\Accessories;
|
namespace App\Http\Controllers\Accessories;
|
||||||
|
|
||||||
use App\Events\CheckoutableCheckedIn;
|
use App\Events\CheckoutableCheckedIn;
|
||||||
|
use App\Helpers\Helper;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Accessory;
|
use App\Models\Accessory;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
|
@ -63,7 +64,9 @@ class AccessoryCheckinController extends Controller
|
||||||
|
|
||||||
event(new CheckoutableCheckedIn($accessory, User::find($return_to), auth()->user(), $request->input('note'), $checkin_at));
|
event(new CheckoutableCheckedIn($accessory, User::find($return_to), auth()->user(), $request->input('note'), $checkin_at));
|
||||||
|
|
||||||
return redirect()->route('accessories.show', $accessory->id)->with('success', trans('admin/accessories/message.checkin.success'));
|
session()->put(['redirect_option' => $request->get('redirect_option')]);
|
||||||
|
|
||||||
|
return redirect()->to(Helper::getRedirectOption($request, $accessory->id, 'Accessories'))->with('success', trans('admin/accessories/message.checkin.success'));
|
||||||
}
|
}
|
||||||
// Redirect to the accessory management page with error
|
// Redirect to the accessory management page with error
|
||||||
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.checkin.error'));
|
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.checkin.error'));
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Http\Controllers\Accessories;
|
namespace App\Http\Controllers\Accessories;
|
||||||
|
|
||||||
use App\Events\CheckoutableCheckedOut;
|
use App\Events\CheckoutableCheckedOut;
|
||||||
|
use App\Helpers\Helper;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\AccessoryCheckoutRequest;
|
use App\Http\Requests\AccessoryCheckoutRequest;
|
||||||
use App\Models\Accessory;
|
use App\Models\Accessory;
|
||||||
|
@ -78,8 +79,15 @@ class AccessoryCheckoutController extends Controller
|
||||||
}
|
}
|
||||||
event(new CheckoutableCheckedOut($accessory, $user, auth()->user(), $request->input('note')));
|
event(new CheckoutableCheckedOut($accessory, $user, auth()->user(), $request->input('note')));
|
||||||
|
|
||||||
|
// Set this as user since we only allow checkout to user for this item type
|
||||||
|
$request->request->add(['checkout_to_type' => 'user']);
|
||||||
|
$request->request->add(['assigned_user' => $user->id]);
|
||||||
|
|
||||||
|
session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]);
|
||||||
|
|
||||||
|
|
||||||
// Redirect to the new accessory page
|
// Redirect to the new accessory page
|
||||||
return redirect()->route('accessories.index')
|
return redirect()->to(Helper::getRedirectOption($request, $accessory->id, 'Accessories'))
|
||||||
->with('success', trans('admin/accessories/message.checkout.success'));
|
->with('success', trans('admin/accessories/message.checkout.success'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers\Components;
|
||||||
|
|
||||||
use App\Events\CheckoutableCheckedIn;
|
use App\Events\CheckoutableCheckedIn;
|
||||||
use App\Events\ComponentCheckedIn;
|
use App\Events\ComponentCheckedIn;
|
||||||
|
use App\Helpers\Helper;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Asset;
|
use App\Models\Asset;
|
||||||
use App\Models\Component;
|
use App\Models\Component;
|
||||||
|
@ -96,12 +97,10 @@ class ComponentCheckinController extends Controller
|
||||||
$asset = Asset::find($component_assets->asset_id);
|
$asset = Asset::find($component_assets->asset_id);
|
||||||
|
|
||||||
event(new CheckoutableCheckedIn($component, $asset, auth()->user(), $request->input('note'), Carbon::now()));
|
event(new CheckoutableCheckedIn($component, $asset, auth()->user(), $request->input('note'), Carbon::now()));
|
||||||
if ($backto == 'asset'){
|
|
||||||
return redirect()->route('hardware.show', $asset->id)->with('success',
|
|
||||||
trans('admin/components/message.checkin.success'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()->route('components.index')->with('success',
|
session()->put(['redirect_option' => $request->get('redirect_option')]);
|
||||||
|
|
||||||
|
return redirect()->to(Helper::getRedirectOption($request, $component->id, 'Components'))->with('success',
|
||||||
trans('admin/components/message.checkin.success'));
|
trans('admin/components/message.checkin.success'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers\Components;
|
||||||
|
|
||||||
use App\Events\CheckoutableCheckedOut;
|
use App\Events\CheckoutableCheckedOut;
|
||||||
use App\Events\ComponentCheckedOut;
|
use App\Events\ComponentCheckedOut;
|
||||||
|
use App\Helpers\Helper;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Asset;
|
use App\Models\Asset;
|
||||||
use App\Models\Component;
|
use App\Models\Component;
|
||||||
|
@ -93,7 +94,7 @@ class ComponentCheckoutController extends Controller
|
||||||
->withInput();
|
->withInput();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the user exists
|
// Check if the asset exists
|
||||||
$asset = Asset::find($request->input('asset_id'));
|
$asset = Asset::find($request->input('asset_id'));
|
||||||
|
|
||||||
// Update the component data
|
// Update the component data
|
||||||
|
@ -109,6 +110,11 @@ class ComponentCheckoutController extends Controller
|
||||||
|
|
||||||
event(new CheckoutableCheckedOut($component, $asset, auth()->user(), $request->input('note')));
|
event(new CheckoutableCheckedOut($component, $asset, auth()->user(), $request->input('note')));
|
||||||
|
|
||||||
return redirect()->route('components.index')->with('success', trans('admin/components/message.checkout.success'));
|
$request->request->add(['checkout_to_type' => 'asset']);
|
||||||
|
$request->request->add(['assigned_asset' => $asset->id]);
|
||||||
|
|
||||||
|
session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]);
|
||||||
|
|
||||||
|
return redirect()->to(Helper::getRedirectOption($request, $component->id, 'Components'))->with('success', trans('admin/components/message.checkout.success'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Http\Controllers\Consumables;
|
namespace App\Http\Controllers\Consumables;
|
||||||
|
|
||||||
use App\Events\CheckoutableCheckedOut;
|
use App\Events\CheckoutableCheckedOut;
|
||||||
|
use App\Helpers\Helper;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\Consumable;
|
use App\Models\Consumable;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
|
@ -33,7 +34,7 @@ class ConsumableCheckoutController extends Controller
|
||||||
// Make sure there is at least one available to checkout
|
// Make sure there is at least one available to checkout
|
||||||
if ($consumable->numRemaining() <= 0){
|
if ($consumable->numRemaining() <= 0){
|
||||||
return redirect()->route('consumables.index')
|
return redirect()->route('consumables.index')
|
||||||
->with('error', trans('admin/consumables/message.checkout.unavailable'));
|
->with('error', trans('admin/consumables/message.checkout.unavailable', ['requested' => 1, 'remaining' => $consumable->numRemaining()]));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return the checkout view
|
// Return the checkout view
|
||||||
|
@ -76,7 +77,7 @@ class ConsumableCheckoutController extends Controller
|
||||||
|
|
||||||
// Make sure there is at least one available to checkout
|
// Make sure there is at least one available to checkout
|
||||||
if ($consumable->numRemaining() <= 0 || $quantity > $consumable->numRemaining()) {
|
if ($consumable->numRemaining() <= 0 || $quantity > $consumable->numRemaining()) {
|
||||||
return redirect()->route('consumables.index')->with('error', trans('admin/consumables/message.checkout.unavailable'));
|
return redirect()->route('consumables.index')->with('error', trans('admin/consumables/message.checkout.unavailable', ['requested' => $quantity, 'remaining' => $consumable->numRemaining() ]));
|
||||||
}
|
}
|
||||||
|
|
||||||
$admin_user = auth()->user();
|
$admin_user = auth()->user();
|
||||||
|
@ -101,7 +102,13 @@ class ConsumableCheckoutController extends Controller
|
||||||
}
|
}
|
||||||
event(new CheckoutableCheckedOut($consumable, $user, auth()->user(), $request->input('note')));
|
event(new CheckoutableCheckedOut($consumable, $user, auth()->user(), $request->input('note')));
|
||||||
|
|
||||||
|
$request->request->add(['checkout_to_type' => 'user']);
|
||||||
|
$request->request->add(['assigned_user' => $user->id]);
|
||||||
|
|
||||||
|
session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]);
|
||||||
|
|
||||||
|
|
||||||
// Redirect to the new consumable page
|
// Redirect to the new consumable page
|
||||||
return redirect()->route('consumables.index')->with('success', trans('admin/consumables/message.checkout.success'));
|
return redirect()->to(Helper::getRedirectOption($request, $consumable->id, 'Consumables'))->with('success', trans('admin/consumables/message.checkout.success'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Http\Controllers\Licenses;
|
namespace App\Http\Controllers\Licenses;
|
||||||
|
|
||||||
use App\Events\CheckoutableCheckedIn;
|
use App\Events\CheckoutableCheckedIn;
|
||||||
|
use App\Helpers\Helper;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\License;
|
use App\Models\License;
|
||||||
use App\Models\LicenseSeat;
|
use App\Models\LicenseSeat;
|
||||||
|
@ -100,15 +101,15 @@ class LicenseCheckinController extends Controller
|
||||||
$licenseSeat->asset_id = null;
|
$licenseSeat->asset_id = null;
|
||||||
$licenseSeat->notes = $request->input('notes');
|
$licenseSeat->notes = $request->input('notes');
|
||||||
|
|
||||||
|
session()->put(['redirect_option' => $request->get('redirect_option')]);
|
||||||
|
|
||||||
|
|
||||||
// Was the asset updated?
|
// Was the asset updated?
|
||||||
if ($licenseSeat->save()) {
|
if ($licenseSeat->save()) {
|
||||||
event(new CheckoutableCheckedIn($licenseSeat, $return_to, auth()->user(), $request->input('notes')));
|
event(new CheckoutableCheckedIn($licenseSeat, $return_to, auth()->user(), $request->input('notes')));
|
||||||
|
|
||||||
if ($backTo == 'user') {
|
|
||||||
return redirect()->route('users.show', $return_to->id)->with('success', trans('admin/licenses/message.checkin.success'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()->route('licenses.show', $licenseSeat->license_id)->with('success', trans('admin/licenses/message.checkin.success'));
|
return redirect()->to(Helper::getRedirectOption($request, $license->id, 'Licenses'))->with('success', trans('admin/licenses/message.checkin.success'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Redirect to the license page with error
|
// Redirect to the license page with error
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Http\Controllers\Licenses;
|
namespace App\Http\Controllers\Licenses;
|
||||||
|
|
||||||
use App\Events\CheckoutableCheckedOut;
|
use App\Events\CheckoutableCheckedOut;
|
||||||
|
use App\Helpers\Helper;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\LicenseCheckoutRequest;
|
use App\Http\Requests\LicenseCheckoutRequest;
|
||||||
use App\Models\Accessory;
|
use App\Models\Accessory;
|
||||||
|
@ -81,10 +82,23 @@ class LicenseCheckoutController extends Controller
|
||||||
|
|
||||||
|
|
||||||
$checkoutMethod = 'checkoutTo'.ucwords(request('checkout_to_type'));
|
$checkoutMethod = 'checkoutTo'.ucwords(request('checkout_to_type'));
|
||||||
if ($this->$checkoutMethod($licenseSeat)) {
|
|
||||||
return redirect()->route('licenses.index')->with('success', trans('admin/licenses/message.checkout.success'));
|
if (request('checkout_to_type')=='asset') {
|
||||||
|
$checkoutTarget = $this->checkoutToAsset($licenseSeat);
|
||||||
|
$request->request->add(['assigned_asset' => $checkoutTarget->id]);
|
||||||
|
} else {
|
||||||
|
$checkoutTarget = $this->checkoutToUser($licenseSeat);
|
||||||
|
$request->request->add(['assigned_user' => $checkoutTarget->id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]);
|
||||||
|
|
||||||
|
if ($checkoutTarget) {
|
||||||
|
return redirect()->to(Helper::getRedirectOption($request, $checkoutTarget->id, 'Licenses'))->with('success', trans('admin/licenses/message.checkout.success'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return redirect()->route('licenses.index')->with('error', trans('Something went wrong handling this checkout.'));
|
return redirect()->route('licenses.index')->with('error', trans('Something went wrong handling this checkout.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,8 +134,7 @@ class LicenseCheckoutController extends Controller
|
||||||
}
|
}
|
||||||
if ($licenseSeat->save()) {
|
if ($licenseSeat->save()) {
|
||||||
event(new CheckoutableCheckedOut($licenseSeat, $target, auth()->user(), request('notes')));
|
event(new CheckoutableCheckedOut($licenseSeat, $target, auth()->user(), request('notes')));
|
||||||
|
return $target;
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -137,8 +150,7 @@ class LicenseCheckoutController extends Controller
|
||||||
|
|
||||||
if ($licenseSeat->save()) {
|
if ($licenseSeat->save()) {
|
||||||
event(new CheckoutableCheckedOut($licenseSeat, $target, auth()->user(), request('notes')));
|
event(new CheckoutableCheckedOut($licenseSeat, $target, auth()->user(), request('notes')));
|
||||||
|
return $target;
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue