testcase fixes #478
diff --git a/erpnext/selling/doctype/lead/lead.py b/erpnext/selling/doctype/lead/lead.py
index 2c16a1d..57e73d0 100644
--- a/erpnext/selling/doctype/lead/lead.py
+++ b/erpnext/selling/doctype/lead/lead.py
@@ -77,13 +77,13 @@
 	
 	def set_missing_values(source, target):
 		if source.company_name:
-			target[0].customer_type = "Company"
-			target[0].customer_name = source.company_name
+			target.customer_type = "Company"
+			target.customer_name = source.company_name
 		else:
-			target[0].customer_type = "Individual"
-			target[0].customer_name = source.lead_name
+			target.customer_type = "Individual"
+			target.customer_name = source.lead_name
 			
-		target[0].customer_group = frappe.db.get_default("customer_group")
+		target.customer_group = frappe.db.get_default("customer_group")
 			
 	doclist = get_mapped_doc("Lead", source_name, 
 		{"Lead": {
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index 45a9d0b..f5c2050 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -105,8 +105,8 @@
 	
 	def set_missing_values(source, target):
 		if customer:
-			target[0].customer = customer.name
-			target[0].customer_name = customer.customer_name
+			target.customer = customer.name
+			target.customer_name = customer.customer_name
 			
 		si = frappe.get_doc(target)
 		si.ignore_permissions = ignore_permissions
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index 756f540..2b3a5fa 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -29,84 +29,84 @@
 						so_items[d.sales_order_no][d.item_code] = flt(d.qty)
 					else:
 						so_items[d.sales_order_no][d.item_code] += flt(d.qty)
-		
+
 		for so_no in so_items.keys():
 			for item in so_items[so_no].keys():
-				already_indented = frappe.db.sql("""select sum(ifnull(qty, 0)) 
-					from `tabMaterial Request Item` 
-					where item_code = %s and sales_order_no = %s and 
+				already_indented = frappe.db.sql("""select sum(ifnull(qty, 0))
+					from `tabMaterial Request Item`
+					where item_code = %s and sales_order_no = %s and
 					docstatus = 1 and parent != %s""", (item, so_no, self.name))
 				already_indented = already_indented and flt(already_indented[0][0]) or 0
-				
-				actual_so_qty = frappe.db.sql("""select sum(ifnull(qty, 0)) from `tabSales Order Item` 
+
+				actual_so_qty = frappe.db.sql("""select sum(ifnull(qty, 0)) from `tabSales Order Item`
 					where parent = %s and item_code = %s and docstatus = 1""", (so_no, item))
 				actual_so_qty = actual_so_qty and flt(actual_so_qty[0][0]) or 0
-				
+
 				if actual_so_qty and (flt(so_items[so_no][item]) + already_indented > actual_so_qty):
 					frappe.throw("You can raise indent of maximum qty: %s for item: %s against sales order: %s\
 						\n Anyway, you can add more qty in new row for the same item."
 						% (actual_so_qty - already_indented, item, so_no))
-				
+
 	def validate_schedule_date(self):
 		for d in self.get('indent_details'):
 			if d.schedule_date < self.transaction_date:
 				frappe.throw(_("Expected Date cannot be before Material Request Date"))
-				
+
 	# Validate
 	# ---------------------
 	def validate(self):
 		super(MaterialRequest, self).validate()
-		
+
 		self.validate_schedule_date()
 		self.validate_uom_is_integer("uom", "qty")
-		
+
 		if not self.status:
 			self.status = "Draft"
 
 		from erpnext.utilities import validate_status
 		validate_status(self.status, ["Draft", "Submitted", "Stopped", "Cancelled"])
-		
+
 		self.validate_value("material_request_type", "in", ["Purchase", "Transfer"])
 
 		pc_obj = frappe.get_doc('Purchase Common')
 		pc_obj.validate_for_items(self)
-		
+
 		# self.validate_qty_against_so()
 		# NOTE: Since Item BOM and FG quantities are combined, using current data, it cannot be validated
 		# Though the creation of Material Request from a Production Plan can be rethought to fix this
-	
+
 	def update_bin(self, is_submit, is_stopped):
 		""" Update Quantity Requested for Purchase in Bin for Material Request of type 'Purchase'"""
-		
+
 		from erpnext.stock.utils import update_bin
 		for d in self.get('indent_details'):
 			if frappe.db.get_value("Item", d.item_code, "is_stock_item") == "Yes":
 				if not d.warehouse:
-					frappe.throw("Please Enter Warehouse for Item %s as it is stock item" 
+					frappe.throw("Please Enter Warehouse for Item %s as it is stock item"
 						% cstr(d.item_code))
-					
+
 				qty =flt(d.qty)
 				if is_stopped:
 					qty = (d.qty > d.ordered_qty) and flt(flt(d.qty) - flt(d.ordered_qty)) or 0
-			
+
 				args = {
 					"item_code": d.item_code,
 					"warehouse": d.warehouse,
 					"indented_qty": (is_submit and 1 or -1) * flt(qty),
 					"posting_date": self.transaction_date
 				}
-				update_bin(args)		
-		
+				update_bin(args)
+
 	def on_submit(self):
 		frappe.db.set(self, 'status', 'Submitted')
 		self.update_bin(is_submit = 1, is_stopped = 0)
-	
+
 	def check_modified_date(self):
-		mod_db = frappe.db.sql("""select modified from `tabMaterial Request` where name = %s""", 
+		mod_db = frappe.db.sql("""select modified from `tabMaterial Request` where name = %s""",
 			self.name)
 		date_diff = frappe.db.sql("""select TIMEDIFF('%s', '%s')"""
 			% (mod_db[0][0], cstr(self.modified)))
-		
+
 		if date_diff and date_diff[0][0]:
 			frappe.throw(cstr(self.doctype) + " => " + cstr(self.name) + " has been modified. Please Refresh.")
 
@@ -115,93 +115,93 @@
 		# Step 1:=> Update Bin
 		self.update_bin(is_submit = (status == 'Submitted') and 1 or 0, is_stopped = 1)
 
-		# Step 2:=> Set status 
+		# Step 2:=> Set status
 		frappe.db.set(self, 'status', cstr(status))
-		
+
 		# Step 3:=> Acknowledge User
 		msgprint(self.doctype + ": " + self.name + " has been %s." % ((status == 'Submitted') and 'Unstopped' or cstr(status)))
- 
+
 
 	def on_cancel(self):
 		# Step 1:=> Get Purchase Common Obj
 		pc_obj = frappe.get_doc('Purchase Common')
-		
+
 		# Step 2:=> Check for stopped status
 		pc_obj.check_for_stopped_status(self.doctype, self.name)
-		
+
 		# Step 3:=> Check if Purchase Order has been submitted against current Material Request
 		pc_obj.check_docstatus(check = 'Next', doctype = 'Purchase Order', docname = self.name, detail_doctype = 'Purchase Order Item')
 		# Step 4:=> Update Bin
 		self.update_bin(is_submit = 0, is_stopped = (cstr(self.status) == 'Stopped') and 1 or 0)
-		
+
 		# Step 5:=> Set Status
 		frappe.db.set(self,'status','Cancelled')
-		
+
 	def update_completed_qty(self, mr_items=None):
 		if self.material_request_type != "Transfer":
 			return
-			
+
 		item_doclist = self.get("indent_details")
-		
+
 		if not mr_items:
 			mr_items = [d.name for d in item_doclist]
-		
+
 		per_ordered = 0.0
 		for d in item_doclist:
 			if d.name in mr_items:
-				d.ordered_qty =  flt(frappe.db.sql("""select sum(transfer_qty) 
-					from `tabStock Entry Detail` where material_request = %s 
-					and material_request_item = %s and docstatus = 1""", 
+				d.ordered_qty =  flt(frappe.db.sql("""select sum(transfer_qty)
+					from `tabStock Entry Detail` where material_request = %s
+					and material_request_item = %s and docstatus = 1""",
 					(self.name, d.name))[0][0])
 				frappe.db.set_value(d.doctype, d.name, "ordered_qty", d.ordered_qty)
-				
+
 			# note: if qty is 0, its row is still counted in len(item_doclist)
 			# hence adding 1 to per_ordered
 			if (d.ordered_qty > d.qty) or not d.qty:
 				per_ordered += 1.0
 			elif d.qty > 0:
 				per_ordered += flt(d.ordered_qty / flt(d.qty))
-		
+
 		self.per_ordered = flt((per_ordered / flt(len(item_doclist))) * 100.0, 2)
 		frappe.db.set_value(self.doctype, self.name, "per_ordered", self.per_ordered)
-		
+
 def update_completed_qty(doc, method):
 	if doc.doctype == "Stock Entry":
 		material_request_map = {}
-		
+
 		for d in doc.get("mtn_details"):
 			if d.material_request:
 				material_request_map.setdefault(d.material_request, []).append(d.material_request_item)
-			
+
 		for mr_name, mr_items in material_request_map.items():
 			mr_obj = frappe.get_doc("Material Request", mr_name)
 			mr_doctype = frappe.get_meta("Material Request")
-			
+
 			if mr_obj.status in ["Stopped", "Cancelled"]:
-				frappe.throw(_("Material Request") + ": %s, " % mr_obj.name 
+				frappe.throw(_("Material Request") + ": %s, " % mr_obj.name
 					+ _(mr_doctype.get_label("status")) + " = %s. " % _(mr_obj.status)
 					+ _("Cannot continue."), exc=frappe.InvalidStatusError)
-				
+
 			_update_requested_qty(doc, mr_obj, mr_items)
-			
+
 			# update ordered percentage and qty
 			mr_obj.update_completed_qty(mr_items)
-			
+
 def _update_requested_qty(doc, mr_obj, mr_items):
 	"""update requested qty (before ordered_qty is updated)"""
 	from erpnext.stock.utils import update_bin
 	for mr_item_name in mr_items:
 		mr_item = mr_obj.get("indent_details", {"name": mr_item_name})
-		se_detail = doc.get("mtn_details", {"material_request": mr_obj.name, 
+		se_detail = doc.get("mtn_details", {"material_request": mr_obj.name,
 			"material_request_item": mr_item_name})
-	
+
 		if mr_item and se_detail:
 			mr_item = mr_item[0]
 			se_detail = se_detail[0]
 			mr_item.ordered_qty = flt(mr_item.ordered_qty)
 			mr_item.qty = flt(mr_item.qty)
 			se_detail.transfer_qty = flt(se_detail.transfer_qty)
-	
+
 			if se_detail.docstatus == 2 and mr_item.ordered_qty > mr_item.qty \
 					and se_detail.transfer_qty == mr_item.ordered_qty:
 				add_indented_qty = mr_item.qty
@@ -210,7 +210,7 @@
 				add_indented_qty = mr_item.qty - mr_item.ordered_qty
 			else:
 				add_indented_qty = se_detail.transfer_qty
-	
+
 			update_bin({
 				"item_code": se_detail.item_code,
 				"warehouse": se_detail.t_warehouse,
@@ -221,7 +221,7 @@
 def set_missing_values(source, target_doc):
 	po = frappe.get_doc(target_doc)
 	po.run_method("set_missing_values")
-	
+
 def update_item(obj, target, source_parent):
 	target.conversion_factor = 1
 	target.qty = flt(obj.qty) - flt(obj.ordered_qty)
@@ -232,18 +232,18 @@
 
 	doclist = get_mapped_doc("Material Request", source_name, 	{
 		"Material Request": {
-			"doctype": "Purchase Order", 
+			"doctype": "Purchase Order",
 			"validation": {
 				"docstatus": ["=", 1],
 				"material_request_type": ["=", "Purchase"]
 			}
-		}, 
+		},
 		"Material Request Item": {
-			"doctype": "Purchase Order Item", 
+			"doctype": "Purchase Order Item",
 			"field_map": [
-				["name", "prevdoc_detail_docname"], 
-				["parent", "prevdoc_docname"], 
-				["parenttype", "prevdoc_doctype"], 
+				["name", "prevdoc_detail_docname"],
+				["parent", "prevdoc_docname"],
+				["parenttype", "prevdoc_doctype"],
 				["uom", "stock_uom"],
 				["uom", "uom"]
 			],
@@ -252,7 +252,7 @@
 	}, target_doc, set_missing_values)
 
 	return doclist.as_dict()
-	
+
 @frappe.whitelist()
 def make_purchase_order_based_on_supplier(source_name, target_doc=None):
 	from frappe.model.mapper import get_mapped_doc
@@ -261,44 +261,44 @@
 			import json
 			target_doc = frappe.get_doc(json.loads(target_doc))
 		target_doc = target_doc.get({"parentfield": ["!=", "po_details"]})
-		
+
 	material_requests, supplier_items = get_material_requests_based_on_supplier(source_name)
-	
+
 	def postprocess(source, target_doc):
 		target_doc[0].supplier = source_name
 		set_missing_values(source, target_doc)
-		
+
 		po_items = target_doc.get({"parentfield": "po_details"})
 		target_doc = target_doc.get({"parentfield": ["!=", "po_details"]}) + \
-			[d for d in po_items 
+			[d for d in po_items
 				if d.get("item_code") in supplier_items and d.get("qty") > 0]
-		
+
 		return target_doc
-		
+
 	for mr in material_requests:
 		target_doc = get_mapped_doc("Material Request", mr, 	{
 			"Material Request": {
-				"doctype": "Purchase Order", 
-			}, 
+				"doctype": "Purchase Order",
+			},
 			"Material Request Item": {
-				"doctype": "Purchase Order Item", 
+				"doctype": "Purchase Order Item",
 				"field_map": [
-					["name", "prevdoc_detail_docname"], 
-					["parent", "prevdoc_docname"], 
-					["parenttype", "prevdoc_doctype"], 
+					["name", "prevdoc_detail_docname"],
+					["parent", "prevdoc_docname"],
+					["parenttype", "prevdoc_doctype"],
 					["uom", "stock_uom"],
 					["uom", "uom"]
 				],
 				"postprocess": update_item
 			}
 		}, target_doc, postprocess)
-	
+
 	return target_doc.as_dict()
-	
+
 def get_material_requests_based_on_supplier(supplier):
-	supplier_items = [d[0] for d in frappe.db.get_values("Item", 
+	supplier_items = [d[0] for d in frappe.db.get_values("Item",
 		{"default_supplier": supplier})]
-	material_requests = frappe.db.sql_list("""select distinct mr.name 
+	material_requests = frappe.db.sql_list("""select distinct mr.name
 		from `tabMaterial Request` mr, `tabMaterial Request Item` mr_item
 		where mr.name = mr_item.parent
 		and mr_item.item_code in (%s)
@@ -308,59 +308,59 @@
 		and mr.status != 'Stopped'""" % ', '.join(['%s']*len(supplier_items)),
 		tuple(supplier_items))
 	return material_requests, supplier_items
-	
+
 @frappe.whitelist()
 def make_supplier_quotation(source_name, target_doc=None):
 	from frappe.model.mapper import get_mapped_doc
 
 	doclist = get_mapped_doc("Material Request", source_name, {
 		"Material Request": {
-			"doctype": "Supplier Quotation", 
+			"doctype": "Supplier Quotation",
 			"validation": {
 				"docstatus": ["=", 1],
 				"material_request_type": ["=", "Purchase"]
 			}
-		}, 
+		},
 		"Material Request Item": {
-			"doctype": "Supplier Quotation Item", 
+			"doctype": "Supplier Quotation Item",
 			"field_map": {
-				"name": "prevdoc_detail_docname", 
-				"parent": "prevdoc_docname", 
+				"name": "prevdoc_detail_docname",
+				"parent": "prevdoc_docname",
 				"parenttype": "prevdoc_doctype"
 			}
 		}
 	}, target_doc, set_missing_values)
 
 	return doclist.as_dict()
-	
+
 @frappe.whitelist()
 def make_stock_entry(source_name, target_doc=None):
 	from frappe.model.mapper import get_mapped_doc
-	
+
 	def update_item(obj, target, source_parent):
 		target.conversion_factor = 1
 		target.qty = flt(obj.qty) - flt(obj.ordered_qty)
 		target.transfer_qty = flt(obj.qty) - flt(obj.ordered_qty)
-	
+
 	def set_missing_values(source, target):
-		target[0].purpose = "Material Transfer"
+		target.purpose = "Material Transfer"
 		se = frappe.get_doc(target)
 		se.run_method("get_stock_and_rate")
 
 	doclist = get_mapped_doc("Material Request", source_name, {
 		"Material Request": {
-			"doctype": "Stock Entry", 
+			"doctype": "Stock Entry",
 			"validation": {
 				"docstatus": ["=", 1],
 				"material_request_type": ["=", "Transfer"]
 			}
-		}, 
+		},
 		"Material Request Item": {
-			"doctype": "Stock Entry Detail", 
+			"doctype": "Stock Entry Detail",
 			"field_map": {
-				"name": "material_request_item", 
-				"parent": "material_request", 
-				"uom": "stock_uom", 
+				"name": "material_request_item",
+				"parent": "material_request",
+				"uom": "stock_uom",
 				"warehouse": "t_warehouse"
 			},
 			"postprocess": update_item
diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py
index 6d10d40..f27fadb 100644
--- a/erpnext/stock/doctype/material_request/test_material_request.py
+++ b/erpnext/stock/doctype/material_request/test_material_request.py
@@ -17,89 +17,89 @@
 
 		mr = frappe.copy_doc(test_records[0]).insert()
 
-		self.assertRaises(frappe.ValidationError, make_purchase_order, 
+		self.assertRaises(frappe.ValidationError, make_purchase_order,
 			mr.name)
 
 		mr = frappe.get_doc("Material Request", mr.name)
 		mr.submit()
 		po = make_purchase_order(mr.name)
-		
+
 		self.assertEquals(po[0]["doctype"], "Purchase Order")
 		self.assertEquals(len(po), len(mr))
-		
+
 	def test_make_supplier_quotation(self):
 		from erpnext.stock.doctype.material_request.material_request import make_supplier_quotation
 
 		mr = frappe.copy_doc(test_records[0]).insert()
 
-		self.assertRaises(frappe.ValidationError, make_supplier_quotation, 
+		self.assertRaises(frappe.ValidationError, make_supplier_quotation,
 			mr.name)
 
 		mr = frappe.get_doc("Material Request", mr.name)
 		mr.submit()
 		sq = make_supplier_quotation(mr.name)
-		
+
 		self.assertEquals(sq[0]["doctype"], "Supplier Quotation")
 		self.assertEquals(len(sq), len(mr))
-		
-			
+
+
 	def test_make_stock_entry(self):
 		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
 
 		mr = frappe.copy_doc(test_records[0]).insert()
 
-		self.assertRaises(frappe.ValidationError, make_stock_entry, 
+		self.assertRaises(frappe.ValidationError, make_stock_entry,
 			mr.name)
 
 		mr = frappe.get_doc("Material Request", mr.name)
 		mr.material_request_type = "Transfer"
 		mr.submit()
 		se = make_stock_entry(mr.name)
-		
+
 		self.assertEquals(se[0]["doctype"], "Stock Entry")
 		self.assertEquals(len(se), len(mr))
-	
+
 	def _test_expected(self, doc, expected_values):
 		for i, expected in enumerate(expected_values):
 			for fieldname, val in expected.items():
-				self.assertEquals(val, doc[i].get(fieldname))
-				
+				self.assertEquals(val, doc.get(fieldname))
+
 	def _test_requested_qty(self, qty1, qty2):
 		self.assertEqual(flt(frappe.db.get_value("Bin", {"item_code": "_Test Item Home Desktop 100",
 			"warehouse": "_Test Warehouse - _TC"}, "indented_qty")), qty1)
 		self.assertEqual(flt(frappe.db.get_value("Bin", {"item_code": "_Test Item Home Desktop 200",
 			"warehouse": "_Test Warehouse - _TC"}, "indented_qty")), qty2)
-			
+
 	def _insert_stock_entry(self, qty1, qty2):
 		se = frappe.get_doc({
-				"company": "_Test Company", 
-				"doctype": "Stock Entry", 
-				"posting_date": "2013-03-01", 
-				"posting_time": "00:00:00", 
+				"company": "_Test Company",
+				"doctype": "Stock Entry",
+				"posting_date": "2013-03-01",
+				"posting_time": "00:00:00",
 				"purpose": "Material Receipt",
 				"fiscal_year": "_Test Fiscal Year 2013",
 				"mtn_details": [
 					{
-						"conversion_factor": 1.0, 
-						"doctype": "Stock Entry Detail", 
+						"conversion_factor": 1.0,
+						"doctype": "Stock Entry Detail",
 						"item_code": "_Test Item Home Desktop 100",
-						"parentfield": "mtn_details", 
+						"parentfield": "mtn_details",
 						"incoming_rate": 100,
-						"qty": qty1, 
-						"stock_uom": "_Test UOM 1", 
-						"transfer_qty": qty1, 
+						"qty": qty1,
+						"stock_uom": "_Test UOM 1",
+						"transfer_qty": qty1,
 						"uom": "_Test UOM 1",
 						"t_warehouse": "_Test Warehouse 1 - _TC",
 					},
 					{
-						"conversion_factor": 1.0, 
-						"doctype": "Stock Entry Detail", 
+						"conversion_factor": 1.0,
+						"doctype": "Stock Entry Detail",
 						"item_code": "_Test Item Home Desktop 200",
-						"parentfield": "mtn_details", 
+						"parentfield": "mtn_details",
 						"incoming_rate": 100,
-						"qty": qty2, 
-						"stock_uom": "_Test UOM 1", 
-						"transfer_qty": qty2, 
+						"qty": qty2,
+						"stock_uom": "_Test UOM 1",
+						"transfer_qty": qty2,
 						"uom": "_Test UOM 1",
 						"t_warehouse": "_Test Warehouse 1 - _TC",
 					}
@@ -107,20 +107,20 @@
 			})
 		se.insert()
 		se.submit()
-				
+
 	def test_completed_qty_for_purchase(self):
 		frappe.db.sql("""delete from `tabBin`""")
-		
+
 		# submit material request of type Purchase
 		mr = frappe.copy_doc(test_records[0])
 		mr.insert()
 		mr.submit()
-		
+
 		# check if per complete is None
 		self._test_expected(mr, [{"per_ordered": None}, {"ordered_qty": None}, {"ordered_qty": None}])
-		
+
 		self._test_requested_qty(54.0, 3.0)
-		
+
 		# map a purchase order
 		from erpnext.stock.doctype.material_request.material_request import make_purchase_order
 		po_doc = make_purchase_order(mr.name)
@@ -131,34 +131,34 @@
 		po_doc.get("po_details")[0]["schedule_date"] = "2013-07-09"
 		po_doc.get("po_details")[1]["schedule_date"] = "2013-07-09"
 
-		
+
 		# check for stopped status of Material Request
 		po = frappe.copy_doc(po_doc)
 		po.insert()
-		mr.obj.update_status('Stopped')
+		mr.update_status('Stopped')
 		self.assertRaises(frappe.ValidationError, po.submit)
 		self.assertRaises(frappe.ValidationError, po.cancel)
 
-		mr.obj.update_status('Submitted')
+		mr.update_status('Submitted')
 		po = frappe.copy_doc(po_doc)
 		po.insert()
 		po.submit()
-		
+
 		# check if per complete is as expected
 		mr.load_from_db()
 		self._test_expected(mr, [{"per_ordered": 50}, {"ordered_qty": 27.0}, {"ordered_qty": 1.5}])
 		self._test_requested_qty(27.0, 1.5)
-		
+
 		po.cancel()
 		# check if per complete is as expected
 		mr.load_from_db()
 		self._test_expected(mr, [{"per_ordered": None}, {"ordered_qty": None}, {"ordered_qty": None}])
 		self._test_requested_qty(54.0, 3.0)
-		
+
 	def test_completed_qty_for_transfer(self):
 		frappe.db.sql("""delete from `tabBin`""")
 		frappe.db.sql("""delete from `tabStock Ledger Entry`""")
-		
+
 		# submit material request of type Purchase
 		mr = frappe.copy_doc(test_records[0])
 		mr.material_request_type = "Transfer"
@@ -167,11 +167,11 @@
 
 		# check if per complete is None
 		self._test_expected(mr, [{"per_ordered": None}, {"ordered_qty": None}, {"ordered_qty": None}])
-		
+
 		self._test_requested_qty(54.0, 3.0)
 
 		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
-				
+
 		# map a stock entry
 		se_doc = make_stock_entry(mr.name)
 		se_doc.update({
@@ -191,37 +191,37 @@
 			"s_warehouse": "_Test Warehouse 1 - _TC",
 			"incoming_rate": 1.0
 		})
-		
+
 		# make available the qty in _Test Warehouse 1 before transfer
 		self._insert_stock_entry(27.0, 1.5)
-		
+
 		# check for stopped status of Material Request
 		se = frappe.copy_doc(se_doc)
 		se.insert()
-		mr.obj.update_status('Stopped')
+		mr.update_status('Stopped')
 		self.assertRaises(frappe.ValidationError, se.submit)
 		self.assertRaises(frappe.ValidationError, se.cancel)
-		
-		mr.obj.update_status('Submitted')
+
+		mr.update_status('Submitted')
 		se = frappe.copy_doc(se_doc)
 		se.insert()
 		se.submit()
-		
+
 		# check if per complete is as expected
 		mr.load_from_db()
 		self._test_expected(mr, [{"per_ordered": 50}, {"ordered_qty": 27.0}, {"ordered_qty": 1.5}])
 		self._test_requested_qty(27.0, 1.5)
-		
+
 		# check if per complete is as expected for Stock Entry cancelled
 		se.cancel()
 		mr.load_from_db()
 		self._test_expected(mr, [{"per_ordered": 0}, {"ordered_qty": 0}, {"ordered_qty": 0}])
 		self._test_requested_qty(54.0, 3.0)
-		
+
 	def test_completed_qty_for_over_transfer(self):
 		frappe.db.sql("""delete from `tabBin`""")
 		frappe.db.sql("""delete from `tabStock Ledger Entry`""")
-		
+
 		# submit material request of type Purchase
 		mr = frappe.copy_doc(test_records[0])
 		mr.material_request_type = "Transfer"
@@ -230,9 +230,9 @@
 
 		# check if per complete is None
 		self._test_expected(mr, [{"per_ordered": None}, {"ordered_qty": None}, {"ordered_qty": None}])
-		
+
 		self._test_requested_qty(54.0, 3.0)
-		
+
 		# map a stock entry
 		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
 
@@ -257,30 +257,30 @@
 
 		# make available the qty in _Test Warehouse 1 before transfer
 		self._insert_stock_entry(60.0, 3.0)
-		
+
 		# check for stopped status of Material Request
 		se = frappe.copy_doc(se_doc)
 		se.insert()
-		mr.obj.update_status('Stopped')
+		mr.update_status('Stopped')
 		self.assertRaises(frappe.ValidationError, se.submit)
 		self.assertRaises(frappe.ValidationError, se.cancel)
-		
-		mr.obj.update_status('Submitted')
+
+		mr.update_status('Submitted')
 		se = frappe.copy_doc(se_doc)
 		se.insert()
 		se.submit()
-		
+
 		# check if per complete is as expected
 		mr.load_from_db()
 		self._test_expected(mr, [{"per_ordered": 100}, {"ordered_qty": 60.0}, {"ordered_qty": 3.0}])
 		self._test_requested_qty(0.0, 0.0)
-		
+
 		# check if per complete is as expected for Stock Entry cancelled
 		se.cancel()
 		mr.load_from_db()
 		self._test_expected(mr, [{"per_ordered": 0}, {"ordered_qty": 0}, {"ordered_qty": 0}])
 		self._test_requested_qty(54.0, 3.0)
-		
+
 	def test_incorrect_mapping_of_stock_entry(self):
 		# submit material request of type Purchase
 		mr = frappe.copy_doc(test_records[0])
@@ -290,7 +290,7 @@
 
 		# map a stock entry
 		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
-		
+
 		se_doc = make_stock_entry(mr.name)
 		se_doc.update({
 			"posting_date": "2013-03-01",
@@ -310,11 +310,11 @@
 			"s_warehouse": "_Test Warehouse 1 - _TC",
 			"incoming_rate": 1.0
 		})
-		
+
 		# check for stopped status of Material Request
 		se = frappe.copy_doc(se_doc)
 		self.assertRaises(frappe.MappingMismatchError, se.insert)
-		
+
 	def test_warehouse_company_validation(self):
 		from erpnext.stock.utils import InvalidWarehouseCompany
 		mr = frappe.copy_doc(test_records[0])
@@ -322,4 +322,4 @@
 		self.assertRaises(InvalidWarehouseCompany, mr.insert)
 
 test_dependencies = ["Currency Exchange"]
-test_records = frappe.get_test_records('Material Request')
\ No newline at end of file
+test_records = frappe.get_test_records('Material Request')