![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/medad.corals.io/Corals/modules/Medad/Http/Middleware/ |
<?php namespace Corals\Modules\Medad\Http\Middleware; use Closure; use Corals\Modules\Medad\Facades\Medad; use Illuminate\Http\Request; class IsCompanyTypeSelected { /** * @param Request $request * @param Closure $next * @return \Illuminate\Foundation\Application|\Illuminate\Http\JsonResponse|mixed */ public function handle(Request $request, Closure $next) { if (session()->has('acting_company_type')) { return $next($request); } if (isSuperUser() || user()->hasPermissionTo('Administrations::admin.medad')) { return $next($request); } $company = Medad::getUserCompany(); if (!$company) { abort(403); } if ($request->is('*acting-company-type') || $request->is('*not-confirmed-company-message')) { return $next($request); } if ($company->type == 'both') { if (is_api_request()) { return apiResponse([], '', 'acting_type_missing', 400); } else { return redirectTo('medad/select-acting-company-type'); } } else { if (is_api_request()) { $token = user()->token(); $properties = json_decode($token->properties ?? '{}', true) ?? []; $properties['acting_company_type'] = $company->type; $token->properties = $properties; $token->save(); } else { session()->put('acting_company_type', $company->type); } } return $next($request); } }