From 30c89cb13c0858640dc0d39fea2fbc6d5d06fa61 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Wed, 20 Dec 2023 11:00:09 +0530 Subject: [PATCH] fix: evaluation dates validation --- .../lms_certificate_request.py | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) 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 9b33ed99..3f1039fa 100644 --- a/lms/lms/doctype/lms_certificate_request/lms_certificate_request.py +++ b/lms/lms/doctype/lms_certificate_request/lms_certificate_request.py @@ -11,8 +11,20 @@ from lms.lms.utils import get_evaluator class LMSCertificateRequest(Document): def validate(self): + self.validate_slot() self.validate_if_existing_requests() - self.validate_evaluation_date() + self.validate_evaluation_end_date() + + def validate_slot(self): + if frappe.db.exists( + "LMS Certificate Request", + { + "evaluator": self.evaluator, + "date": self.date, + "start_time": self.start_time, + }, + ): + frappe.throw(_("The slot is already booked by another participant.")) def validate_if_existing_requests(self): existing_requests = frappe.get_all( @@ -33,19 +45,19 @@ class LMSCertificateRequest(Document): ) ) - def validate_evaluation_date(self): + def validate_evaluation_end_date(self): if self.batch_name: evaluation_end_date = frappe.db.get_value( "LMS Batch", self.batch_name, "evaluation_end_date" ) - if evaluation_end_date: - if getdate(self.date) > getdate(evaluation_end_date): - frappe.throw( - _("You cannot schedule evaluations after {0}.").format( - format_date(evaluation_end_date, "medium") + if evaluation_end_date: + if getdate(self.date) > getdate(evaluation_end_date): + frappe.throw( + _("You cannot schedule evaluations after {0}.").format( + format_date(evaluation_end_date, "medium") + ) ) - ) def schedule_evals():