Merge branch 'master' of github.com:webnotes/erpnext into unicode

Conflicts:
	erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
index 41a60d7..b128094 100644
--- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
+++ b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
@@ -8,11 +8,11 @@
 # 
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
 # GNU General Public License for more details.
 # 
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# along with this program.	If not, see <http://www.gnu.org/licenses/>.
 
 # Please edit this list and import only required elements
 from __future__ import unicode_literals
@@ -35,86 +35,86 @@
 
 
 class DocType:
-  def __init__(self, d, dl=[]):
-    self.doc, self.doclist = d,dl
+	def __init__(self, d, dl=[]):
+		self.doc, self.doclist = d,dl
 
-  def get_stock_uom(self, item_code):
-    return {'current_stock_uom': cstr(get_value('Item', item_code, 'stock_uom'))}
-  
-  def validate_mandatory(self):
-    if not cstr(self.doc.item_code):
-      msgprint("Please Enter an Item.")
-      raise Exception
-    
-    if not cstr(self.doc.new_stock_uom):
-      msgprint("Please Enter New Stock UOM.")
-      raise Exception
+	def get_stock_uom(self, item_code):
+		return {'current_stock_uom': cstr(get_value('Item', item_code, 'stock_uom'))}
+	
+	def validate_mandatory(self):
+		if not cstr(self.doc.item_code):
+			msgprint("Please Enter an Item.")
+			raise Exception
+		
+		if not cstr(self.doc.new_stock_uom):
+			msgprint("Please Enter New Stock UOM.")
+			raise Exception
 
-    if cstr(self.doc.current_stock_uom) == cstr(self.doc.new_stock_uom):
-      msgprint("Current Stock UOM and Stock UOM are same.")
-      raise Exception 
-  
-    # check conversion factor
-    if not flt(self.doc.conversion_factor):
-      msgprint("Please Enter Conversion Factor.")
-      raise Exception
-    
-    stock_uom = sql("select stock_uom from `tabItem` where name = '%s'" % self.doc.item_code)
-    stock_uom = stock_uom and stock_uom[0][0]
-    if cstr(self.doc.new_stock_uom) == cstr(stock_uom):
-      msgprint("Item Master is already updated with New Stock UOM " + cstr(self.doc.new_stock_uom))
-      raise Exception
-      
-  def update_item_master(self):
-    # update stock uom in item master
-    sql("update `tabItem` set stock_uom = '%s' where name = '%s' " % (self.doc.new_stock_uom, self.doc.item_code))
-    
-    # acknowledge user
-    msgprint("New Stock UOM : " + cstr(self.doc.new_stock_uom) + " updated in Item : " + cstr(self.doc.item_code))
-    
-  def update_bin(self):
-    # update bin
-    if flt(self.doc.conversion_factor) != flt(1):
-      sql("update `tabBin` set stock_uom = '%s' , indented_qty = ifnull(indented_qty,0) * %s, ordered_qty = ifnull(ordered_qty,0) * %s, reserved_qty = ifnull(reserved_qty,0) * %s, planned_qty = ifnull(planned_qty,0) * %s, projected_qty = actual_qty + ordered_qty + indented_qty + planned_qty - reserved_qty  where item_code = '%s'" % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.item_code) )
-    else:
-      sql("update `tabBin` set stock_uom = '%s' where item_code = '%s'" % (self.doc.new_stock_uom, self.doc.item_code) )
+		if cstr(self.doc.current_stock_uom) == cstr(self.doc.new_stock_uom):
+			msgprint("Current Stock UOM and Stock UOM are same.")
+			raise Exception 
+	
+		# check conversion factor
+		if not flt(self.doc.conversion_factor):
+			msgprint("Please Enter Conversion Factor.")
+			raise Exception
+		
+		stock_uom = sql("select stock_uom from `tabItem` where name = '%s'" % self.doc.item_code)
+		stock_uom = stock_uom and stock_uom[0][0]
+		if cstr(self.doc.new_stock_uom) == cstr(stock_uom):
+			msgprint("Item Master is already updated with New Stock UOM " + cstr(self.doc.new_stock_uom))
+			raise Exception
+			
+	def update_item_master(self):
+		# update stock uom in item master
+		sql("update `tabItem` set stock_uom = '%s' where name = '%s' " % (self.doc.new_stock_uom, self.doc.item_code))
+		
+		# acknowledge user
+		msgprint("New Stock UOM : " + cstr(self.doc.new_stock_uom) + " updated in Item : " + cstr(self.doc.item_code))
+		
+	def update_bin(self):
+		# update bin
+		if flt(self.doc.conversion_factor) != flt(1):
+			sql("update `tabBin` set stock_uom = '%s' , indented_qty = ifnull(indented_qty,0) * %s, ordered_qty = ifnull(ordered_qty,0) * %s, reserved_qty = ifnull(reserved_qty,0) * %s, planned_qty = ifnull(planned_qty,0) * %s, projected_qty = actual_qty + ordered_qty + indented_qty + planned_qty - reserved_qty	where item_code = '%s'" % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.conversion_factor, self.doc.item_code) )
+		else:
+			sql("update `tabBin` set stock_uom = '%s' where item_code = '%s'" % (self.doc.new_stock_uom, self.doc.item_code) )
 
-    # acknowledge user
-    msgprint(" All Bin's Updated Successfully.")
-      
-  def update_stock_ledger_entry(self):
-    # update stock ledger entry
-    if flt(self.doc.conversion_factor) != flt(1):
-      sql("update `tabStock Ledger Entry` set stock_uom = '%s', actual_qty = ifnull(actual_qty,0) * '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.item_code))
-    else:
-      sql("update `tabStock Ledger Entry` set stock_uom = '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.item_code))
-    
-    # acknowledge user
-    msgprint("Stock Ledger Entries Updated Successfully.")
-    
-    # update item valuation
-    if flt(self.doc.conversion_factor) != flt(1):
-      wh = sql("select name from `tabWarehouse`")
-      for w in wh:
-        bin = sql("select name from `tabBin` where item_code = '%s' and warehouse = '%s'" % (self.doc.item_code, w[0])) 
-        if bin and bin[0][0]:
-          get_obj("Bin", bin[0][0]).update_entries_after(posting_date = '', posting_time = '')
+		# acknowledge user
+		msgprint(" All Bin's Updated Successfully.")
+			
+	def update_stock_ledger_entry(self):
+		# update stock ledger entry
+		if flt(self.doc.conversion_factor) != flt(1):
+			sql("update `tabStock Ledger Entry` set stock_uom = '%s', actual_qty = ifnull(actual_qty,0) * '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.conversion_factor, self.doc.item_code))
+		else:
+			sql("update `tabStock Ledger Entry` set stock_uom = '%s' where item_code = '%s' " % (self.doc.new_stock_uom, self.doc.item_code))
+		
+		# acknowledge user
+		msgprint("Stock Ledger Entries Updated Successfully.")
+		
+		# update item valuation
+		if flt(self.doc.conversion_factor) != flt(1):
+			wh = sql("select name from `tabWarehouse`")
+			for w in wh:
+				bin = sql("select name from `tabBin` where item_code = '%s' and warehouse = '%s'" % (self.doc.item_code, w[0])) 
+				if bin and bin[0][0]:
+					get_obj("Bin", bin[0][0]).update_entries_after(posting_date = '', posting_time = '')
 
-    # acknowledge user
-    msgprint("Item Valuation Updated Successfully.")
+		# acknowledge user
+		msgprint("Item Valuation Updated Successfully.")
 
-  # Update Stock UOM              
-  def update_stock_uom(self):
-    # validate mandatory
-    self.validate_mandatory()
-    
-    # update item master
-    self.update_item_master()
-    
-    # update stock ledger entry
-    self.update_stock_ledger_entry()
-    
-    # update bin
-    self.update_bin()
+	# Update Stock UOM							
+	def update_stock_uom(self):
+		# validate mandatory
+		self.validate_mandatory()
+		
+		# update item master
+		self.update_item_master()
+		
+		# update stock ledger entry
+		self.update_stock_ledger_entry()
+		
+		# update bin
+		self.update_bin()
 
-	get_obj("Item", self.doc.item_code).on_update()
+		get_obj("Item", self.doc.item_code).on_update()