From 01598ac00255dcb44649d0ee8503420b3983bf59 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 3 Mar 2025 17:01:10 +0530 Subject: [PATCH] feat: mark evaluation requests as complete --- lms/hooks.py | 1 + .../lms_certificate_request.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/lms/hooks.py b/lms/hooks.py index 999ba199..3bb5929e 100644 --- a/lms/hooks.py +++ b/lms/hooks.py @@ -112,6 +112,7 @@ scheduler_events = { "hourly": [ "lms.lms.doctype.lms_certificate_request.lms_certificate_request.schedule_evals", "lms.lms.api.update_course_statistics", + "lms.lms.doctype.lms_certificate_request.lms_certificate_request.mark_eval_as_completed", ], "daily": [ "lms.job.doctype.job_opportunity.job_opportunity.update_job_openings", diff --git a/lms/lms/doctype/lms_certificate_request/lms_certificate_request.py b/lms/lms/doctype/lms_certificate_request/lms_certificate_request.py index c172f2dc..c7515a81 100644 --- a/lms/lms/doctype/lms_certificate_request/lms_certificate_request.py +++ b/lms/lms/doctype/lms_certificate_request/lms_certificate_request.py @@ -254,3 +254,20 @@ def create_lms_certificate_evaluation(source_name, target_doc=None): target_doc, ) return doc + + +def mark_eval_as_completed(): + requests = frappe.get_all( + "LMS Certificate Request", + { + "status": "Upcoming", + "date": ["<=", getdate()], + }, + ["name", "end_time", "date"], + ) + + for req in requests: + if req.date < getdate(): + frappe.db.set_value("LMS Certificate Request", req.name, "status", "Completed") + elif req.date == getdate() and get_time(req.end_time) < get_time(nowtime()): + frappe.db.set_value("LMS Certificate Request", req.name, "status", "Completed")