[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 from __future__ import unicode_literals
import frappe import frappe
from frappe import msgprint, _ 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 from frappe.model.document import Document
class AcademicTerm(Document): class AcademicTerm(Document):
def autoname(self): def autoname(self):
self.name = self.academic_year + " ({})".format(self.term_name) if self.term_name else "" self.name = self.academic_year + " ({})".format(self.term_name) if self.term_name else ""
def validate(self): def validate(self):
#Check if entry with same academic_year and the term_name already exists #Check if entry with same academic_year and the term_name already exists
validate_duplication(self) validate_duplication(self)
self.title = self.academic_year + " ({})".format(self.term_name) if self.term_name else "" 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 #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: 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.")) 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""" the end of the academic year"""
year = frappe.get_doc("Academic Year",self.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)) 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)) 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): 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)) and docstatus<2 and name != %s""", (self.academic_year, self.term_name, self.name))
if term: 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)) 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))