Skip to content

Commit d8da091

Browse files
authored
Merge pull request #2087 from opensource-workshop/choiceUserRolesOrPageRoles
[Trait] ConnectRoleTrait::choiceUserRolesOrPageRoles()で$user->user_rolesがnullの場合の再取得する処理を追加
2 parents 808bec2 + 4e247f8 commit d8da091

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

app/Traits/ConnectRoleTrait.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use App\User;
1313
use App\Models\Common\Page;
1414
use App\Models\Common\PageRole;
15+
use App\Models\Core\UsersRoles;
1516

1617
trait ConnectRoleTrait
1718
{
@@ -229,6 +230,14 @@ public function choiceUserRolesOrPageRoles(User $user, ?Collection $page_roles):
229230
// $user_roles['base'] = ['role_reporter' => 1]; // ←ページ権限あれば上書き
230231
// $user_roles['manage'] = ['admin_system' => 1]; // ←ページ権限ではセットしてないので、そのまま
231232
$user_roles = $user->user_roles;
233+
if (is_null($user_roles)) {
234+
// ユーザーオブジェクトにロールデータを付与
235+
// app\Providers\ConnectEloquentUserProvider::judgmentLogin() よりコピー. 通常の画面ログインであれば、
236+
// judgmentLogin() でセットされているが、APIだとセットされていないため対応
237+
$users_roles = new UsersRoles();
238+
$user_roles = $users_roles->getUsersRoles($user->id);
239+
$user->user_roles = $user_roles;
240+
}
232241

233242
// 所属グループのページ権限取得
234243
$user_page_roles = $this->getUserPageRoles($user, $page_roles);

0 commit comments

Comments
 (0)