From 1a8d113ad8d5a1bffe90064a49e5b07aef35c7b1 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 27 Mar 2023 17:32:43 +0530 Subject: [PATCH 1/2] feat: notification on assignment submission --- .../lesson_assignment/lesson_assignment.json | 14 ++++++++-- .../__init__.py | 0 .../assignment_submission_notification.json | 27 +++++++++++++++++++ .../assignment_submission_notification.md | 10 +++++++ .../assignment_submission_notification.py | 6 +++++ lms/patches.txt | 3 ++- .../v0_0/add_evaluator_to_assignment.py | 8 ++++++ 7 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 lms/lms/notification/assignment_submission_notification/__init__.py create mode 100644 lms/lms/notification/assignment_submission_notification/assignment_submission_notification.json create mode 100644 lms/lms/notification/assignment_submission_notification/assignment_submission_notification.md create mode 100644 lms/lms/notification/assignment_submission_notification/assignment_submission_notification.py create mode 100644 lms/patches/v0_0/add_evaluator_to_assignment.py diff --git a/lms/lms/doctype/lesson_assignment/lesson_assignment.json b/lms/lms/doctype/lesson_assignment/lesson_assignment.json index 46f316f3..36957671 100644 --- a/lms/lms/doctype/lesson_assignment/lesson_assignment.json +++ b/lms/lms/doctype/lesson_assignment/lesson_assignment.json @@ -9,6 +9,7 @@ "assignment", "lesson", "course", + "evaluator", "status", "column_break_3", "member", @@ -56,10 +57,11 @@ { "fetch_from": "lesson.course", "fieldname": "course", - "fieldtype": "Data", + "fieldtype": "Link", "in_list_view": 1, "in_standard_filter": 1, "label": "Course", + "options": "LMS Course", "read_only": 1 }, { @@ -73,12 +75,20 @@ "fieldname": "comments", "fieldtype": "Small Text", "label": "Comments" + }, + { + "fetch_from": "course.evaluator", + "fieldname": "evaluator", + "fieldtype": "Link", + "label": "Evaluator", + "options": "User", + "read_only": 1 } ], "index_web_pages_for_search": 1, "links": [], "make_attachments_public": 1, - "modified": "2022-11-16 12:11:59.472025", + "modified": "2023-03-27 13:24:18.696868", "modified_by": "Administrator", "module": "LMS", "name": "Lesson Assignment", diff --git a/lms/lms/notification/assignment_submission_notification/__init__.py b/lms/lms/notification/assignment_submission_notification/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.json b/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.json new file mode 100644 index 00000000..c57ee791 --- /dev/null +++ b/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.json @@ -0,0 +1,27 @@ +{ + "attach_print": 0, + "channel": "Email", + "creation": "2023-03-27 16:34:03.505645", + "days_in_advance": 0, + "docstatus": 0, + "doctype": "Notification", + "document_type": "Lesson Assignment", + "enabled": 1, + "event": "New", + "idx": 0, + "is_standard": 1, + "message": "

{{ _(\"Assignment Submission\") }}\n\n{% set title = frappe.db.get_value(\"Course Lesson\", doc.lesson, \"title\") %}\n\n

{{ _(\"{0} has submitted their assignment for the lesson {1}\").format(doc.member_name, title) }}

\n\n

{{ _(\" Please evaluate and grade the assignment. \") }}

", + "modified": "2023-03-27 16:46:44.564007", + "modified_by": "Administrator", + "module": "LMS", + "name": "Assignment Submission Notification", + "owner": "Administrator", + "recipients": [ + { + "receiver_by_document_field": "evaluator" + } + ], + "send_system_notification": 0, + "send_to_all_assignees": 0, + "subject": "Assignment Submission" +} \ No newline at end of file diff --git a/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.md b/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.md new file mode 100644 index 00000000..6663f818 --- /dev/null +++ b/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.md @@ -0,0 +1,10 @@ +
+
+

{{ _("Assignment Submission") }}

+ {% set title = frappe.db.get_value("Course Lesson", doc.lesson, "title") %} +

{{ _("{0} has submitted their assignment for the lesson {1}").format(frappe.bold(doc.member_name), frappe.bold(title)) }} +

+

{{ _(" Please evaluate and grade the assignment.") }}

+
+
+ diff --git a/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.py b/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.py new file mode 100644 index 00000000..80b7b873 --- /dev/null +++ b/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.py @@ -0,0 +1,6 @@ +import frappe + + +def get_context(context): + # do your magic here + pass diff --git a/lms/patches.txt b/lms/patches.txt index 03c7594c..766910ba 100644 --- a/lms/patches.txt +++ b/lms/patches.txt @@ -48,4 +48,5 @@ lms.patches.v0_0.user_singles_issue #23-11-2022 lms.patches.v0_0.rename_community_to_users #06-01-2023 lms.patches.v0_0.video_embed_link lms.patches.v0_0.rename_exercise_doctype -lms.patches.v0_0.add_question_type \ No newline at end of file +lms.patches.v0_0.add_question_type +lms.patches.v0_0.add_evaluator_to_assignment \ No newline at end of file diff --git a/lms/patches/v0_0/add_evaluator_to_assignment.py b/lms/patches/v0_0/add_evaluator_to_assignment.py new file mode 100644 index 00000000..aa04370b --- /dev/null +++ b/lms/patches/v0_0/add_evaluator_to_assignment.py @@ -0,0 +1,8 @@ +import frappe + + +def execute(): + assignments = frappe.get_all("Lesson Assignment", fields=["name", "course"]) + for assignment in assignments: + evaluator = frappe.db.get_value("LMS Course", assignment.course, "evaluator") + frappe.db.set_value("Lesson Assignment", assignment.name, "evaluator", evaluator) From a7c15959786eb6a85390a9bb22647e6526c1a9ff Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 27 Mar 2023 17:38:26 +0530 Subject: [PATCH 2/2] fix: spacing in email --- .../assignment_submission_notification.md | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.md b/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.md index 6663f818..02b2f997 100644 --- a/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.md +++ b/lms/lms/notification/assignment_submission_notification/assignment_submission_notification.md @@ -2,6 +2,7 @@

{{ _("Assignment Submission") }}

{% set title = frappe.db.get_value("Course Lesson", doc.lesson, "title") %} +

{{ _("{0} has submitted their assignment for the lesson {1}").format(frappe.bold(doc.member_name), frappe.bold(title)) }}

{{ _(" Please evaluate and grade the assignment.") }}