Move Conferencing Provider, Zoom Account, and Google Meet Account
fields into their own "Conferencing" section. Wrap option labels
with __() for i18n translation.
Manual attendance marking is not required for Google Meet live classes.
This removes the ManualAttendance modal, the mark_manual_attendance API
endpoint, and associated tests.
The conferencing_provider Select field defaulted to "Zoom" (first option)
when not explicitly set, causing batch creation to fail with
"Please select a Zoom account for this batch" since no zoom_account
is provided at creation time.
Add Google Meet as an alternative conferencing provider for Live Classes
in Frappe LMS, alongside the existing Zoom integration. Leverages
Frappe's built-in Google Calendar sync to generate Meet links.
Changes:
- New DocType: LMS Google Meet Settings (account_name, member, calendar)
- Schema changes to LMS Batch (conferencing_provider, google_meet_account)
- Schema changes to LMS Live Class (conferencing_provider, google_meet_account)
- Participant calendar invites via Google Calendar API
- Event update/reschedule sync (on_update hook)
- Event cancellation/deletion sync (on_trash hook)
- Async Meet link handling with user-facing fallback message
- Frontend empty link guard ("Meet link generating...")
- Batch validation for conferencing provider configuration
- Manual attendance marking for Google Meet classes
- Admin UI for managing Google Meet accounts in LMS Settings
- Unit and integration tests
Upstream Issue: frappe/lms#2027