Time Log -
Project made compulsory for time logs with time_log_for selected as 'Project'
Activity Type Madetory criteria removed
Compleated Quantity hidden if time_log_for is not set as Manufacturing
diff --git a/erpnext/projects/doctype/time_log/time_log.json b/erpnext/projects/doctype/time_log/time_log.json
index e60e75e..f55ce1b 100644
--- a/erpnext/projects/doctype/time_log/time_log.json
+++ b/erpnext/projects/doctype/time_log/time_log.json
@@ -76,7 +76,7 @@
    "options": "Activity Type", 
    "permlevel": 0, 
    "read_only": 0, 
-   "reqd": 1
+   "reqd": 0
   }, 
   {
    "depends_on": "eval:doc.time_log_for != 'Manufacturing'", 
@@ -116,6 +116,7 @@
    "read_only": 1
   }, 
   {
+   "depends_on": "eval:doc.time_log_for == 'Manufacturing'", 
    "description": "Operation completed for how many finished goods?", 
    "fieldname": "completed_qty", 
    "fieldtype": "Float", 
diff --git a/erpnext/projects/doctype/time_log/time_log.py b/erpnext/projects/doctype/time_log/time_log.py
index f4cb89e..7bb0835 100644
--- a/erpnext/projects/doctype/time_log/time_log.py
+++ b/erpnext/projects/doctype/time_log/time_log.py
@@ -23,6 +23,7 @@
 		self.validate_time_log_for()
 		self.check_workstation_timings()
 		self.validate_production_order()
+		self.validate_project()
 
 	def on_submit(self):
 		self.update_production_order()
@@ -127,6 +128,11 @@
 			from `tabTime Log`
 			where production_order = %s and operation = %s and docstatus=1""",
 			(self.production_order, self.operation), as_dict=1)[0]
+			
+	def validate_project(self):
+		if self.time_log_for == 'Project':
+			if not self.project:
+				frappe.throw(_("Project is Mandatory."))
 
 @frappe.whitelist()
 def get_workstation(production_order, operation):