diff --git a/app/Models/Ex/LoginUser.php b/app/Models/Ex/LoginUser.php index 8d373eb..a6f273b 100644 --- a/app/Models/Ex/LoginUser.php +++ b/app/Models/Ex/LoginUser.php @@ -52,7 +52,7 @@ class LoginUser public function setCurrentContractId(?string $contractId) { $user = $this->user(); - if ($user && Auth::user()->role !== UserRole::SUPER_ADMIN) { + if ($user && Auth::user()->role !== UserRole::SUPER_ADMIN && $contractId !== null) { throw new LogicException("スーパー管理者以外の成り代わりを検知"); } Session::put(self::SESSION_KEY_CURERNT_CONTRACT_ID, $contractId); diff --git a/app/Models/User.php b/app/Models/User.php index 838d8ef..29c4af5 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -10,6 +10,7 @@ use App\Models\Feature\ContractFeature; use App\Models\Feature\IModelFeature; use Illuminate\Database\Eloquent\Concerns\HasUuids; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Query\Builder; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -18,7 +19,7 @@ use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable implements IModelFeature { - use HasApiTokens, HasFactory, Notifiable, HasUuids, ContractFeature; + use HasApiTokens, HasFactory, Notifiable, HasUuids, SoftDeletes, ContractFeature; const COL_NAME_ID = 'id'; const COL_NAME_ROLE = 'role';