diff --git a/hr/doctype/appraisal/appraisal.py b/hr/doctype/appraisal/appraisal.py
index 82fb77b..849e48a 100644
--- a/hr/doctype/appraisal/appraisal.py
+++ b/hr/doctype/appraisal/appraisal.py
@@ -29,7 +29,15 @@
 	def __init__(self, doc, doclist=[]):
 		self.doc = doc
 		self.doclist = doclist
-	
+
+	def validate(self):
+		if not self.doc.status:
+			self.doc.status = "Draft"
+
+		self.validate_dates()
+		self.validate_existing_appraisal()
+		self.calculate_total()
+
 	def get_employee_name(self):
 		emp_nm = sql("select employee_name from `tabEmployee` where name=%s", self.doc.employee)
 		emp_nm= emp_nm and emp_nm[0][0] or ''
@@ -47,25 +55,19 @@
 			raise Exception
 	
 	def validate_existing_appraisal(self):
-		chk = sql("select name from `tabAppraisal` where employee=%s and (status='Submitted' or status='Completed') and ((start_date>=%s and start_date<=%s) or (end_date>=%s and end_date<=%s))",(self.doc.employee,self.doc.start_date,self.doc.end_date,self.doc.start_date,self.doc.end_date))
+		chk = sql("""select name from `tabAppraisal` where employee=%s 
+			and (status='Submitted' or status='Completed') 
+			and ((start_date>=%s and start_date<=%s) 
+			or (end_date>=%s and end_date<=%s))""",(self.doc.employee,self.doc.start_date,self.doc.end_date,self.doc.start_date,self.doc.end_date))
 		if chk:
 			msgprint("You have already created Appraisal "\
 				+cstr(chk[0][0])+" in the current date range for employee "\
 				+cstr(self.doc.employee_name))
 			raise Exception
-		
-	def validate(self):
-		if not self.doc.status:
-			self.doc.status = "Draft"
-
-		self.validate_dates()
-		self.validate_existing_appraisal()
-		self.calculate_total()
 	
 	def calculate_total(self):
 		total, total_w  = 0, 0
 		for d in getlist(self.doclist, 'appraisal_details'):
-			
 			if d.score:
 				d.score_earned = flt(d.score) * flt(d.per_weightage) / 100
 				total = total + d.score_earned
@@ -74,9 +76,12 @@
 		if int(total_w) != 100:
 			msgprint("Total weightage assigned should be 100%. It is :" + str(total_w) + "%", 
 				raise_exception=1)
+
+		if webnotes.conn.get_default("employee", webnotes.session.user) != self.doc.employee:
 		
-		if total==0:
-			msgprint("Total can't be zero. You must atleast give some points!", raise_exception=1)
+			if total==0:
+				msgprint("Total can't be zero. You must atleast give some points!", raise_exception=1)
+
 		self.doc.total_score = total
 			
 	def on_submit(self):
diff --git a/manufacturing/doctype/production_planning_tool/production_planning_tool.txt b/manufacturing/doctype/production_planning_tool/production_planning_tool.txt
index d4a0d94..5eeb82d 100644
--- a/manufacturing/doctype/production_planning_tool/production_planning_tool.txt
+++ b/manufacturing/doctype/production_planning_tool/production_planning_tool.txt
@@ -2,9 +2,9 @@
  {
   "owner": "jai@webnotestech.com", 
   "docstatus": 0, 
-  "creation": "2013-01-16 14:48:56", 
+  "creation": "2013-01-19 10:23:35", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-17 11:39:55"
+  "modified": "2013-01-19 10:31:03"
  }, 
  {
   "read_only": 1, 
@@ -31,8 +31,8 @@
   "submit": 0, 
   "doctype": "DocPerm", 
   "write": 1, 
-  "report": 0, 
   "parenttype": "DocType", 
+  "report": 1, 
   "permlevel": 0, 
   "parentfield": "permissions"
  }, 
@@ -70,9 +70,9 @@
  {
   "doctype": "DocField", 
   "label": "Company", 
-  "reqd": 1, 
   "fieldname": "company", 
   "fieldtype": "Link", 
+  "reqd": 1, 
   "options": "Company"
  }, 
  {
@@ -161,9 +161,9 @@
   "default": "1", 
   "doctype": "DocField", 
   "label": "Use Multi-Level BOM", 
-  "reqd": 0, 
   "fieldname": "use_multi_level_bom", 
-  "fieldtype": "Check"
+  "fieldtype": "Check", 
+  "reqd": 0
  }, 
  {
   "doctype": "DocField", 
@@ -181,9 +181,9 @@
  }, 
  {
   "doctype": "DocField", 
+  "label": "Materials Requirement Planning (MRP)", 
   "fieldname": "sb5", 
-  "fieldtype": "Section Break", 
-  "options": "Simple"
+  "fieldtype": "Section Break"
  }, 
  {
   "description": "Download a report containing all raw materials with their latest inventory status", 
@@ -214,6 +214,10 @@
   "options": "raise_purchase_request"
  }, 
  {
+  "role": "System Manager", 
+  "doctype": "DocPerm"
+ }, 
+ {
   "role": "Manufacturing User", 
   "doctype": "DocPerm"
  }, 
diff --git a/patches/january_2013/change_patch_structure.py b/patches/january_2013/change_patch_structure.py
index 37c4f08..1370cdd 100644
--- a/patches/january_2013/change_patch_structure.py
+++ b/patches/january_2013/change_patch_structure.py
@@ -2,11 +2,12 @@
 
 def execute():
 	webnotes.reload_doc("core", "doctype", "patch_log")
-	for d in webnotes.conn.sql("""select patch from __PatchLog"""):
-		webnotes.doc({
-			"doctype": "Patch Log",
-			"patch": d[0]
-		}).insert()
+	if webnotes.conn.table_exists("__PatchLog"):
+		for d in webnotes.conn.sql("""select patch from __PatchLog"""):
+			webnotes.doc({
+				"doctype": "Patch Log",
+				"patch": d[0]
+			}).insert()
 	
-	webnotes.conn.commit()
-	webnotes.conn.sql("drop table __PatchLog")
\ No newline at end of file
+		webnotes.conn.commit()
+		webnotes.conn.sql("drop table __PatchLog")
\ No newline at end of file
diff --git a/website/helpers/contact.py b/website/helpers/contact.py
index df4510f..a9499ab 100644
--- a/website/helpers/contact.py
+++ b/website/helpers/contact.py
@@ -50,7 +50,7 @@
 		lead.ignore_permissions = True
 		lead.insert()
 	
-	make(content=message, sender=sender, 
+	make(content=message, sender=sender, subject=subject,
 		doctype="Lead", name=lead.doc.name, lead=lead.doc.name)
 
 	
