Merge pull request #852 from pateljannat/issues-14
fix: evaluation related issues
This commit is contained in:
@@ -116,7 +116,7 @@ function submitEvaluation(close) {
|
|||||||
if (!evaluation.start_time) {
|
if (!evaluation.start_time) {
|
||||||
return 'Please select a slot.'
|
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.'
|
return 'Please select a future date.'
|
||||||
}
|
}
|
||||||
if (dayjs(evaluation.date).isAfter(dayjs(props.endDate), 'day')) {
|
if (dayjs(evaluation.date).isAfter(dayjs(props.endDate), 'day')) {
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
type="date"
|
type="date"
|
||||||
:label="__('From')"
|
:label="__('From')"
|
||||||
v-model="from"
|
v-model="from"
|
||||||
@change.stop="
|
@blur="
|
||||||
() => {
|
() => {
|
||||||
updateUnavailability.submit({
|
updateUnavailability.submit({
|
||||||
field: 'unavailable_from',
|
field: 'unavailable_from',
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
type="date"
|
type="date"
|
||||||
:label="__('To')"
|
:label="__('To')"
|
||||||
v-model="to"
|
v-model="to"
|
||||||
@change.stop="
|
@blur="
|
||||||
() => {
|
() => {
|
||||||
updateUnavailability.submit({
|
updateUnavailability.submit({
|
||||||
field: 'unavailable_to',
|
field: 'unavailable_to',
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from frappe import _
|
|||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from lms.lms.utils import get_evaluator
|
from lms.lms.utils import get_evaluator
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from frappe.utils import get_time
|
from frappe.utils import get_time, getdate
|
||||||
|
|
||||||
|
|
||||||
class CourseEvaluator(Document):
|
class CourseEvaluator(Document):
|
||||||
@@ -18,7 +18,7 @@ class CourseEvaluator(Document):
|
|||||||
if (
|
if (
|
||||||
self.unavailable_from
|
self.unavailable_from
|
||||||
and self.unavailable_to
|
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"))
|
frappe.throw(_("Unavailable From Date cannot be greater than Unavailable To Date"))
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,15 @@ import frappe
|
|||||||
from frappe import _
|
from frappe import _
|
||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from frappe.model.mapper import get_mapped_doc
|
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
|
from lms.lms.utils import get_evaluator
|
||||||
|
|
||||||
|
|
||||||
@@ -54,13 +62,23 @@ class LMSCertificateRequest(Document):
|
|||||||
def validate_if_existing_requests(self):
|
def validate_if_existing_requests(self):
|
||||||
existing_requests = frappe.get_all(
|
existing_requests = frappe.get_all(
|
||||||
"LMS Certificate Request",
|
"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"],
|
["date", "start_time", "course"],
|
||||||
)
|
)
|
||||||
|
|
||||||
for req in existing_requests:
|
for req in existing_requests:
|
||||||
|
if (
|
||||||
if req.date == getdate(self.date) or getdate() <= getdate(req.date):
|
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")
|
course_title = frappe.db.get_value("LMS Course", req.course, "title")
|
||||||
frappe.throw(
|
frappe.throw(
|
||||||
_("You already have an evaluation on {0} at {1} for the course {2}.").format(
|
_("You already have an evaluation on {0} at {1} for the course {2}.").format(
|
||||||
@@ -69,6 +87,10 @@ class LMSCertificateRequest(Document):
|
|||||||
course_title,
|
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):
|
def validate_evaluation_end_date(self):
|
||||||
if self.batch_name:
|
if self.batch_name:
|
||||||
|
|||||||
Reference in New Issue
Block a user