mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-26 21:35:19 +00:00
fix: validation for task end date check
(cherry picked from commit 7c6da80f98)
This commit is contained in:
@@ -122,19 +122,35 @@ class Task(NestedSet):
|
|||||||
if not self.project or frappe.in_test:
|
if not self.project or frappe.in_test:
|
||||||
return
|
return
|
||||||
|
|
||||||
if project_end_date := frappe.db.get_value("Project", self.project, "expected_end_date"):
|
project_start_date, project_end_date = frappe.db.get_value(
|
||||||
project_end_date = getdate(project_end_date)
|
"Project", self.project, ["expected_start_date", "expected_end_date"]
|
||||||
for fieldname in ("exp_start_date", "exp_end_date", "act_start_date", "act_end_date"):
|
)
|
||||||
task_date = self.get(fieldname)
|
|
||||||
if task_date and date_diff(project_end_date, getdate(task_date)) < 0:
|
for fieldname in ("exp_start_date", "exp_end_date", "act_start_date", "act_end_date"):
|
||||||
frappe.throw(
|
task_date = self.get(fieldname)
|
||||||
_("{0}'s {1} cannot be after {2}'s Expected End Date.").format(
|
if not task_date:
|
||||||
frappe.bold(frappe.get_desk_link("Task", self.name)),
|
continue
|
||||||
_(self.meta.get_label(fieldname)),
|
task_date = getdate(task_date)
|
||||||
frappe.bold(frappe.get_desk_link("Project", self.project)),
|
|
||||||
),
|
if project_end_date and date_diff(getdate(project_end_date), task_date) < 0:
|
||||||
frappe.exceptions.InvalidDates,
|
frappe.throw(
|
||||||
)
|
_("{0}'s {1} cannot be after {2}'s Expected End Date.").format(
|
||||||
|
get_link_to_form("Task", self.name),
|
||||||
|
_(self.meta.get_label(fieldname)),
|
||||||
|
get_link_to_form("Project", self.project),
|
||||||
|
),
|
||||||
|
frappe.exceptions.InvalidDates,
|
||||||
|
)
|
||||||
|
|
||||||
|
if project_start_date and date_diff(task_date, getdate(project_start_date)) < 0:
|
||||||
|
frappe.throw(
|
||||||
|
_("{0}'s {1} cannot be before {2}'s Expected Start Date.").format(
|
||||||
|
get_link_to_form("Task", self.name),
|
||||||
|
_(self.meta.get_label(fieldname)),
|
||||||
|
get_link_to_form("Project", self.project),
|
||||||
|
),
|
||||||
|
frappe.exceptions.InvalidDates,
|
||||||
|
)
|
||||||
|
|
||||||
def validate_status(self):
|
def validate_status(self):
|
||||||
if self.is_template and self.status != "Template":
|
if self.is_template and self.status != "Template":
|
||||||
|
|||||||
Reference in New Issue
Block a user