frappe / education Goto Github PK
View Code? Open in Web Editor NEWOpen source education / school management system
License: Other
Open source education / school management system
License: Other
Hi,
I have installed erpnext education module on erpnext v13, but it does not show in the workspace menu. hence i tried adding it in the domain setting, but i keep getting the above error.
mean while erpnext run fine.
details:
ubuntu server: 20.04.1
erpnext v13
In Frappe or Erpnext no option of Punjabi Language in dropdown.
I will try to add Punjabi Language in it.
--
Deepak Kumar
https://github.com/Mr-codehunter
https://www.linkedin.com/in/deepak-kumar---/
When creating a course schedule (with course schedule doctype), one can select any instructor for the schedule for that particular group. This should not be the case. It should pick up instructors from the student group instructor child table.
For that, there is need to create another doctype that is a child table of course schedule. It should be called "Course Schedule Instructor" The instructors should be the one from that are defined in the student group instructor.
Second, you can create a schedule for a date that is outside the academic year and/or term that the student group has been defined in.
Output of bench version
(paste here)
(paste here)
OS version / distribution, ERPNext
install method, etc.
The DocType "Content Activity" has a Link field which specifies "Content" as an option, but no such DocType exists.
v13, develop
education
Frappe Framework: v13.16.0 (version-13)
ERPNext: v13.16.1 (version-13)
manual install
No response
Version Details
Education: v0.0.1 (develop)
ERPNext: v14.2.0 (HEAD)
Frappe Framework: v14.8.0 (HEAD)
I'm using V14, which the education domain, has to be installed manually
After the installation, when going to assessment group tree, i found that the parent group is "undefined"
and as you know i need parent group to create child group, so when i call the parent name "undefined" in parent text box, it can't be called, or not exist
So, i can't create any group without callable parent, in my case there in non !!
in the ideal set up, you found All assessment group as the default parent
but, in my mine is "undefined"
Steps:
Proceed to Student Group Page.
Enter negative value in Max Strength field.
Noticed that incorrect message getting displayed if user trying save the form.
Message: Cannot enroll more than -1 students for this student group.
Expected Result:
Proper validation message should be displayed if user saving the form with negative value.
"Cannot insert negative value in Max Strength"
## Description of the issue
When user post student leave application if enters from date less than to date it is accepting this invalid date
## Steps to reproduce the issue
### Observed result
The Student application form is not throwing any invalid date validation and form gets saved.
The student application form should not be allowed to save the form.
When I enrolling student I have a freeze layer on 50%, but enrol was done.
Output of bench version
ERPNext: v13.13.0 (version-13)
Frappe Framework: v13.13.0 (version-13)
Status of enrolling freeze on 50% and layer still open!
Status of enrolling should reach 100% and close layer!
(paste here)
OS version / distribution, ERPNext
install method, etc.
Steps to reproduce
1.Go to student form
2. Enter any numeric or special character in first name
3. save.
It gets saved.
Expected:
It should accept only alphabets
I am using trial version In this version I am not able to add students to the student group please solve it ASAP. Before the trial period expires. So I can purchase the membership
Cannot change Guardian details for a Guardian who is referred to in a Student Applicant
Creating a Student Applicant with a Guardian stores the information in Student Guardian child DocType. This information is used by load_students in Guardian DocType and populates it into "Guardian Student" DocType for temporary purposes.
Guardian on_validate the students Table field is cleared []
Output of bench version
frappe 13.0.0-beta.10```
## Steps to reproduce the issue
1. Create a Guardian - ABC
2. Create a Student Applicant. Add the Guardian ABC after saving into the Guardians "Student Applicant" doctype.
3. Open the Guardian - ABC. You will see the Student Applicant listed under "Students" child table.
4. Change the Guardian email address and try to save.
### Observed result
It gives an error cannot find Student
### Expected result
It should allow to be changed
### Stacktrace / full error message
(paste here)
## Additional information
OS version / distribution, `ERPNext` install method, etc.
Ubuntu 18
easy install method
Solution:
https://github.com/frappe/erpnext/blob/3c77a4697b221674647860b7919867acdb55ea1a/erpnext/education/doctype/guardian/guardian.py#L22
change
``` students = frappe.get_all("Student Guardian", filters={"guardian":self.name}, fields=["parent"])
to
students = frappe.get_all("Student Guardian", filters={"guardian":self.name, "parenttype": "Student"}, fields=["parent"])
I created a Education Fee invoice for 1150/- .
While I make a Payment Received entry against it for 1150/-.
The payment entry gets saved but while I submit it it gives the following error
Debit and Credit not equal for Payment Entry #ACC-PAY-2022-00003. Difference is 2300.
Party Type Also do not show Student in List.
is there any solution.????
Steps:
Expected Result:
All mandatory fields should show in red colored text box so that user will be intimated as red color text box fields are mandatory fields on form.
Hello! This is my first bug report here.
Program Enrollment Tool overlays modal layers in div "alert-container" and you should close all modal layers after submitting. If you have many students it will need many clicks do,
Output of bench version
ERPNext: v13.13.0 (version-13)
Frappe Framework: v13.13.0 (version-13)
Many modal layers.
One modal layer.
No error
Google Chrome
In Assessment Group there is no default Parent Assessment Group field which is [All Assessment Group]-> Cannot create Assessment Group.
Requirement: Create a parent field [All Assessment Group]. Or turn off mandatory feature for Parent Assessment Group field
education
Frappe Framework: v14.2.0 (version-14)
ERPNext: v14.0.0 (version-14)
No response
No response
Try seeing course schedule in a calendar view
If the course name is too long and time frame is low, then full name and time of the course if not visible. This will usually happen in week view and month view.
education
v13.19
No response
No response
Case Scenario:
Student (A) has total fees of 10000(example) and pays 2500(example) , the school gives a discount of 2000 , so in total the system sees it as a 4500 in payment in the student ledger , however on the fees doctype , the system only takes into account the paid amount of 2500 and shows total owing as 10000-2500=7500 but in the student ledger the total owing is 5500 after discount. The total owing or outstanding should be the same there should not be a mismatch between the ledger and what is on the actual fees doctype.
Actual Case:
On Fees Payment Doctype:
On Fees Payment Doctype:
On Student Ledger:
On payment Request :
education
ERPNext: v13.7.0 (version-13)
Frappe Framework: v13.7.0 (version-13)
No response
No response
The Student Report Generation Tool throws an SQL syntax error.
education
ERPNext: v13.18.0 (version-13)
Frappe Framework: v13.18.0 (version-13)
manual install
Traceback (most recent call last):
File "apps/frappe/frappe/app.py", line 68, in application
response = frappe.api.handle()
File "apps/frappe/frappe/api.py", line 55, in handle
return frappe.handler.handle()
File "apps/frappe/frappe/handler.py", line 31, in handle
data = execute_cmd(cmd)
File "apps/frappe/frappe/handler.py", line 67, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "apps/frappe/frappe/__init__.py", line 1208, in call
return fn(*args, **newargs)
File "apps/erpnext/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py", line 34, in preview_report_card
values = get_formatted_result(doc, get_course=True, get_all_assessment_groups=doc.include_all_assessment)
File "apps/erpnext/erpnext/education/report/course_wise_assessment_report/course_wise_assessment_report.py", line 101, in get_formatted_result
tuple(args_list), as_dict=1)
File "apps/frappe/frappe/database/database.py", line 148, in sql
self._cursor.execute(query, values)
File "env/lib/python3.7/site-packages/pymysql/cursors.py", line 148, in execute
result = self._query(query)
File "env/lib/python3.7/site-packages/pymysql/cursors.py", line 310, in _query
conn.query(q)
File "env/lib/python3.7/site-packages/pymysql/connections.py", line 548, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "env/lib/python3.7/site-packages/pymysql/connections.py", line 775, in _read_query_result
result.read()
File "env/lib/python3.7/site-packages/pymysql/connections.py", line 1156, in read
first_packet = self.connection._read_packet()
File "env/lib/python3.7/site-packages/pymysql/connections.py", line 725, in _read_packet
packet.raise_for_error()
File "env/lib/python3.7/site-packages/pymysql/protocol.py", line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File "env/lib/python3.7/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') and ar.student in ('EDU-STU-2022-00001')\n\t\tORDER BY\n\t\t\tard.assessment_crit...' at line 8")
Mobile app for parents and students
A user can enter an academic term that is not linked to the default displayed academic year. (terms should be filtered to only displays those that belong to the academic year).
A user should not be able to change the academic year in the webform. That should be fixed in function of the student admission form.
A user should not be able to enter academic year / academic term from the past.
The gender in the student application webform is not correct. It should be select from Male / Female as per doctype Student applicant.
Steps:
Expected Result:
Either list of students or validation message should be displayed if no students are present.
Issue: Error while creating 'Student' in Education module -
Steps to reproduce the bug:
Actual result:
Unable to create new student with the error message - pymysql.err.OperationalError: (1054, "Unknown column 'parenttype' in 'field list'")
education
erpnext: 13.39.0
frappe: 13.41.1
posawesome: 3.4.0
FrappeCloud
### App Versions
{
"erpnext": "13.39.0",
"frappe": "13.41.1",
"posawesome": "3.4.0"
}
Form/Student/new-student-1
Traceback (most recent call last):
File "apps/frappe/frappe/app.py", line 69, in application
response = frappe.api.handle()
File "apps/frappe/frappe/api.py", line 55, in handle
return frappe.handler.handle()
File "apps/frappe/frappe/handler.py", line 38, in handle
data = execute_cmd(cmd)
File "apps/frappe/frappe/handler.py", line 76, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "apps/frappe/frappe/__init__.py", line 1457, in call
return fn(*args, **newargs)
File "apps/frappe/frappe/desk/form/save.py", line 24, in savedocs
doc.save()
File "apps/frappe/frappe/model/document.py", line 310, in save
return self._save(*args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 332, in _save
return self.insert()
File "apps/frappe/frappe/model/document.py", line 261, in insert
self.run_before_save_methods()
File "apps/frappe/frappe/model/document.py", line 1052, in run_before_save_methods
self.run_method("validate")
File "apps/frappe/frappe/model/document.py", line 941, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1261, in composer
return composed(self, method, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1243, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "apps/frappe/frappe/model/document.py", line 938, in fn
return method_object(*args, **kwargs)
File "apps/erpnext/erpnext/education/doctype/student/student.py", line 24, in validate
self.update_student_name_in_linked_doctype()
File "apps/erpnext/erpnext/education/doctype/student/student.py", line 47, in update_student_name_in_linked_doctype
linked_doctypes = get_linked_doctypes("Student")
File "apps/frappe/frappe/desk/form/linked_with.py", line 259, in get_linked_doctypes
return frappe.cache().hget("linked_doctypes", doctype, lambda: _get_linked_doctypes(doctype))
File "apps/frappe/frappe/utils/redis_wrapper.py", line 210, in hget
value = generator()
File "apps/frappe/frappe/desk/form/linked_with.py", line 259, in <lambda>
return frappe.cache().hget("linked_doctypes", doctype, lambda: _get_linked_doctypes(doctype))
File "apps/frappe/frappe/desk/form/linked_with.py", line 266, in _get_linked_doctypes
ret.update(get_dynamic_linked_fields(doctype, without_ignore_user_permissions_enabled))
File "apps/frappe/frappe/desk/form/linked_with.py", line 363, in get_dynamic_linked_fields
df.doctype, filters={df.doctype_fieldname: doctype}, fields=["parenttype"], distinct=True
File "apps/frappe/frappe/__init__.py", line 1741, in get_all
return get_list(doctype, *args, **kwargs)
File "apps/frappe/frappe/__init__.py", line 1713, in get_list
return frappe.model.db_query.DatabaseQuery(doctype).execute(*args, **kwargs)
File "apps/frappe/frappe/model/db_query.py", line 170, in execute
result = self.build_and_run()
File "apps/frappe/frappe/model/db_query.py", line 215, in build_and_run
ignore_ddl=self.ignore_ddl,
File "apps/frappe/frappe/database/database.py", line 180, in sql
self._cursor.execute(query)
File "env/lib/python3.7/site-packages/pymysql/cursors.py", line 148, in execute
result = self._query(query)
File "env/lib/python3.7/site-packages/pymysql/cursors.py", line 310, in _query
conn.query(q)
File "env/lib/python3.7/site-packages/pymysql/connections.py", line 548, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "env/lib/python3.7/site-packages/pymysql/connections.py", line 775, in _read_query_result
result.read()
File "env/lib/python3.7/site-packages/pymysql/connections.py", line 1156, in read
first_packet = self.connection._read_packet()
File "env/lib/python3.7/site-packages/pymysql/connections.py", line 725, in _read_packet
packet.raise_for_error()
File "env/lib/python3.7/site-packages/pymysql/protocol.py", line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File "env/lib/python3.7/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.OperationalError: (1054, "Unknown column 'parenttype' in 'field list'")
{
"type": "POST",
"args": {
"doc": "{\"docstatus\":0,\"doctype\":\"Student\",\"name\":\"new-student-1\",\"__islocal\":1,\"__unsaved\":1,\"owner\":\"[email protected]\",\"enabled\":1,\"naming_series\":\"EDU-STU-.YYYY.-\",\"joining_date\":\"2022-10-29\",\"blood_group\":\"A-\",\"first_name\":\"Student\",\"middle_name\":\"one\",\"last_name\":\"last\",\"date_of_birth\":\"1999-01-01\",\"gender\":\"Male\",\"city\":\"freetown\",\"state\":\"freetown\"}",
"action": "Save"
},
"btn": {
"jQuery224079497244362684931": {
"events": {
"click": [
{
"type": "click",
"origType": "click",
"guid": 1224,
"namespace": ""
}
]
}
}
},
"freeze": true,
"headers": {},
"error_handlers": {},
"url": "/api/method/frappe.desk.form.save.savedocs"
}
{
"exception": "pymysql.err.OperationalError: (1054, \"Unknown column 'parenttype' in 'field list'\")"
}
Using the student attendance tool, you are able to take attendance for a student group based on course for any day you want (even weekend). You should only be able to take attendance when the course based student group has been scheduled for.
If there is a course schedule, attendance should only be taken against that course schedule.
When the Education module is installed, it does not come with a dashboard or workspace.
After students marks are entered in the system, it expected that the report for the individual student can be produced. Using the Student Report Generation tool, reports are unable to be produced.
Output of bench version
ERPNEXT version 12
Check the link below for further information and how to reproduce this issue.
Student report Generated is blank
Population of student report with the marks clearly visible for all courses.
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 60, in application
response = frappe.api.handle()
File "/home/frappe/frappe-bench/apps/frappe/frappe/api.py", line 55, in handle
return frappe.handler.handle()
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
data = execute_cmd(cmd)
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 61, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 1042, in call
return fn(*args, **newargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 515, in wrapper_fn
retval = fn(*args, **get_newargs(fn, kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/query_report.py", line 183, in run
result = generate_report_result(report, filters, user)
File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/query_report.py", line 68, in generate_report_result
res = report.execute_script_report(filters)
File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/report/report.py", line 104, in execute_script_report
res = self.execute_module(filters)
File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/report/report.py", line 121, in execute_module
return frappe.get_attr(method_name)(frappe._dict(filters))
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/education/report/course_wise_assessment_report/course_wise_assessment_report.py", line 25, in execute
frappe.throw(_("Please select the assessment group other than 'All Assessment Groups'"))
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 364, in throw
msgprint(msg, raise_exception=exc, title=title, indicator='red')
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 350, in msgprint
_raise_exception()
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 316, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.ValidationError: Please select the assessment group other than 'All Assessment Groups'
One cannot Create assessment plan due to the error see on the following:
https://discuss.erpnext.com/t/error-during-assessment-plan-creation/57615
Check and revert
## Description of the issue
While printing the report card of the Student Report Generation Tool it is giving a Fatal error.
## Steps to reproduce the issue
### Observed result
It is showing a Fatal Error.
Traceback (most recent call last):
File "/home/indictrans/workspace/v12/frappe-bench/apps/frappe/frappe/app.py", line 60, in application
response = frappe.api.handle()
File "/home/indictrans/workspace/v12/frappe-bench/apps/frappe/frappe/api.py", line 55, in handle
return frappe.handler.handle()
File "/home/indictrans/workspace/v12/frappe-bench/apps/frappe/frappe/handler.py", line 24, in handle
data = execute_cmd(cmd)
File "/home/indictrans/workspace/v12/frappe-bench/apps/frappe/frappe/handler.py", line 63, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "/home/indictrans/workspace/v12/frappe-bench/apps/frappe/frappe/__init__.py", line 1068, in call
return fn(*args, **newargs)
File "/home/indictrans/workspace/v12/frappe-bench/apps/erpnext/erpnext/education/doctype/student_report_generation_tool/student_report_generation_tool.py", line 31, in preview_report_card
values = get_formatted_result(doc, get_course=True, get_all_assessment_groups=doc.include_all_assessment)
File "/home/indictrans/workspace/v12/frappe-bench/apps/erpnext/erpnext/education/report/course_wise_assessment_report/course_wise_assessment_report.py", line 101, in get_formatted_result
tuple(args_list), as_dict=1)
File "/home/indictrans/workspace/v12/frappe-bench/apps/frappe/frappe/database/database.py", line 156, in sql
self._cursor.execute(query, values)
File "/home/indictrans/workspace/v12/frappe-bench/env/lib/python3.5/site-packages/pymysql/cursors.py", line 170, in execute
result = self._query(query)
File "/home/indictrans/workspace/v12/frappe-bench/env/lib/python3.5/site-packages/pymysql/cursors.py", line 328, in _query
conn.query(q)
File "/home/indictrans/workspace/v12/frappe-bench/env/lib/python3.5/site-packages/pymysql/connections.py", line 517, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/home/indictrans/workspace/v12/frappe-bench/env/lib/python3.5/site-packages/pymysql/connections.py", line 732, in _read_query_result
result.read()
File "/home/indictrans/workspace/v12/frappe-bench/env/lib/python3.5/site-packages/pymysql/connections.py", line 1075, in read
first_packet = self.connection._read_packet()
File "/home/indictrans/workspace/v12/frappe-bench/env/lib/python3.5/site-packages/pymysql/connections.py", line 684, in _read_packet
packet.check_error()
File "/home/indictrans/workspace/v12/frappe-bench/env/lib/python3.5/site-packages/pymysql/protocol.py", line 220, in check_error
err.raise_mysql_exception(self._data)
File "/home/indictrans/workspace/v12/frappe-bench/env/lib/python3.5/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') and ar.student in ('EDU-STU-2020-00001')\n\t\tORDER BY\n\t\t\tard.assessment_criteri' at line 8")
By clicking Print Report Card it should generate a report card.
{
"education": "0.0.1",
"erpnext": "14.0.0-dev",
"frappe": "14.0.0-dev"
}
Form/Domain Settings/Domain Settings
Traceback (most recent call last):
File "apps/frappe/frappe/desk/form/save.py", line 23, in savedocs
doc.save()
File "apps/frappe/frappe/model/document.py", line 288, in save
return self._save(*args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 339, in _save
self.run_post_save_methods()
File "apps/frappe/frappe/model/document.py", line 1071, in run_post_save_methods
self.run_method("on_update")
File "apps/frappe/frappe/model/document.py", line 912, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1251, in composer
return composed(self, method, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1233, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "apps/frappe/frappe/model/document.py", line 909, in fn
return method_object(*args, **kwargs)
File "apps/frappe/frappe/core/doctype/domain_settings/domain_settings.py", line 27, in on_update
domain.setup_domain()
File "apps/frappe/frappe/core/doctype/domain/domain.py", line 17, in setup_domain
self.setup_data()
File "apps/frappe/frappe/core/doctype/domain/domain.py", line 81, in setup_data
self.data = frappe.get_domain_data(self.name)
File "apps/frappe/frappe/__init__.py", line 821, in get_domain_data
return _dict(get_attr(get_hooks("domains")[module][0] + ".data"))
File "apps/frappe/frappe/__init__.py", line 1490, in get_attr
return getattr(get_module(modulename), methodname)
File "apps/frappe/frappe/__init__.py", line 1243, in get_module
return importlib.import_module(modulename)
File "/usr/local/Cellar/[email protected]/3.9.12_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'education.setup'
Traceback (most recent call last):
File "apps/frappe/frappe/app.py", line 67, in application
response = frappe.api.handle()
File "apps/frappe/frappe/api.py", line 54, in handle
return frappe.handler.handle()
File "apps/frappe/frappe/handler.py", line 39, in handle
data = execute_cmd(cmd)
File "apps/frappe/frappe/handler.py", line 77, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "apps/frappe/frappe/__init__.py", line 1500, in call
return fn(*args, **newargs)
File "apps/frappe/frappe/desk/form/save.py", line 23, in savedocs
doc.save()
File "apps/frappe/frappe/model/document.py", line 288, in save
return self._save(*args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 339, in _save
self.run_post_save_methods()
File "apps/frappe/frappe/model/document.py", line 1071, in run_post_save_methods
self.run_method("on_update")
File "apps/frappe/frappe/model/document.py", line 912, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1251, in composer
return composed(self, method, *args, **kwargs)
File "apps/frappe/frappe/model/document.py", line 1233, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "apps/frappe/frappe/model/document.py", line 909, in fn
return method_object(*args, **kwargs)
File "apps/frappe/frappe/core/doctype/domain_settings/domain_settings.py", line 27, in on_update
domain.setup_domain()
File "apps/frappe/frappe/core/doctype/domain/domain.py", line 17, in setup_domain
self.setup_data()
File "apps/frappe/frappe/core/doctype/domain/domain.py", line 81, in setup_data
self.data = frappe.get_domain_data(self.name)
File "apps/frappe/frappe/__init__.py", line 821, in get_domain_data
return _dict(get_attr(get_hooks("domains")[module][0] + ".data"))
File "apps/frappe/frappe/__init__.py", line 1490, in get_attr
return getattr(get_module(modulename), methodname)
File "apps/frappe/frappe/__init__.py", line 1243, in get_module
return importlib.import_module(modulename)
File "/usr/local/Cellar/[email protected]/3.9.12_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'education.setup'
{
"type": "POST",
"args": {
"doc": "{\"name\":\"Domain Settings\",\"owner\":\"Administrator\",\"modified\":\"2022-05-23 09:11:54.160612\",\"modified_by\":\"Administrator\",\"docstatus\":0,\"idx\":\"0\",\"doctype\":\"Domain Settings\",\"active_domains\":[{\"docstatus\":0,\"doctype\":\"Has Domain\",\"name\":\"new-has-domain-1\",\"__islocal\":1,\"__unsaved\":1,\"owner\":\"Administrator\",\"parent\":\"Domain Settings\",\"parentfield\":\"active_domains\",\"parenttype\":\"Domain Settings\",\"idx\":1,\"domain\":\"Education\"}],\"__last_sync_on\":\"2022-05-23T03:49:52.033Z\",\"__unsaved\":1}",
"action": "Save"
},
"btn": {
"jQuery3600104424923983997051": {
"events": {
"click": [
{
"type": "click",
"origType": "click",
"guid": 421,
"namespace": ""
}
]
}
}
},
"freeze": true,
"headers": {},
"error_handlers": {},
"url": "/api/method/frappe.desk.form.save.savedocs"
}
{
"exception": "ModuleNotFoundError: No module named 'education.setup'"
}
Description of the issue
Duplicate Topics getting added on Course Topic child table on Course Doctype
Domain : Education
Doctype: Course
ChildTable : Course Topic
Steps to reproduce the issue
1.Go to Course List
2.Create New Course
3. Click on add on Topic child table
4. You can add multiple Topics to the same Course.
5. Ideally there must be only one Topic to one course.
Expected Result
When trying to create a Program, Course or Room by selecting the link in the Workspace, the following error appears:-
"Page program not found
The resource you are looking for is not available "
Direct access to the docTypes through the Awesomebar is also not working.
Steps to reproduce the issue:
1] Go to Student Application form
2] Create new Student Application
3] Enter future date on date of birth field
Description:
Future date of birth accepted in Student Application
Expected Result:
Throw error on save for date of birth cannot be a future date on Student Application
Fee status is not updated after success creating payment
Output of bench version
ERPNext Production
erpnext 13.0.2
frappe 13.0.3
## Steps to reproduce the issue
1. Access education module and open fee menu.
2. Create fee for student and submit.
3. Create payment from fee form that already submitted.
4. Fill required field for payment than submit.
5. Done
### Observed result
Payment status is Submitted
![image_2021-04-16_125415](https://user-images.githubusercontent.com/82632111/114978027-da5fa280-9eb2-11eb-85a6-1b8137e52947.png)
But Fee status is still unpaid
![image_2021-04-16_130033](https://user-images.githubusercontent.com/82632111/114978677-bb154500-9eb3-11eb-9451-095881a6138f.png)
### Expected result
Fee status change to paid after success make payment.
### Stacktrace / full error message
(paste here)
## Additional information
OS version / distribution, `ERPNext` install method, etc.
Student guardian contact details report is not working if the students has not been assigned any guardian.
erpnext/education/report/student_and_guardian_contact_details/student_and_guardian_contact_details.py
Output of bench version
(paste here)
(paste here)
OS version / distribution, ERPNext
install method, etc.
Description of the issue
If department is selected there should be employees belongs to that department.
Steps to reproduce the issue
Observed result
All employees are visible when one department is selected
Expected result
Only those employees should be there who belongs to that department.
OS version / distribution, ERPNext
install method, etc.
When using Program enrollment, and adding courses, it should only fetch courses as set in the program doctype. At the moment, it fetches all courses (except for those already selected, as per this other bug that has been solved: frappe/erpnext#20611)
The code that is not working is this:
@frappe.whitelist()
@frappe.validate_and_sanitize_search_inputs
def get_program_courses(doctype, txt, searchfield, start, page_len, filters):
if filters.get('program'):
return frappe.db.sql("""select course, course_name from tabProgram Course
where parent = %(program)s and course like %(txt)s {match_cond}
order by
if(locate(%(_txt)s, course), locate(%(_txt)s, course), 99999),
idx desc,
tabProgram Course
.course asc
limit {start}, {page_len}""".format(
match_cond=get_match_cond(doctype),
start=start,
page_len=page_len), {
"txt": "%{0}%".format(txt),
"_txt": txt.replace('%', ''),
"program": filters['program']
})
But I have not found a way to change it to make it work.
All I can say is that it fetches all the courses and not the one indicated in the program. I am on ERPNEXT V12
I have a student applicant. After Approving I want to enroll him/her in the program, but I get this error:
AttributeError: 'EducationSettings' object has no attribute 'user_creation_skip'
Output of bench version
erpnext 12.2.2
frappe 12.0.20
AttributeError: 'EducationSettings' object has no attribute 'user_creation_skip'
Student should be enrolled and a new student should be created.
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 60, in application
response = frappe.api.handle()
File "/home/frappe/frappe-bench/apps/frappe/frappe/api.py", line 55, in handle
return frappe.handler.handle()
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
data = execute_cmd(cmd)
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 61, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 1042, in call
return fn(*args, **newargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/mapper.py", line 30, in make_mapped_doc
return method(source_name)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/education/api.py", line 36, in enroll_student
student.save()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 272, in save
return self._save(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 295, in _save
self.insert()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 253, in insert
self.run_method("after_insert")
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 787, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1058, in composer
return composed(self, method, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1041, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 781, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/education/doctype/student/student.py", line 43, in after_insert
if not frappe.get_single('Education Settings').user_creation_skip:
AttributeError: 'EducationSettings' object has no attribute 'user_creation_skip'
On the latest ERPNext Beta (v14-beta5), the payment entry doctype no longer recognizes Students as a Party Type nor Fees as an Invoice. This was a deliberate change.
Going forward, how should we accept payment on Fees documents?
When Instructors try to use Student Attendance Tool by link .../app/student-attendance-tool
They have the error:
You do not have Read or Select Permissions for Academic Term
On v13.18.0 was no problem with it. Maybe something changed?
education
ERPNext: v13.19.0 (version-13)
Frappe Framework: v13.19.0 (version-13)
No response
No response
Redireted from https://discuss.erpnext.com/t/school-module-some-odds/31901/2?u=zenny.
Minimum and Maximum Age for the Admission doctype are only available in the calendar values in YYYY-MM-DD, not in number of age in YY.
Thanks!
The LMS system is limited to video from vimeo and youtube, Can it not support self hosted videos on the server?
Can't attach Department to Instructor in Education Domain. I choose Department and click Save button, but after reloading of page I have no department.
Output of bench version
ERPNext: v13.13.0 (version-13)
Frappe Framework: v13.13.0 (version-13)
No value in Department.
Department value equal choosed department.
(paste here)
OS version / distribution, ERPNext
install method, etc.
Fee exemption:-the government issues some fee concession to students of school that is called Fees-Exemption.
Two option to do fee-Exemption in ERPNext
First Option:-
Fees is created for a student:-
Payment is received regarding the fees:-
A fee exemption journal entry is created:-
A Refund Journal entry is also created
Second option:-
Fees is created for a student:-
Payment is received regarding the fees:-
A negative fee exemption is created for student:-
A Journal entry for refund is also created:-
Which option would be better for doing fees-Exemption from these two?????
hi @neilLasrado ,
I hope you are well,
I found this great python library that maybe you could integrate with the 'School' project.
https://github.com/timnon/pyschedule
I've created my whole school schedule with this library and it is mighty powerful ;-)
From what i have experienced with erpnext-school is that you can schedule slot in different time/room with various teachers/students. And erp will tell you if it there is no conflict. It will be cool if you don't have to find yourself / create yourself the whole schedule.
What do you think?
I'm happy to share the Jupyter notebook from which I created our schedule.
Best,
François
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.