Merge pull request #852 from pateljannat/issues-14

fix: evaluation related issues
This commit is contained in:
Jannat Patel
2024-05-30 12:24:32 +05:30
committed by GitHub
4 changed files with 31 additions and 9 deletions

View File

@@ -116,7 +116,7 @@ function submitEvaluation(close) {
if (!evaluation.start_time) {
return 'Please select a slot.'
}
if (dayjs(evaluation.date).isSameOrBefore(dayjs(), 'day')) {
if (dayjs(evaluation.date).isBefore(dayjs(), 'day')) {
return 'Please select a future date.'
}
if (dayjs(evaluation.date).isAfter(dayjs(props.endDate), 'day')) {

View File

@@ -84,7 +84,7 @@
type="date"
:label="__('From')"
v-model="from"
@change.stop="
@blur="
() => {
updateUnavailability.submit({
field: 'unavailable_from',
@@ -97,7 +97,7 @@
type="date"
:label="__('To')"
v-model="to"
@change.stop="
@blur="
() => {
updateUnavailability.submit({
field: 'unavailable_to',

View File

@@ -6,7 +6,7 @@ from frappe import _
from frappe.model.document import Document
from lms.lms.utils import get_evaluator
from datetime import datetime
from frappe.utils import get_time
from frappe.utils import get_time, getdate
class CourseEvaluator(Document):
@@ -18,7 +18,7 @@ class CourseEvaluator(Document):
if (
self.unavailable_from
and self.unavailable_to
and self.unavailable_from >= self.unavailable_to
and getdate(self.unavailable_from) >= getdate(self.unavailable_to)
):
frappe.throw(_("Unavailable From Date cannot be greater than Unavailable To Date"))

View File

@@ -5,7 +5,15 @@ import frappe
from frappe import _
from frappe.model.document import Document
from frappe.model.mapper import get_mapped_doc
from frappe.utils import format_date, format_time, getdate, add_to_date, get_datetime
from frappe.utils import (
format_date,
format_time,
getdate,
add_to_date,
get_datetime,
nowtime,
get_time,
)
from lms.lms.utils import get_evaluator
@@ -54,13 +62,23 @@ class LMSCertificateRequest(Document):
def validate_if_existing_requests(self):
existing_requests = frappe.get_all(
"LMS Certificate Request",
{"member": self.member, "course": self.course, "name": ["!=", self.name]},
{
"member": self.member,
"course": self.course,
"name": ["!=", self.name],
},
["date", "start_time", "course"],
)
for req in existing_requests:
if req.date == getdate(self.date) or getdate() <= getdate(req.date):
if (
req.date == getdate(self.date)
or getdate() < getdate(req.date)
or (
getdate() == getdate(req.date)
and getdate(self.start_time) < getdate(req.start_time)
)
):
course_title = frappe.db.get_value("LMS Course", req.course, "title")
frappe.throw(
_("You already have an evaluation on {0} at {1} for the course {2}.").format(
@@ -69,6 +87,10 @@ class LMSCertificateRequest(Document):
course_title,
)
)
if getdate() == getdate(self.date) and get_time(self.start_time) < get_time(
nowtime()
):
frappe.throw(_("You cannot schedule evaluations for past slots."))
def validate_evaluation_end_date(self):
if self.batch_name: