[minor] fix date comparisons

This commit is contained in:
Rushabh Mehta 2016-10-18 14:44:01 +05:30
parent df01b5770b
commit bdc8a88b4d

View File

@ -5,34 +5,34 @@
from __future__ import unicode_literals
import frappe
from frappe import msgprint, _
from frappe.utils import get_datetime, get_datetime_str
from frappe.utils import get_datetime
from frappe.model.document import Document
class AcademicTerm(Document):
def autoname(self):
self.name = self.academic_year + " ({})".format(self.term_name) if self.term_name else ""
def validate(self):
#Check if entry with same academic_year and the term_name already exists
validate_duplication(self)
self.title = self.academic_year + " ({})".format(self.term_name) if self.term_name else ""
#Check that start of academic year is earlier than end of academic year
if self.term_start_date and self.term_end_date and self.term_start_date > self.term_end_date:
frappe.throw(_("The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again."))
"""Check that the start of the term is not before the start of the academic year and end of term is not after
"""Check that the start of the term is not before the start of the academic year and end of term is not after
the end of the academic year"""
year = frappe.get_doc("Academic Year",self.academic_year)
if self.term_start_date and get_datetime_str(year.year_start_date) and (self.term_start_date < get_datetime_str(year.year_start_date)):
if self.term_start_date and get_datetime(year.year_start_date) and (self.term_start_date < get_datetime(year.year_start_date)):
frappe.throw(_("The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.").format(self.academic_year))
if self.term_end_date and get_datetime_str(year.year_end_date) and (self.term_end_date > get_datetime_str(year.year_end_date)):
if self.term_end_date and get_datetime_(year.year_end_date) and (self.term_end_date > get_datetime(year.year_end_date)):
frappe.throw(_("The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.").format(self.academic_year))
def validate_duplication(self):
term = frappe.db.sql("""select name from `tabAcademic Term` where academic_year= %s and term_name= %s
term = frappe.db.sql("""select name from `tabAcademic Term` where academic_year= %s and term_name= %s
and docstatus<2 and name != %s""", (self.academic_year, self.term_name, self.name))
if term:
frappe.throw(_("An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.").format(self.academic_year,self.term_name))