fixed logic for creating disease tasks (#12081)
This commit is contained in:
parent
5825dedf7c
commit
6e5b8bb5d3
@ -599,6 +599,7 @@
|
|||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
|
"depends_on": "eval:!doc.__islocal",
|
||||||
"description": "List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ",
|
"description": "List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ",
|
||||||
"fieldname": "section_break_14",
|
"fieldname": "section_break_14",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
@ -790,7 +791,7 @@
|
|||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2017-12-06 01:47:26.656870",
|
"modified": "2017-12-18 12:54:29.071743",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Agriculture",
|
"module": "Agriculture",
|
||||||
"name": "Crop Cycle",
|
"name": "Crop Cycle",
|
||||||
|
@ -18,9 +18,26 @@ class CropCycle(Document):
|
|||||||
self.row_spacing_uom = crop.row_spacing_uom
|
self.row_spacing_uom = crop.row_spacing_uom
|
||||||
if not self.project:
|
if not self.project:
|
||||||
self.project = self.name
|
self.project = self.name
|
||||||
|
else:
|
||||||
|
old_disease, new_disease = [], []
|
||||||
for detected_disease in self.detected_disease:
|
for detected_disease in self.detected_disease:
|
||||||
disease = frappe.get_doc('Disease', detected_disease.disease)
|
new_disease.append(detected_disease.name)
|
||||||
self.create_task(disease.treatment_task, self.name, detected_disease.start_date)
|
for detected_disease in self.get_doc_before_save().get('detected_disease'):
|
||||||
|
old_disease.append(detected_disease.name)
|
||||||
|
if list(set(new_disease)-set(old_disease)) != []:
|
||||||
|
self.update_disease(list(set(new_disease)-set(old_disease)))
|
||||||
|
frappe.msgprint("All tasks for the detected diseases were imported")
|
||||||
|
|
||||||
|
def update_disease(self, disease_hashes):
|
||||||
|
new_disease = []
|
||||||
|
for disease in self.detected_disease:
|
||||||
|
for disease_hash in disease_hashes:
|
||||||
|
if disease.name == disease_hash:
|
||||||
|
self.import_disease_tasks(disease.disease, disease.start_date)
|
||||||
|
|
||||||
|
def import_disease_tasks(self, disease, start_date):
|
||||||
|
disease_doc = frappe.get_doc('Disease', disease)
|
||||||
|
self.create_task(disease_doc.treatment_task, self.name, start_date)
|
||||||
|
|
||||||
def create_project(self, period, crop_tasks):
|
def create_project(self, period, crop_tasks):
|
||||||
project = frappe.new_doc("Project")
|
project = frappe.new_doc("Project")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user