Commit Graph

5714 Commits

Author SHA1 Message Date
Vaibhav Rathore 3f116a37c2 fix: remove unnecessary "Meet link generating" block from LiveClass 2026-03-03 15:56:34 +05:30
Vaibhav Rathore 1086d2219b fix: add console.error to error handlers in GoogleMeetAccountModal 2026-03-03 15:56:34 +05:30
Vaibhav Rathore c5998f95ee refactor: move GoogleMeetAccountModal to Settings folder
Move GoogleMeetAccountModal.vue from Modals to Settings directory
to colocate it with GoogleMeetSettings.vue. Update import path.
2026-03-03 15:56:33 +05:30
Vaibhav Rathore 507938425c refactor: move conferencing fields to separate section and translate labels
Move Conferencing Provider, Zoom Account, and Google Meet Account
fields into their own "Conferencing" section. Wrap option labels
with __() for i18n translation.
2026-03-03 15:56:33 +05:30
Vaibhav Rathore cd9a6831a7 fix: add type annotations and role validation to create_google_meet_live_class
Add type hints to match create_live_class signature. Add
frappe.only_for role check to prevent unauthorized access.
2026-03-03 15:56:33 +05:30
Vaibhav Rathore 2fab297745 fix: add patch to set conferencing provider for existing Zoom records
Sets conferencing_provider to "Zoom" for all existing LMS Batch and
LMS Live Class records that have a zoom_account linked.
2026-03-03 15:56:33 +05:30
Vaibhav Rathore 4925c5bc45 refactor: extract shared helpers to reduce code duplication in lms_live_class
Extract _get_participants() and _build_event_description() to eliminate
duplicated participant-gathering and description-building logic across
Zoom and Google Meet code paths.
2026-03-03 15:56:33 +05:30
Vaibhav Rathore f5551603a5 fix: resolve ruff-format and prettier linting errors 2026-03-03 15:56:33 +05:30
Vaibhav Rathore 1eb13c9378 chore: remove unused component declaration from components.d.ts 2026-03-03 15:56:33 +05:30
Vaibhav Rathore 8ea178fcad refactor: remove manual attendance feature for Google Meet classes
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.
2026-02-26 18:38:55 +05:30
Vaibhav Rathore 08b6a9d091 fix: use str() instead of get_time_str() for time field comparison
get_time_str() expects a timedelta but batch start_time is a
datetime.time object, causing AttributeError on batch details page.
2026-02-25 17:05:38 +05:30
Vaibhav Rathore 4be47af3ef fix: skip conferencing provider validation on batch creation
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.
2026-02-25 16:59:23 +05:30
Vaibhav Rathore 898a872232 fix: make conferencing provider optional during batch 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.
2026-02-25 16:56:02 +05:30
Vaibhav Rathore 559338da59 fix: include conferencing_provider and google_meet_account in batch details API 2026-02-24 23:55:33 +05:30
Vaibhav Rathore 9a7c77c57b feat: Google Meet integration for Live Classes
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
2026-02-24 23:25:27 +05:30
Jannat Patel aa7ec019bc Merge pull request #2120 from pateljannat/issues-192
fix: misc issues
2026-02-24 18:22:57 +05:30
Jannat Patel eb33155db2 fix: enqueue progress calculation after validating enrollments 2026-02-24 18:13:02 +05:30
Jannat Patel 3088b14d83 fix: recalculate course progress when lesson is inserted or deleted 2026-02-24 17:40:58 +05:30
Jannat Patel bf89f3ba2f fix: show system timezone in certificate request 2026-02-24 13:01:29 +05:30
Jannat Patel 2198adf902 fix: sidebar settings issue if guest access was not allowed 2026-02-24 12:36:46 +05:30
Jannat Patel c5145c6c24 Merge pull request #2119 from pateljannat/issues-191
fix: misc issues
2026-02-24 12:17:41 +05:30
Jannat Patel 499bcd5281 chore: resolved conflicts 2026-02-24 12:05:44 +05:30
Jannat Patel dc4bbdaa55 Merge pull request #2116 from raizasafeel/fix/codesandbox-embed
fix(lesson): render codesandbox
2026-02-24 12:02:52 +05:30
Jannat Patel bf19ebd3a8 fix: assignment submission issue 2026-02-24 12:02:10 +05:30
Jannat Patel 5a6a7ff646 Merge pull request #2117 from pateljannat/issues-189
chore: capture more events for analytics
2026-02-23 16:41:23 +05:30
Jannat Patel b3c8fbd833 chore: capture more events for analytics 2026-02-23 16:31:58 +05:30
Jannat Patel f828c76a0f Merge pull request #2115 from pateljannat/issues-188
fix: misc issues
2026-02-23 15:13:02 +05:30
raizasafeel 2634a4e316 fix(lesson): render codesandbox properly 2026-02-23 15:12:08 +05:30
Jannat Patel fb0517caa0 fix: show only instructor tab for admins on home page 2026-02-23 14:54:54 +05:30
Jannat Patel 90151be166 fix: updated app name in workspace and desktop 2026-02-23 12:35:13 +05:30
Jannat Patel b77c4867e1 Merge pull request #2109 from pateljannat/issues-186
fix: check permission of session user during batch enrollment
2026-02-23 11:36:49 +05:30
Jannat Patel c1260edb00 fix: check permission of session user during batch enrollment 2026-02-23 11:28:58 +05:30
Jannat Patel 41d5ef5fd5 Merge pull request #2108 from pateljannat/issues-185
fix: misc permission issues
2026-02-23 11:22:52 +05:30
Jannat Patel 14937fd4fc fix: check ptype for permission if not admin 2026-02-23 11:06:34 +05:30
Jannat Patel 58826fe30f fix: removed badge page reference from the router 2026-02-23 10:41:13 +05:30
Jannat Patel 0da9eec0af Merge pull request #2105 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-02-23 10:29:32 +05:30
Jannat Patel bb47fd5ba9 fix: misc permission issues 2026-02-23 10:29:13 +05:30
MochaMind db49cb2d64 chore: Thai translations 2026-02-21 22:13:22 +05:30
MochaMind 58732148e2 chore: Vietnamese translations 2026-02-21 22:13:18 +05:30
MochaMind 08eb7ef17b chore: Dutch translations 2026-02-21 22:13:10 +05:30
MochaMind 8bda7edb7b chore: Spanish translations 2026-02-21 22:13:03 +05:30
Jannat Patel 49d596216d fix: zoom account link issue 2026-02-21 12:58:19 +05:30
Jannat Patel faa9c94970 fix: zoom account link issue 2026-02-21 12:28:55 +05:30
Jannat Patel c596d1e215 fix: misc permission issues 2026-02-21 12:25:47 +05:30
Jannat Patel 235958e432 Merge pull request #2103 from raizasafeel/fix/lesson-body-filter
fix(security): remove ignore_xss_filter to enable HTML sanitization
2026-02-20 14:20:07 +05:30
raizasafeel 7f85dbccec fix: added timestamps for bench migrate 2026-02-20 13:52:13 +05:30
Jannat Patel 5b69ddf9b5 Merge pull request #2099 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-02-20 13:39:16 +05:30
Jannat Patel dfb7152aa3 fix: video watch time permission and other issues 2026-02-20 13:08:27 +05:30
Raizaaa 2a311bfb6f Merge pull request #2104 from raizasafeel/fix/lms-enrollment
fix: duplicate enrollment validation on update
2026-02-20 12:21:45 +05:30
raizasafeel 0e90627144 fix: duplicate enrollment validation on update 2026-02-20 12:09:08 +05:30