Remove meeting templates and show Events programme on Meet rooms.
Deploy Ladill Meet / deploy (push) Successful in 42s

Templates duplicated create-form settings without edit/delete flows; drop the feature and table. Conference and webinar pages render synced programme snapshots and link back to Ladill Events.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-01 22:31:03 +00:00
co-authored by Cursor
parent c108514b27
commit aed7094fed
25 changed files with 152 additions and 336 deletions
@@ -6,14 +6,12 @@ use App\Http\Controllers\Controller;
use App\Http\Controllers\Meet\Concerns\ScopesToAccount;
use App\Models\Member;
use App\Models\Room;
use App\Models\Template;
use App\Models\User;
use App\Services\Meet\CalendarService;
use App\Services\Meet\ConferenceService;
use App\Services\Meet\InvitationService;
use App\Services\Meet\RoomService;
use App\Services\Meet\SessionService;
use App\Services\Meet\TemplateService;
use App\Services\Meet\TownHallService;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
@@ -26,7 +24,6 @@ class ConferenceController extends Controller
public function __construct(
protected RoomService $rooms,
protected SessionService $sessions,
protected TemplateService $templates,
protected InvitationService $invitations,
protected CalendarService $calendar,
protected TownHallService $townHalls,
@@ -55,11 +52,6 @@ class ConferenceController extends Controller
$this->authorizeAbility($request, 'meetings.create');
$organization = $this->organization($request);
$templates = Template::owned($this->ownerRef($request))
->where('organization_id', $organization->id)
->orderBy('name')
->get();
$members = Member::owned($this->ownerRef($request))
->where('organization_id', $organization->id)
->where('user_ref', '!=', $this->ownerRef($request))
@@ -68,7 +60,6 @@ class ConferenceController extends Controller
return view('meet.conferences.create', [
'organization' => $organization,
'templates' => $templates,
'members' => $members,
'timezones' => timezone_identifiers_list(),
'defaultSettings' => config('meet.default_settings'),
@@ -87,7 +78,6 @@ class ConferenceController extends Controller
'duration_minutes' => ['nullable', 'integer', 'min:15', 'max:480'],
'timezone' => ['nullable', 'timezone'],
'passcode' => ['nullable', 'string', 'max:20'],
'template_id' => ['nullable', 'integer', 'exists:meet_templates,id'],
'invite_emails' => ['nullable', 'string'],
'presenter_refs' => ['nullable', 'array'],
'presenter_refs.*' => ['string', 'max:64'],
@@ -129,11 +119,6 @@ class ConferenceController extends Controller
'status' => 'scheduled',
]);
if (! empty($validated['template_id'])) {
$template = Template::findOrFail($validated['template_id']);
$data = $this->templates->applyToRoomData($template, $data);
}
$room = $this->rooms->create($request->user(), $organization, $data);
if ($emails = trim((string) ($validated['invite_emails'] ?? ''))) {
@@ -184,6 +169,8 @@ class ConferenceController extends Controller
$canManageSpeakers = app(\App\Services\Meet\MeetPermissions::class)
->can($this->member($request), 'meetings.manage');
$eventsEventUrl = \App\Support\EventsSourceLink::eventAdminUrl($room);
return view('meet.conferences.show', compact(
'room',
'speakers',
@@ -192,6 +179,7 @@ class ConferenceController extends Controller
'memberUsers',
'presenterRefs',
'canManageSpeakers',
'eventsEventUrl',
));
}