frappe / frappe/lms

Batch Enroll of Student

Open
#2,452 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
3.2k
Forks
1.5k
Avg merge
1d 18h
Merged PRs (30d)
57

Description

**To Reproduce**
Steps to reproduce the behavior:
1. Create a new batch
2. Enroll a student
3. Get the following error:

Traceback (most recent call last): File "apps/frappe/frappe/utils/jinja.py", line 156, in render_template return compiled_template.render(context) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "env/lib/python3.14/site-packages/jinja2/environment.py", line 1295, in render self.environment.handle_exception() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "env/lib/python3.14/site-packages/jinja2/environment.py", line 942, in handle_exception raise rewrite_traceback_stack(source=source) File "", line 3, in top-level template code File "env/lib/python3.14/site-packages/jinja2/sandbox.py", line 401, in call return __context.call(__obj, *args, **kwargs) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: 'NoneType' object is not callable

This also happens when you try to enroll a student via the Desk App.

To stop this from happening someone has to check the "Confirmation Email Sent" checkbox and then hit save in the Desk app. In the front end LMS app, you can't check this checkbox and it auto-fails.

**Expected behavior**
Enroll the selected student

**Screenshots**
Image

**Desktop (please complete the following information):**
- OS: Windows 11
- Browser Vivaldi 8.0.4033.44 (Official Build) (64-bit)

**Additional context**
LMS Version:

frappe@21666dcaff96:~/frappe-bench$ bench version
frappe 16.21.0 ()
lms 2.55.0 ()
payments 0.0.1 ()
print_designer 1.6.7 ()

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing batch enrollment from the Desk app and LMS app, then inspect the traceback's apps/frappe/frappe/utils/jinja.py:156 entry point and the enrollment flow that renders the template. Trace why the confirmation-email callback is None when the checkbox is unset. Done means enrolling a selected student succeeds from both interfaces without manually checking "Confirmation Email Sent."

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, python
Domain
backend, full-stack
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.