Grant panelist role to Events speakers on conferences and webinars.
Deploy Ladill Meet / deploy (push) Successful in 49s
Deploy Ladill Meet / deploy (push) Successful in 49s
Verify speaker tokens before room-type role resolution so town-hall sessions get panelist access and speaker-panel placement, and skip the waiting room for panelists. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -206,14 +206,14 @@ class JoinController extends Controller
|
||||
|
||||
$role = ($user && $user->ownerRef() === $room->host_user_ref) ? 'host' : 'guest';
|
||||
|
||||
if ($room->isSpace()) {
|
||||
if ($role !== 'host' && EventsRegistrationSession::isSpeakerVerified($request, $room)) {
|
||||
$role = 'panelist';
|
||||
} elseif ($room->isSpace()) {
|
||||
$role = $this->spaces->resolveJoinRole($room, $user, $role);
|
||||
} elseif ($room->isConference() && $role !== 'host') {
|
||||
} elseif ($room->isConference()) {
|
||||
$role = $this->conferences->resolveJoinRole($room, $user, $email, $role);
|
||||
} elseif ($room->isWebinar() && $role !== 'host') {
|
||||
if (EventsRegistrationSession::isSpeakerVerified($request, $room)) {
|
||||
$role = 'panelist';
|
||||
} elseif ($room->isEventsLinked()) {
|
||||
} elseif ($room->isWebinar()) {
|
||||
if ($room->isEventsLinked()) {
|
||||
$role = 'attendee';
|
||||
} else {
|
||||
return back()->withErrors([
|
||||
|
||||
+1
-1
@@ -183,7 +183,7 @@ class Room extends Model
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($role === 'host' || ($user && $user->ownerRef() === $this->host_user_ref)) {
|
||||
if ($role === 'host' || in_array($role, ['co_host', 'panelist'], true) || ($user && $user->ownerRef() === $this->host_user_ref)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user