| @@ -0,0 +1,46 @@ | |||||
| <?php | |||||
| namespace App\Http\Controllers\Web\Auth; | |||||
| use App\Codes\UserRole; | |||||
| use App\Features\LoginUser; | |||||
| use App\Http\Controllers\Web\WebController; | |||||
| use Illuminate\Http\JsonResponse; | |||||
| use Illuminate\Http\Request; | |||||
| class ChangeContractController extends WebController | |||||
| { | |||||
| use Me, LoginUser; | |||||
| public function name(): string | |||||
| { | |||||
| return "成り代わり"; | |||||
| } | |||||
| public function description(): string | |||||
| { | |||||
| return "成り代わりを開始する"; | |||||
| } | |||||
| public function __construct(protected ChangeContractParam $param) | |||||
| { | |||||
| parent::__construct(); | |||||
| $this->roleAllow(UserRole::SUPER_ADMIN); | |||||
| } | |||||
| protected function run(Request $request): JsonResponse | |||||
| { | |||||
| $param = $this->param; | |||||
| $this->loginUser()->setCurrentContractId($param->contractId); | |||||
| $me = $this->me(); | |||||
| if ($me !== null) { | |||||
| return $this->successResponse($me); | |||||
| } | |||||
| return $this->failedResponse(); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,19 @@ | |||||
| <?php | |||||
| namespace App\Http\Controllers\Web\Auth; | |||||
| use App\Http\Controllers\Web\BaseParam; | |||||
| use App\Models\User; | |||||
| /** | |||||
| * @property ?string $contractId | |||||
| */ | |||||
| class ChangeContractParam extends BaseParam | |||||
| { | |||||
| public function rules(): array | |||||
| { | |||||
| return [ | |||||
| User::COL_NAME_CONTRACT_ID => $this->str(true), | |||||
| ]; | |||||
| } | |||||
| } | |||||
| @@ -42,6 +42,8 @@ class LoginController extends WebController | |||||
| 'password' => $param->password, | 'password' => $param->password, | ||||
| ])) { | ])) { | ||||
| $this->loginUser()->setCurrentContractId(null); | |||||
| $me = $this->me(); | $me = $this->me(); | ||||
| if ($me !== null) { | if ($me !== null) { | ||||
| @@ -2,6 +2,7 @@ | |||||
| namespace App\Http\Controllers\Web\Auth; | namespace App\Http\Controllers\Web\Auth; | ||||
| use App\Features\LoginUser; | |||||
| use App\Http\Controllers\Web\Auth\LogoutParam; | use App\Http\Controllers\Web\Auth\LogoutParam; | ||||
| use App\Http\Controllers\Web\WebController; | use App\Http\Controllers\Web\WebController; | ||||
| use Illuminate\Http\JsonResponse; | use Illuminate\Http\JsonResponse; | ||||
| @@ -10,6 +11,8 @@ use Illuminate\Support\Facades\Auth; | |||||
| class LogoutController extends WebController | class LogoutController extends WebController | ||||
| { | { | ||||
| use LoginUser; | |||||
| public function name(): string | public function name(): string | ||||
| { | { | ||||
| return "ログアウト"; | return "ログアウト"; | ||||
| @@ -27,6 +30,9 @@ class LogoutController extends WebController | |||||
| protected function run(Request $request): JsonResponse | protected function run(Request $request): JsonResponse | ||||
| { | { | ||||
| Auth::logout(); | Auth::logout(); | ||||
| $this->loginUser()->setCurrentContractId(null); | |||||
| return $this->successResponse(); | return $this->successResponse(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -3,7 +3,6 @@ | |||||
| namespace App\Http\Controllers\Web\Auth; | namespace App\Http\Controllers\Web\Auth; | ||||
| use App\Models\User; | use App\Models\User; | ||||
| use App\Codes\UserRole; | |||||
| use App\Features\LoginUser; | use App\Features\LoginUser; | ||||
| use Illuminate\Support\Arr; | use Illuminate\Support\Arr; | ||||
| use Illuminate\Support\Facades\Auth; | use Illuminate\Support\Facades\Auth; | ||||
| @@ -30,7 +29,10 @@ trait Me | |||||
| $filteredUser[User::COL_NAME_CONTRACT_ID] = $contract->id; | $filteredUser[User::COL_NAME_CONTRACT_ID] = $contract->id; | ||||
| $filteredUser['contract_name'] = $contract->name; | $filteredUser['contract_name'] = $contract->name; | ||||
| $filteredUser['custom'] = $contract->custom(); | $filteredUser['custom'] = $contract->custom(); | ||||
| }; | |||||
| } else { | |||||
| $filteredUser[User::COL_NAME_CONTRACT_ID] = null; | |||||
| } | |||||
| return $filteredUser; | return $filteredUser; | ||||
| } | } | ||||
| return null; | return null; | ||||
| @@ -3,6 +3,7 @@ | |||||
| namespace App\Http\Controllers\Web\Custom\HelloTechno; | namespace App\Http\Controllers\Web\Custom\HelloTechno; | ||||
| use App\Codes\UserRole; | use App\Codes\UserRole; | ||||
| use App\Features\LoginUser; | |||||
| use App\Http\Controllers\Web\IParam; | use App\Http\Controllers\Web\IParam; | ||||
| use App\Models\ReceiptIssuingOrder as Order; | use App\Models\ReceiptIssuingOrder as Order; | ||||
| use App\Repositories\Custom\HelloTechno\ReceiptIssuingOrderRepository; | use App\Repositories\Custom\HelloTechno\ReceiptIssuingOrderRepository; | ||||
| @@ -12,6 +13,9 @@ use Illuminate\Support\Facades\Auth; | |||||
| class ReceiptIssuingOrdersController extends HelloTechnoController | class ReceiptIssuingOrdersController extends HelloTechnoController | ||||
| { | { | ||||
| use LoginUser; | |||||
| public function name(): string | public function name(): string | ||||
| { | { | ||||
| return "[HelloTechno専用]領収証発行依頼作成"; | return "[HelloTechno専用]領収証発行依頼作成"; | ||||
| @@ -41,7 +45,7 @@ class ReceiptIssuingOrdersController extends HelloTechnoController | |||||
| $condition = [ | $condition = [ | ||||
| ...$param->toArray(), | ...$param->toArray(), | ||||
| ReceiptIssuingOrderRepository::CONDITION_CONTRACT_ID => Auth::user()->contract_id, | |||||
| ReceiptIssuingOrderRepository::CONDITION_CONTRACT_ID => $this->loginUser()->getCurrentContractId(), | |||||
| ]; | ]; | ||||
| $list = $this->repository->get($condition); | $list = $this->repository->get($condition); | ||||
| @@ -3,14 +3,17 @@ | |||||
| namespace App\Http\Controllers\Web\Custom\HelloTechno; | namespace App\Http\Controllers\Web\Custom\HelloTechno; | ||||
| use App\Codes\UserRole; | use App\Codes\UserRole; | ||||
| use App\Features\LoginUser; | |||||
| use App\Http\Controllers\Web\IParam; | use App\Http\Controllers\Web\IParam; | ||||
| use App\Repositories\Custom\HelloTechno\UseSummaryRepository as Repository; | use App\Repositories\Custom\HelloTechno\UseSummaryRepository as Repository; | ||||
| use Illuminate\Http\JsonResponse; | use Illuminate\Http\JsonResponse; | ||||
| use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||
| use Illuminate\Support\Facades\Auth; | |||||
| class UseSummariesController extends HelloTechnoController | class UseSummariesController extends HelloTechnoController | ||||
| { | { | ||||
| use LoginUser; | |||||
| public function name(): string | public function name(): string | ||||
| { | { | ||||
| return "[HelloTechno専用]利用実績一覧取得"; | return "[HelloTechno専用]利用実績一覧取得"; | ||||
| @@ -40,7 +43,7 @@ class UseSummariesController extends HelloTechnoController | |||||
| $condition = [ | $condition = [ | ||||
| ...$param->toArray(), | ...$param->toArray(), | ||||
| Repository::CONDITION_CONTRACT_ID => Auth::user()->contract_id, | |||||
| Repository::CONDITION_CONTRACT_ID => $this->loginUser()->getCurrentContractId(), | |||||
| ]; | ]; | ||||
| $list = $this->repository->get($condition); | $list = $this->repository->get($condition); | ||||
| @@ -3,6 +3,7 @@ | |||||
| namespace App\Http\Controllers\Web\Custom\HelloTechno; | namespace App\Http\Controllers\Web\Custom\HelloTechno; | ||||
| use App\Codes\UserRole; | use App\Codes\UserRole; | ||||
| use App\Features\LoginUser; | |||||
| use App\Files\CsvFile; | use App\Files\CsvFile; | ||||
| use App\Http\Controllers\Web\IParam; | use App\Http\Controllers\Web\IParam; | ||||
| use App\Repositories\Custom\HelloTechno\UseSummaryRepository as Repository; | use App\Repositories\Custom\HelloTechno\UseSummaryRepository as Repository; | ||||
| @@ -12,6 +13,9 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse; | |||||
| class UseSummaryCSVController extends HelloTechnoController | class UseSummaryCSVController extends HelloTechnoController | ||||
| { | { | ||||
| use LoginUser; | |||||
| public function name(): string | public function name(): string | ||||
| { | { | ||||
| return "[HelloTechno専用]利用実績一覧CSV取得"; | return "[HelloTechno専用]利用実績一覧CSV取得"; | ||||
| @@ -41,7 +45,7 @@ class UseSummaryCSVController extends HelloTechnoController | |||||
| $condition = [ | $condition = [ | ||||
| ...$param->toArray(), | ...$param->toArray(), | ||||
| Repository::CONDITION_CONTRACT_ID => Auth::user()->contract_id, | |||||
| Repository::CONDITION_CONTRACT_ID => $this->loginUser()->getCurrentContractId(), | |||||
| Repository::CONDITION_SORT_TARGET => 'customer_code', | Repository::CONDITION_SORT_TARGET => 'customer_code', | ||||
| ]; | ]; | ||||
| @@ -49,7 +49,7 @@ class LoginUser | |||||
| return $contractId === $this->user()->contract_id; | return $contractId === $this->user()->contract_id; | ||||
| } | } | ||||
| public function setCurrentContractId(string $contractId) | |||||
| public function setCurrentContractId(?string $contractId) | |||||
| { | { | ||||
| $user = $this->user(); | $user = $this->user(); | ||||
| if ($user && Auth::user()->role !== UserRole::SUPER_ADMIN) { | if ($user && Auth::user()->role !== UserRole::SUPER_ADMIN) { | ||||
| @@ -16,6 +16,7 @@ use App\Util\RouteHelper; | |||||
| RouteHelper::get('/me', App\Http\Controllers\Web\Auth\MeController::class); | RouteHelper::get('/me', App\Http\Controllers\Web\Auth\MeController::class); | ||||
| RouteHelper::post('/login', App\Http\Controllers\Web\Auth\LoginController::class); | RouteHelper::post('/login', App\Http\Controllers\Web\Auth\LoginController::class); | ||||
| RouteHelper::get('/logout', App\Http\Controllers\Web\Auth\LogoutController::class); | RouteHelper::get('/logout', App\Http\Controllers\Web\Auth\LogoutController::class); | ||||
| RouteHelper::post('/change-contract', App\Http\Controllers\Web\Auth\ChangeContractController::class); | |||||
| RouteHelper::get('/app-token-check', App\Http\Controllers\Web\ReceiptIssuingOrder\TokenCheckController::class); | RouteHelper::get('/app-token-check', App\Http\Controllers\Web\ReceiptIssuingOrder\TokenCheckController::class); | ||||
| RouteHelper::post('/receipt-issuing-order/confirm', App\Http\Controllers\Web\ReceiptIssuingOrder\ConfirmController::class); | RouteHelper::post('/receipt-issuing-order/confirm', App\Http\Controllers\Web\ReceiptIssuingOrder\ConfirmController::class); | ||||