- Mock get_google_calendar_object in live class tests to prevent real
Google API calls in CI (no OAuth tokens available)
- Fix on_trash to clear event link before deleting Event to avoid
LinkExistsError
- Fix test query to avoid PostgreSQL-incompatible integer filter
- Add Google Settings setup to Google Meet Settings integration tests
Google Calendar validation requires Google API to be enabled in Google
Settings. Without this, all LMS Live Class tests fail in CI with
"Enable Google API in Google Settings" error.
Extract _get_participants() and _build_event_description() to eliminate
duplicated participant-gathering and description-building logic across
Zoom and Google Meet code paths.
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.
Frappe sets Select field default to the first option ("Zoom") even
when the field isn't in the creation form. Skip validation for new
batches since conferencing is configured after creation.
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