diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py index 490461d47f5..da05691d3fa 100644 --- a/erpnext/projects/doctype/project/project.py +++ b/erpnext/projects/doctype/project/project.py @@ -91,14 +91,14 @@ class Project(Document): def validate(self): if not self.is_new(): - self.copy_from_template() # nosemgrep + self.copy_from_template() self.send_welcome_email() self.update_costing() self.update_percent_complete() self.validate_from_to_dates("expected_start_date", "expected_end_date") self.validate_from_to_dates("actual_start_date", "actual_end_date") - def copy_from_template(self): # nosemgrep + def copy_from_template(self, trigger=None): """ Copy tasks from template """ @@ -107,11 +107,15 @@ class Project(Document): if not self.expected_start_date: # project starts today self.expected_start_date = today() + if trigger == "after_insert": + self.db_set("expected_start_date", self.expected_start_date) template = frappe.get_doc("Project Template", self.project_template) if not self.project_type: self.project_type = template.project_type + if trigger == "after_insert": + self.db_set("project_type", self.project_type) # create tasks from template project_tasks = [] @@ -235,7 +239,7 @@ class Project(Document): self.db_update() def after_insert(self): - self.copy_from_template() # nosemgrep + self.copy_from_template("after_insert") if self.sales_order: frappe.db.set_value("Sales Order", self.sales_order, "project", self.name)