Commit Graph

3432 Commits

Author SHA1 Message Date
raizasafeel 5683fd5d7a fix: add get_field_meta function to get doctype field metadata 2026-03-05 02:03:24 +05:30
Jannat Patel 8752f8038a Merge pull request #2156 from raizasafeel/fix/payment-gateway
fix(payment gateway): add delete functionality and field details
2026-03-04 11:01:38 +05:30
Jannat Patel c5bb852227 Merge pull request #2122 from ColoredCow/feature/google-meet
feat: Google Meet integration for Live Classes
2026-03-04 11:00:13 +05:30
MochaMind d5bc012c21 chore: Swedish translations 2026-03-04 00:17:20 +05:30
MochaMind 610ec89670 chore: Spanish translations 2026-03-04 00:17:06 +05:30
Vaibhav Rathore a29e1a58a4 fix: resolve server test failures for Google Meet integration
- 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
2026-03-03 17:34:34 +05:30
Vaibhav Rathore f0d35ec1d1 fix: enable Google API in test setup to fix CI server 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.
2026-03-03 15:56:34 +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
Jannat Patel 5180875ab5 Merge pull request #2155 from pateljannat/issues-202
fix: misc issues
2026-03-02 13:43:38 +05:30
Jannat Patel d3a4c211db fix: do not accept json as input for certificate request event 2026-03-02 13:29:06 +05:30
Jannat Patel 9af9a7d87f fix: desk redirection and desk sidebar 2026-03-02 13:18:13 +05:30
raizasafeel 5ae5634753 fix(payment gateway): add missing removeAccount function 2026-03-02 13:02:06 +05:30
Jannat Patel f63a4a44a2 fix: support youtube watch links as preview links 2026-03-02 13:01:59 +05:30
raizasafeel b95a308f7a fix(payment gateway): include reqd, options, default, and description in fields 2026-03-02 12:10:31 +05:30
MochaMind 3359d4511c chore: Russian translations 2026-03-02 00:03:52 +05:30
Jannat Patel 78c6bfea83 fix: if certificate is linked to a batch then don't validate course enrollment 2026-02-27 10:56:06 +05:30
Jannat Patel f3eb000c23 Merge pull request #2140 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-02-27 10:53:50 +05:30
MochaMind aa638e9992 chore: Swedish translations 2026-02-26 23:41:48 +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
Jannat Patel 975f06d956 feat: nudge students to complete their profile 2026-02-26 16:59:08 +05:30
Jannat Patel 87e588cd1f fix: misc permission issues 2026-02-26 15:48:21 +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
Jannat Patel cb01e17aa7 fix: verify quiz answers on server side 2026-02-25 16:42:55 +05:30
Jannat Patel af5bce9e34 fix: permission issue during quiz submission 2026-02-25 12:37:09 +05:30
Jannat Patel 26301c26e9 Merge pull request #2121 from frappe/l10n_develop2
chore: sync translations from crowdin
2026-02-25 10:37:32 +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
MochaMind 63321fe2c8 chore: Persian translations 2026-02-24 22:48:48 +05:30
MochaMind 68848fc642 chore: Spanish translations 2026-02-24 22:48:29 +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 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 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 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