filters added, ui change, update project moved to project.py
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js
index 2ba4d22..d279074 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.js
@@ -169,3 +169,11 @@
 frappe.ui.form.on("Expense Claim", "task", function(frm) {
 	erpnext.expense_claim.set_title(frm);
 });
+
+cur_frm.fields_dict['task'].get_query = function(doc) {
+	return {
+		filters:{
+			'project': doc.project
+		}
+	}	
+}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/project/project.json b/erpnext/projects/doctype/project/project.json
index ef6140a..5c4f7d1 100644
--- a/erpnext/projects/doctype/project/project.json
+++ b/erpnext/projects/doctype/project/project.json
@@ -8,13 +8,6 @@
  "document_type": "Master", 
  "fields": [
   {
-   "fieldname": "overview", 
-   "fieldtype": "Section Break", 
-   "label": "Overview", 
-   "options": "icon-file", 
-   "permlevel": 0
-  }, 
-  {
    "description": "", 
    "fieldname": "project_name", 
    "fieldtype": "Data", 
@@ -113,6 +106,49 @@
    "search_index": 0
   }, 
   {
+   "fieldname": "customer_details", 
+   "fieldtype": "Section Break", 
+   "label": "", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-user", 
+   "permlevel": 0
+  }, 
+  {
+   "fieldname": "customer", 
+   "fieldtype": "Link", 
+   "in_filter": 1, 
+   "label": "Customer", 
+   "no_copy": 0, 
+   "oldfieldname": "customer", 
+   "oldfieldtype": "Link", 
+   "options": "Customer", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "reqd": 0, 
+   "search_index": 1
+  }, 
+  {
+   "fieldname": "company", 
+   "fieldtype": "Link", 
+   "label": "Company", 
+   "options": "Company", 
+   "permlevel": 0
+  }, 
+  {
+   "fieldname": "column_break_14", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
+   "fieldname": "sales_order", 
+   "fieldtype": "Link", 
+   "label": "Sales Order", 
+   "options": "Sales Order", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
    "fieldname": "sb_milestones", 
    "fieldtype": "Section Break", 
    "label": "Tasks", 
@@ -156,13 +192,6 @@
    "search_index": 0
   }, 
   {
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "label": "Company", 
-   "options": "Company", 
-   "permlevel": 0
-  }, 
-  {
    "fieldname": "section_break_18", 
    "fieldtype": "Section Break", 
    "permlevel": 0, 
@@ -179,7 +208,7 @@
   {
    "fieldname": "actual_time", 
    "fieldtype": "Float", 
-   "label": "Actual Time", 
+   "label": "Actual Time (in Hours)", 
    "permlevel": 0, 
    "precision": "", 
    "read_only": 1
@@ -202,18 +231,16 @@
    "search_index": 0
   }, 
   {
-   "fieldname": "project_details", 
+   "fieldname": "section_break_26", 
    "fieldtype": "Section Break", 
-   "label": "Project Costing", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-money", 
-   "permlevel": 0
+   "permlevel": 0, 
+   "precision": ""
   }, 
   {
-   "fieldname": "project_value", 
+   "fieldname": "estimated_costing", 
    "fieldtype": "Currency", 
    "in_list_view": 1, 
-   "label": "Project Value", 
+   "label": "Estimated Costing", 
    "no_copy": 0, 
    "oldfieldname": "project_value", 
    "oldfieldtype": "Currency", 
@@ -223,47 +250,12 @@
    "search_index": 0
   }, 
   {
-   "fieldname": "total_costing_amount", 
-   "fieldtype": "Currency", 
-   "label": "Total Costing Amount", 
-   "permlevel": 0, 
-   "precision": "", 
-   "read_only": 1
-  }, 
-  {
-   "fieldname": "total_expense_claim", 
-   "fieldtype": "Currency", 
-   "label": "Total Expense Claim", 
-   "permlevel": 0, 
-   "precision": "", 
-   "read_only": 1
-  }, 
-  {
    "fieldname": "column_break_22", 
    "fieldtype": "Column Break", 
    "permlevel": 0, 
    "precision": ""
   }, 
   {
-   "fieldname": "est_material_cost", 
-   "fieldtype": "Currency", 
-   "label": "Estimated Material Cost", 
-   "no_copy": 0, 
-   "oldfieldname": "est_material_cost", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0, 
-   "search_index": 0
-  }, 
-  {
-   "fieldname": "total_billing_amount", 
-   "fieldtype": "Currency", 
-   "label": "Total Billing Amount", 
-   "permlevel": 0, 
-   "precision": "", 
-   "read_only": 1
-  }, 
-  {
    "fieldname": "cost_center", 
    "fieldtype": "Link", 
    "label": "Default Cost Center", 
@@ -271,24 +263,30 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "margin", 
+   "fieldname": "project_details", 
    "fieldtype": "Section Break", 
-   "label": "Margin", 
-   "oldfieldtype": "Column Break", 
-   "permlevel": 0, 
-   "width": "50%"
+   "label": "", 
+   "oldfieldtype": "Section Break", 
+   "options": "icon-money", 
+   "permlevel": 0
   }, 
   {
-   "fieldname": "gross_margin_value", 
+   "description": "", 
+   "fieldname": "total_costing_amount", 
    "fieldtype": "Currency", 
-   "label": "Gross Margin Value", 
-   "no_copy": 0, 
-   "oldfieldname": "gross_margin_value", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
+   "label": "Total Costing Amount (via Time Logs)", 
    "permlevel": 0, 
-   "reqd": 0, 
-   "search_index": 0
+   "precision": "", 
+   "read_only": 1
+  }, 
+  {
+   "description": "", 
+   "fieldname": "total_expense_claim", 
+   "fieldtype": "Currency", 
+   "label": "Total Expense Claim (via Expense Claims)", 
+   "permlevel": 0, 
+   "precision": "", 
+   "read_only": 1
   }, 
   {
    "fieldname": "column_break_28", 
@@ -297,44 +295,59 @@
    "precision": ""
   }, 
   {
-   "fieldname": "per_gross_margin", 
+   "description": "", 
+   "fieldname": "total_billing_amount", 
    "fieldtype": "Currency", 
-   "label": "Gross Margin %", 
+   "label": "Total Billing Amount (via Time Logs)", 
+   "permlevel": 0, 
+   "precision": "", 
+   "read_only": 1
+  }, 
+  {
+   "fieldname": "margin", 
+   "fieldtype": "Section Break", 
+   "label": "", 
+   "oldfieldtype": "Column Break", 
+   "permlevel": 0, 
+   "width": "50%"
+  }, 
+  {
+   "fieldname": "gross_margin", 
+   "fieldtype": "Currency", 
+   "label": "Gross Margin", 
    "no_copy": 0, 
-   "oldfieldname": "per_gross_margin", 
+   "oldfieldname": "gross_margin_value", 
    "oldfieldtype": "Currency", 
    "options": "Company:company:default_currency", 
    "permlevel": 0, 
+   "read_only": 1, 
    "reqd": 0, 
    "search_index": 0
   }, 
   {
-   "fieldname": "customer_details", 
-   "fieldtype": "Section Break", 
-   "label": "Customer Details", 
-   "oldfieldtype": "Section Break", 
-   "options": "icon-user", 
-   "permlevel": 0
+   "fieldname": "column_break_37", 
+   "fieldtype": "Column Break", 
+   "permlevel": 0, 
+   "precision": ""
   }, 
   {
-   "fieldname": "customer", 
-   "fieldtype": "Link", 
-   "in_filter": 1, 
-   "label": "Customer", 
+   "fieldname": "per_gross_margin", 
+   "fieldtype": "Percent", 
+   "label": "Gross Margin %", 
    "no_copy": 0, 
-   "oldfieldname": "customer", 
-   "oldfieldtype": "Link", 
-   "options": "Customer", 
+   "oldfieldname": "per_gross_margin", 
+   "oldfieldtype": "Currency", 
+   "options": "", 
    "permlevel": 0, 
-   "print_hide": 1, 
+   "read_only": 1, 
    "reqd": 0, 
-   "search_index": 1
+   "search_index": 0
   }
  ], 
  "icon": "icon-puzzle-piece", 
  "idx": 1, 
  "max_attachments": 4, 
- "modified": "2015-04-13 07:13:06.962942", 
+ "modified": "2015-04-14 07:37:56.810833", 
  "modified_by": "Administrator", 
  "module": "Projects", 
  "name": "Project", 
diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py
index 0b45e4d..d2741e2 100644
--- a/erpnext/projects/doctype/project/project.py
+++ b/erpnext/projects/doctype/project/project.py
@@ -44,6 +44,8 @@
 
 	def sync_tasks(self):
 		"""sync tasks and remove table"""
+		if self.flags.dont_sync_tasks: return
+		
 		task_names = []
 		for t in self.tasks:
 			if t.task_id:
@@ -79,6 +81,22 @@
 				project=%s and status in ('Closed', 'Cancelled')""", self.name)[0][0]
 			frappe.db.set_value("Project", self.name, "percent_complete",
 			 	int(float(completed) / total * 100))
+				
+	def update_costing(self):
+		total_cost = frappe.db.sql("""select sum(total_costing_amount) as costing_amount,
+			sum(total_billing_amount) as billing_amount, sum(total_expense_claim) as expense_claim,
+			min(act_start_date) as start_date, max(act_end_date) as end_date, sum(actual_time) as time
+			from `tabTask` where project = %s""", self.name, as_dict=1)[0]
+			
+		self.total_costing_amount = total_cost.costing_amount
+		self.total_billing_amount = total_cost.billing_amount
+		self.total_expense_claim = total_cost.expense_claim
+		self.actual_start_date = total_cost.start_date
+		self.actual_end_date = total_cost.end_date
+		self.actual_time = total_cost.time
+		self.gross_margin = flt(total_cost.billing_amount) - flt(total_cost.costing_amount)
+		if self.total_billing_amount:
+			self.per_gross_margin = (self.gross_margin / flt(self.total_billing_amount)) *100
 
 @frappe.whitelist()
 def get_cost_center_name(project_name):
diff --git a/erpnext/projects/doctype/task/task.json b/erpnext/projects/doctype/task/task.json
index 6642100..fc604c2 100644
--- a/erpnext/projects/doctype/task/task.json
+++ b/erpnext/projects/doctype/task/task.json
@@ -18,24 +18,14 @@
    "reqd": 1
   }, 
   {
-   "fieldname": "exp_start_date", 
-   "fieldtype": "Date", 
-   "label": "Expected Start Date", 
-   "oldfieldname": "exp_start_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "reqd": 0
-  }, 
-  {
-   "fieldname": "exp_end_date", 
-   "fieldtype": "Date", 
-   "in_filter": 1, 
-   "label": "Expected End Date", 
-   "oldfieldname": "exp_end_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "reqd": 0, 
-   "search_index": 1
+   "fieldname": "project", 
+   "fieldtype": "Link", 
+   "in_list_view": 1, 
+   "label": "Project", 
+   "oldfieldname": "project", 
+   "oldfieldtype": "Link", 
+   "options": "Project", 
+   "permlevel": 0
   }, 
   {
    "fieldname": "column_break0", 
@@ -57,16 +47,6 @@
    "permlevel": 0
   }, 
   {
-   "fieldname": "project", 
-   "fieldtype": "Link", 
-   "in_list_view": 1, 
-   "label": "Project", 
-   "oldfieldname": "project", 
-   "oldfieldtype": "Link", 
-   "options": "Project", 
-   "permlevel": 0
-  }, 
-  {
    "fieldname": "priority", 
    "fieldtype": "Select", 
    "in_filter": 1, 
@@ -105,32 +85,44 @@
    "permlevel": 0
   }, 
   {
+   "fieldname": "exp_start_date", 
+   "fieldtype": "Date", 
+   "label": "Expected Start Date", 
+   "oldfieldname": "exp_start_date", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
+   "reqd": 0
+  }, 
+  {
    "default": "0", 
-   "description": "in Hours", 
+   "description": "", 
    "fieldname": "expected_time", 
    "fieldtype": "Float", 
-   "label": "Expected Time", 
+   "label": "Expected Time (in hours)", 
    "oldfieldname": "exp_total_hrs", 
    "oldfieldtype": "Data", 
    "permlevel": 0, 
    "reqd": 0
   }, 
   {
-   "fieldname": "column_break_12", 
+   "fieldname": "column_break_11", 
    "fieldtype": "Column Break", 
    "permlevel": 0, 
    "precision": ""
   }, 
   {
-   "fieldname": "allocated_budget", 
-   "fieldtype": "Currency", 
-   "label": "Allocated Budget", 
-   "oldfieldname": "allocated_budget", 
-   "oldfieldtype": "Currency", 
-   "options": "Company:company:default_currency", 
-   "permlevel": 0
+   "fieldname": "exp_end_date", 
+   "fieldtype": "Date", 
+   "in_filter": 1, 
+   "label": "Expected End Date", 
+   "oldfieldname": "exp_end_date", 
+   "oldfieldtype": "Date", 
+   "permlevel": 0, 
+   "reqd": 0, 
+   "search_index": 1
   }, 
   {
+   "description": "", 
    "fieldname": "actual", 
    "fieldtype": "Section Break", 
    "label": "", 
@@ -142,7 +134,7 @@
   {
    "fieldname": "act_start_date", 
    "fieldtype": "Date", 
-   "label": "Actual Start Date", 
+   "label": "Actual Start Date (via Time Logs)", 
    "oldfieldname": "act_start_date", 
    "oldfieldtype": "Date", 
    "permlevel": 0, 
@@ -150,10 +142,10 @@
   }, 
   {
    "default": "", 
-   "description": "in Hours", 
+   "description": "", 
    "fieldname": "actual_time", 
    "fieldtype": "Float", 
-   "label": "Actual Time", 
+   "label": "Actual Time (in hours)", 
    "options": "", 
    "permlevel": 0, 
    "precision": "", 
@@ -168,7 +160,7 @@
   {
    "fieldname": "act_end_date", 
    "fieldtype": "Date", 
-   "label": "Actual End Date", 
+   "label": "Actual End Date (via Time Logs)", 
    "oldfieldname": "act_end_date", 
    "oldfieldtype": "Date", 
    "permlevel": 0, 
@@ -183,7 +175,7 @@
   {
    "fieldname": "total_costing_amount", 
    "fieldtype": "Currency", 
-   "label": "Total Costing Amount", 
+   "label": "Total Costing Amount (via Time Logs)", 
    "oldfieldname": "actual_budget", 
    "oldfieldtype": "Currency", 
    "options": "Company:company:default_currency", 
@@ -193,7 +185,7 @@
   {
    "fieldname": "total_expense_claim", 
    "fieldtype": "Currency", 
-   "label": "Total Expense Claim", 
+   "label": "Total Expense Claim (via Expense Claim)", 
    "options": "Company:company:default_currency", 
    "permlevel": 0, 
    "precision": "", 
@@ -209,7 +201,7 @@
    "fieldname": "total_billing_amount", 
    "fieldtype": "Currency", 
    "hidden": 0, 
-   "label": "Total Billing Amount", 
+   "label": "Total Billing Amount (via Time Logs)", 
    "permlevel": 0, 
    "precision": "", 
    "read_only": 1
@@ -257,7 +249,7 @@
  "idx": 1, 
  "istable": 0, 
  "max_attachments": 5, 
- "modified": "2015-04-13 05:36:33.544083", 
+ "modified": "2015-04-14 07:56:24.481667", 
  "modified_by": "Administrator", 
  "module": "Projects", 
  "name": "Task", 
diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py
index 8c74edb..a03340f 100644
--- a/erpnext/projects/doctype/task/task.py
+++ b/erpnext/projects/doctype/task/task.py
@@ -64,18 +64,10 @@
 			
 	def update_project(self):
 		if self.project and frappe.db.exists("Project", self.project):
-			total_cost = frappe.db.sql("""select sum(total_costing_amount) as costing_amount,
-				sum(total_billing_amount) as billing_amount, sum(total_expense_claim) as expense_claim,
-				min(act_start_date) as start_date, max(act_end_date) as end_date, sum(actual_time) as time
-				from `tabTask` where project = %s""", self.project, as_dict=1)[0]
-			frappe.db.set_values("Project", self.project, {
-				"total_costing_amount": total_cost.costing_amount,
-				"total_billing_amount": total_cost.billing_amount,
-				"total_expense_claim": total_cost.expense_claim,
-				"actual_start_date": total_cost.start_date,
-				"actual_end_date": total_cost.end_date,
-				"actual_time": total_cost.time
-				})
+			project = frappe.get_doc("Project", self.project)
+			project.flags.dont_sync_tasks = True
+			project.update_costing()
+			project.save()
 
 @frappe.whitelist()
 def get_events(start, end, filters=None):
diff --git a/erpnext/projects/doctype/time_log/time_log.js b/erpnext/projects/doctype/time_log/time_log.js
index 5625ff3..2f960ab 100644
--- a/erpnext/projects/doctype/time_log/time_log.js
+++ b/erpnext/projects/doctype/time_log/time_log.js
@@ -4,7 +4,6 @@
 frappe.provide("erpnext.projects");
 
 frappe.ui.form.on("Time Log", "onload", function(frm) {
-	frm.set_query("task", erpnext.queries.task);
 	if (frm.doc.for_manufacturing) {
 		frappe.ui.form.trigger("Time Log", "production_order");
 	}
@@ -88,3 +87,11 @@
 		frm.doc("billing_amount", 0);
 	}
 });
+
+cur_frm.fields_dict['task'].get_query = function(doc) {
+	return {
+		filters:{
+			'project': doc.project
+		}
+	}	
+}
diff --git a/erpnext/projects/doctype/time_log/time_log.json b/erpnext/projects/doctype/time_log/time_log.json
index 09c4e87..e9e2077 100644
--- a/erpnext/projects/doctype/time_log/time_log.json
+++ b/erpnext/projects/doctype/time_log/time_log.json
@@ -232,10 +232,10 @@
   }, 
   {
    "default": "0", 
-   "description": "per hour", 
+   "description": "", 
    "fieldname": "costing_rate", 
    "fieldtype": "Currency", 
-   "label": "Costing Rate", 
+   "label": "Costing Rate (per hour)", 
    "permlevel": 0, 
    "precision": "", 
    "read_only": 1
@@ -257,10 +257,10 @@
   }, 
   {
    "default": "0", 
-   "description": "per hour", 
+   "description": "", 
    "fieldname": "billing_rate", 
    "fieldtype": "Currency", 
-   "label": "Billing Rate", 
+   "label": "Billing Rate (per hour)", 
    "permlevel": 0, 
    "precision": "", 
    "read_only": 1
@@ -322,15 +322,7 @@
  "icon": "icon-time", 
  "idx": 1, 
  "is_submittable": 1, 
-<<<<<<< HEAD
-<<<<<<< HEAD
- "modified": "2015-04-06 02:47:16.187046", 
-=======
- "modified": "2015-04-09 08:29:34.464429", 
->>>>>>> Fixes in time_log
-=======
- "modified": "2015-04-13 04:31:20.855439", 
->>>>>>> task and project- billing amount and actual amount added
+ "modified": "2015-04-14 09:07:28.468792", 
  "modified_by": "Administrator", 
  "module": "Projects", 
  "name": "Time Log",