From 6e49cf14fa40a233e87c20569fe7db0bd1cc9565 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 2 Jun 2022 19:28:40 +0530 Subject: [PATCH] fix: validation for certificate request --- .../lms_certificate_request.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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 3d674cf3..da76d1c4 100644 --- a/lms/lms/doctype/lms_certificate_request/lms_certificate_request.py +++ b/lms/lms/doctype/lms_certificate_request/lms_certificate_request.py @@ -4,9 +4,24 @@ import frappe from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc +from frappe import _ +from frappe.utils import getdate, format_date, format_time class LMSCertificateRequest(Document): - pass + + def validate(self): + self.validate_if_existing_requests() + + def validate_if_existing_requests(self): + existing_requests = frappe.get_all("LMS Certificate Request", { + "member": self.member, + "course": self.course + }, ["date", "start_time", "course"]) + + for req in existing_requests: + if req.date == getdate(self.date) and getdate(self.date) <= getdate(): + course_title = frappe.db.get_value("LMS Course", req.course, "title") + frappe.throw(_(f"You already have an evaluation on {format_date(req.date, 'medium')} at {format_time(req.start_time, 'short')} for the course {course_title}.")) @frappe.whitelist() def create_certificate_request(course, date, day, start_time, end_time):