| Path : /var/www/html/thb_loan_system/app/Http/Middleware/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : //var/www/html/thb_loan_system/app/Http/Middleware/CheckBranch.php |
<?php
namespace App\Http\Middleware;
use App\Models\Branch;
use App\Models\BranchUser;
use Closure;
use Laracasts\Flash\Flash;
use Cartalyst\Sentinel\Laravel\Facades\Sentinel;
class CheckBranch
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$branch_id = $request->session()->get('branch_id', null);
if (!$branch_id) {
//we have branches
$branch_users = BranchUser::query()
->where('user_id', Sentinel::getUser()->id)
->orderBy('created_at', 'desc')
->get();
if (count($branch_users) > 0) {
foreach ($branch_users as $key) {
if (!empty($key->branch)) {
//set session and exit
$request->session()->put('branch_id', $key->branch_id);
//Flash::success("Current Branch set to: ".$key->branch->name);
return $next($request);
}
}
}
}
if (Branch::query()->count() == 0) {
//no branches, return
Flash::warning("No branches set");
return redirect('no_branch');
}
if (!empty(Branch::query()->find($branch_id))) {
return $next($request);
}
Flash::warning("No permission");
return redirect('no_branch');
}
}