time log fixes
diff --git a/erpnext/projects/doctype/time_log/time_log.js b/erpnext/projects/doctype/time_log/time_log.js
index 9a53836..cfcd35c 100644
--- a/erpnext/projects/doctype/time_log/time_log.js
+++ b/erpnext/projects/doctype/time_log/time_log.js
@@ -10,13 +10,6 @@
}
});
-frappe.ui.form.on("Time Log", "refresh", function(frm) {
- var is_manufacturing = frm.doc.time_log_for=="Manufacturing" ? true : false;
- frm.toggle_reqd("production_order", is_manufacturing);
- frm.toggle_reqd("operation", is_manufacturing);
- frm.toggle_reqd("completed_qty", is_manufacturing);
-});
-
// set to time if hours is updated
frappe.ui.form.on("Time Log", "hours", function(frm) {
if(!frm.doc.from_time) {
diff --git a/erpnext/projects/doctype/time_log/time_log.json b/erpnext/projects/doctype/time_log/time_log.json
index f55ce1b..16102d7 100644
--- a/erpnext/projects/doctype/time_log/time_log.json
+++ b/erpnext/projects/doctype/time_log/time_log.json
@@ -237,5 +237,5 @@
"write": 1
}
],
- "title_field": "activity_type"
+ "title_field": ""
}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/time_log/time_log.py b/erpnext/projects/doctype/time_log/time_log.py
index a829d44..b1d4b8a 100644
--- a/erpnext/projects/doctype/time_log/time_log.py
+++ b/erpnext/projects/doctype/time_log/time_log.py
@@ -25,6 +25,7 @@
self.validate_production_order()
self.validate_project()
self.validate_activity()
+ self.validate_manufacturing()
def on_submit(self):
self.update_production_order()
@@ -134,11 +135,26 @@
if self.time_log_for == 'Project':
if not self.project:
frappe.throw(_("Project is Mandatory."))
-
+ if self.time_log_for == "":
+ self.project = None
+
def validate_activity(self):
- if self.time_log_for == 'Project':
- if not self.activity:
+ if self.time_log_for != 'Manufacturing':
+ if not self.activity_type:
frappe.throw(_("Activity is Mandatory."))
+ self.production_order = None
+ self.operation = None
+ self.quantity = None
+
+ def validate_manufacturing(self):
+ if self.time_log_for == 'Manufacturing':
+ if not self.production_order:
+ frappe.throw(_("Production Order is Mandatory"))
+ if not self.operation:
+ frappe.throw(_("Operation is Mandatory"))
+ if not self.completed_qty:
+ self.completed_qty=0
+ self.activity_type = None
@frappe.whitelist()
def get_workstation(production_order, operation):
@@ -176,7 +192,7 @@
data = frappe.db.sql("""select name, from_time, to_time,
activity_type, task, project, production_order, workstation from `tabTime Log`
- where ( from_time between %(start)s and %(end)s or to_time between %(start)s and %(end)s )
+ where docstatus < 2 and ( from_time between %(start)s and %(end)s or to_time between %(start)s and %(end)s )
{conditions}""".format(conditions=conditions), {
"start": start,
"end": end