Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index 906de23..de3ee95 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -540,8 +540,7 @@
 		if not w:
 			ps = webnotes.conn.sql("select name, warehouse from `tabPOS Setting` where ifnull(user,'') = '' and company = '%s'" % self.doc.company)
 			if not ps:
-				msgprint("To make POS entry, please create POS Setting from Accounts --> POS Setting page and refresh the system.")
-				raise Exception
+				msgprint("To make POS entry, please create POS Setting from Accounts --> POS Setting page and refresh the system.", raise_exception=True)
 			elif not ps[0][1]:
 				msgprint("Please enter warehouse in POS Setting")
 			else:
diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js
index 05b7bcb..dacee80 100644
--- a/buying/doctype/purchase_common/purchase_common.js
+++ b/buying/doctype/purchase_common/purchase_common.js
@@ -21,7 +21,7 @@
 
 wn.provide("erpnext.buying");
 
-erpnext.buying.BuyingController = erpnext.utils.Controller.extend({
+erpnext.buying.BuyingController = wn.ui.form.Controller.extend({
 	setup: function() {
 		var me = this;
 		
@@ -68,15 +68,15 @@
 					callback: function(r) {
 						if(!r.exc) {
 							me.price_list_currency();
-							if (callback_fn) callback_fn(me.frm.doc, me.frm.doc.doctype, 
-									me.frm.doc.name);
+							if (typeof callback_fn === "function") 
+								callback_fn(me.frm.doc, me.frm.doc.doctype, me.frm.doc.name);
 						}
 					}
 				});
 			} else {
 				me.price_list_currency();
-				if (callback_fn) callback_fn(me.frm.doc, me.frm.doc.doctype, 
-						me.frm.doc.name);
+				if (typeof callback_fn === "function") 
+					callback_fn(me.frm.doc, me.frm.doc.doctype, me.frm.doc.name);
 			}
 		} 
 	},
diff --git a/buying/doctype/purchase_order/purchase_order.py b/buying/doctype/purchase_order/purchase_order.py
index 438442c..218d4bf 100644
--- a/buying/doctype/purchase_order/purchase_order.py
+++ b/buying/doctype/purchase_order/purchase_order.py
@@ -132,6 +132,10 @@
 		for d in getlist(self.doclist, 'po_details'):
 			#1. Check if is_stock_item == 'Yes'
 			if webnotes.conn.get_value("Item", d.item_code, "is_stock_item") == "Yes":
+				# this happens when item is changed from non-stock to stock item
+				if not d.warehouse:
+					continue
+				
 				ind_qty, po_qty = 0, flt(d.qty) * flt(d.conversion_factor)
 				if is_stopped:
 					po_qty = flt(d.qty) > flt(d.received_qty) and \
diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index b66fe4c..84db372 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -1,5 +1,6 @@
 erpnext.updates = [
-	["5th March", ["Refactored Upload Attendace Tool"]],
+	["12th March", ["Updates to website module. Added more options in Style Settings and Website Settings."]],
+	["5th March", ["Refactored Upload Attendance Tool"]],
 	["4th March", ["Lead organization added in Quotation classic/spartan/modern print format"]],
 	["1st March", [
 		"Time Log, Time Log Batch: Created feature to batch Time Logs so that they can be tracked for billing.",
diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py
index 2bd7998..d98c8a7 100644
--- a/hr/doctype/employee/employee.py
+++ b/hr/doctype/employee/employee.py
@@ -17,7 +17,7 @@
 from __future__ import unicode_literals
 import webnotes
 
-from webnotes.utils import getdate, validate_email_add
+from webnotes.utils import getdate, validate_email_add, cstr
 from webnotes.model.doc import make_autoname
 from webnotes import msgprint, _
 
@@ -104,7 +104,7 @@
 				fname, fid = file_args.split(",")
 				if self.doc.image == fname:
 					new_file_args = fname + "," + fid
-					file_list = profile_wrapper.doc.file_list.split("\n")
+					file_list = cstr(profile_wrapper.doc.file_list).split("\n")
 					if new_file_args not in file_list:
 						file_list += [new_file_args]
 					profile_wrapper.doc.file_list = "\n".join(file_list)
diff --git a/hr/doctype/upload_attendance/upload_attendance.js b/hr/doctype/upload_attendance/upload_attendance.js
index 008e1cd..0c1d7b2 100644
--- a/hr/doctype/upload_attendance/upload_attendance.js
+++ b/hr/doctype/upload_attendance/upload_attendance.js
@@ -18,7 +18,7 @@
 wn.require("public/app/js/utils.js");
 wn.provide("erpnext.hr");
 
-erpnext.hr.AttendanceControlPanel = erpnext.utils.Controller.extend({
+erpnext.hr.AttendanceControlPanel = wn.ui.form.Controller.extend({
 	onload: function() {
 		this.frm.set_value("att_fr_date", get_today());
 		this.frm.set_value("att_to_date", get_today());
diff --git a/patches/march_2013/p03_rename_blog_to_blog_post.py b/patches/march_2013/p03_rename_blog_to_blog_post.py
index 7520f9c..69902f34 100644
--- a/patches/march_2013/p03_rename_blog_to_blog_post.py
+++ b/patches/march_2013/p03_rename_blog_to_blog_post.py
@@ -6,4 +6,4 @@
 	webnotes.reload_doc('website', 'doctype', 'blog_post')
 	webnotes.conn.sql('''update tabBlogger set posts=(select count(*) 
 		from `tabBlog Post` where ifnull(blogger,"")=tabBlogger.name)''')
-	webnotes.conn.sql("""update `tabBlog Post` set published_on=creation""")
+	webnotes.conn.sql("""update `tabBlog Post` set published_on=date(creation)""")
diff --git a/projects/doctype/task/task.js b/projects/doctype/task/task.js
index 472ca6b..8493920 100644
--- a/projects/doctype/task/task.js
+++ b/projects/doctype/task/task.js
@@ -18,7 +18,7 @@
 
 cur_frm.add_fetch("project", "company", "company");
 
-erpnext.projects.Task = erpnext.utils.Controller.extend({
+erpnext.projects.Task = wn.ui.form.Controller.extend({
 	setup: function() {
 		this.frm.fields_dict.project.get_query = function() {
 			return "select name from `tabProject` \
@@ -29,7 +29,8 @@
 
 	project: function() {
 		if(this.frm.doc.project) {
-			get_server_fields('get_project_details', '','', doc, cdt, cdn, 1);
+			get_server_fields('get_project_details', '','', this.frm.doc, this.frm.doc.doctype, 
+				this.frm.doc.name, 1);
 		}
 	},
 
diff --git a/public/js/controllers/stock_controller.js b/public/js/controllers/stock_controller.js
index d3511e1..15d34e0 100644
--- a/public/js/controllers/stock_controller.js
+++ b/public/js/controllers/stock_controller.js
@@ -16,7 +16,7 @@
 
 wn.provide("erpnext.stock");
 
-erpnext.stock.StockController = erpnext.utils.Controller.extend({
+erpnext.stock.StockController = wn.ui.form.Controller.extend({
 	show_stock_ledger: function() {
 		var me = this;
 		this.frm.add_custom_button("Show Stock Ledger", function() {
diff --git a/public/js/utils.js b/public/js/utils.js
index 0f78705..4df9555 100644
--- a/public/js/utils.js
+++ b/public/js/utils.js
@@ -23,35 +23,4 @@
 		return wn.model.get(":Company", company).default_currency || wn.boot.sysdefaults.currency;
 	else
 		return wn.boot.sysdefaults.currency;
-}
-
-// TODO
-erpnext.utils.Controller = Class.extend({
-	init: function(opts) {
-		$.extend(this, opts);
-		this.setup && this.setup();
-	},
-	
-	onload_post_render: function() {
-		if(this.frm.doc.__islocal) {
-			this.setup_defaults();
-		}
-	},
-	
-	setup_defaults: function() {
-		var me = this;
-		
-		var defaults = {
-			posting_date: wn.datetime.get_today(),
-			posting_time: wn.datetime.now_time()
-		}
-		
-		$.each(defaults, function(k, v) {
-			if(!me.frm.doc[k]) me.frm.set_value(k, v);
-		});
-	},
-	
-	refresh: function() {
-		erpnext.hide_naming_series();
-	}
-});
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py
index 8205afb..5009c4e 100644
--- a/selling/doctype/sales_order/sales_order.py
+++ b/selling/doctype/sales_order/sales_order.py
@@ -156,9 +156,13 @@
 			f = [d.item_code, d.description]
 
 			#check item is stock item
-			st_itm = sql("select is_stock_item from `tabItem` where name = '%s'"%d.item_code)
+			st_itm = sql("select is_stock_item from `tabItem` where name = %s", d.item_code)
 
 			if st_itm and st_itm[0][0] == 'Yes':
+				if not d.reserved_warehouse:
+					msgprint("""Please enter Reserved Warehouse for item %s 
+						as it is stock Item""" % d.item_code, raise_exception=1)
+				
 				if e in check_list:
 					msgprint("Item %s has been entered twice." % d.item_code)
 				else:
@@ -333,10 +337,6 @@
 	def update_stock_ledger(self, update_stock, is_stopped = 0):
 		for d in self.get_item_list(is_stopped):
 			if webnotes.conn.get_value("Item", d['item_code'], "is_stock_item") == "Yes":
-				if not d['reserved_warehouse']:
-					msgprint("""Please enter Reserved Warehouse for item %s 
-						as it is stock Item""" % d['item_code'], raise_exception=1)
-				
 				args = {
 					"item_code": d['item_code'],
 					"reserved_qty": flt(update_stock) * flt(d['reserved_qty']),
diff --git a/setup/page/setup/setup.js b/setup/page/setup/setup.js
index e970a60..394a5f6 100644
--- a/setup/page/setup/setup.js
+++ b/setup/page/setup/setup.js
@@ -98,12 +98,6 @@
 				label:wn._("Print Heading"),
 				"description":wn._("Add headers for standard print formats")
 			},
-			{
-				"route":"Form/Style Settings/Style Settings",
-				doctype:wn._("Style Settings"),
-				label:wn._("Style Settings"),
-				"description":wn._("Change background fonts etc")
-			}
 		]
 	},
 	{
diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py
index 3d799c4..229ec40 100644
--- a/stock/doctype/delivery_note/delivery_note.py
+++ b/stock/doctype/delivery_note/delivery_note.py
@@ -156,7 +156,7 @@
 		if not self.doc.billing_status: self.doc.billing_status = 'Not Billed'
 		if not self.doc.installation_status: self.doc.installation_status = 'Not Installed'
 
-
+		
 	def validate_mandatory(self):
 		if self.doc.amended_from and not self.doc.amendment_date:
 			msgprint("Please Enter Amendment Date")
@@ -338,10 +338,10 @@
 		self.values = []
 		for d in self.get_item_list():
 			if webnotes.conn.get_value("Item", d['item_code'], "is_stock_item") == "Yes":
-				if not d['warehouse']:
-					msgprint("Please enter Warehouse for item %s as it is stock item"
-						% d['item_code'], raise_exception=1)
-						
+				# this happens when item is changed from non-stock to stock item
+				if not d["warehouse"]:
+					continue
+				
 				if d['reserved_qty'] < 0 :
 					# Reduce reserved qty from reserved warehouse mentioned in so
 					args = {
@@ -407,6 +407,15 @@
 				webnotes.conn.set_value("Delivery Note Item", item.name, "buying_amount", 
 					item.buying_amount)
 		
+		self.validate_warehouse()
+		
+	def validate_warehouse(self):
+		for d in self.get_item_list():
+			if webnotes.conn.get_value("Item", d['item_code'], "is_stock_item") == "Yes":
+				if not d['warehouse']:
+					msgprint("Please enter Warehouse for item %s as it is stock item"
+						% d['item_code'], raise_exception=1)
+		
 	def make_gl_entries(self):
 		if not cint(webnotes.defaults.get_global_default("auto_inventory_accounting")):
 			return
@@ -440,4 +449,4 @@
 	def get_total_buying_amount(self):
 		total_buying_amount = sum([item.buying_amount for item in 
 			self.doclist.get({"parentfield": "delivery_note_details"})])
-		return total_buying_amount
\ No newline at end of file
+		return total_buying_amount
diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py
index 334af298..74bf3f3 100644
--- a/stock/doctype/item/item.py
+++ b/stock/doctype/item/item.py
@@ -20,15 +20,12 @@
 from webnotes.utils import cstr, flt
 from webnotes.model.doc import addchild
 from webnotes.model.bean import getlist
-from webnotes import msgprint
+from webnotes import msgprint, _
 
 sql = webnotes.conn.sql
 
-class DocType:
-	def __init__(self, doc, doclist=[]):
-		self.doc = doc
-		self.doclist = doclist
-
+from webnotes.model.controller import DocListController
+class DocType(DocListController):
 	def get_tax_rate(self, tax_type):
 		rate = sql("select tax_rate from tabAccount where name = %s", tax_type)
 		ret = {
@@ -196,6 +193,8 @@
 
 		if self.doc.name:
 			self.old_page_name = webnotes.conn.get_value('Item', self.doc.name, 'page_name')
+			
+		self.validate_is_stock_item()
 					
 	def check_non_asset_warehouse(self):
 		if self.doc.is_asset_item == "Yes":
@@ -215,6 +214,15 @@
 			'description'	:	file and file[0]['description'] or ''
 		}
 		return ret
+		
+	def validate_is_stock_item(self):
+		if not self.doc.fields.get("__islocal"):
+			if webnotes.conn.get_value("Item", self.doc.name, "is_stock_item")=="Yes" and \
+				((not self.doc.is_stock_item) or self.doc.is_stock_item == "No"):
+					if self.check_if_sle_exists() == "exists":
+						webnotes.msgprint(self.meta.get_label("is_stock_item") + ": " 
+							+ _("""Cannot change to Yes. Reason: Stock Ledger Entries exist for""")
+							+ """ "%s" """ % self.doc.name, raise_exception=True)
 
 	def check_if_sle_exists(self):
 		sle = sql("select name from `tabStock Ledger Entry` where item_code = %s and ifnull(is_cancelled, 'No') = 'No'", self.doc.name)
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.py b/stock/doctype/purchase_receipt/purchase_receipt.py
index 12da0a6..cce1493 100644
--- a/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -125,7 +125,7 @@
 		self.update_raw_materials_supplied("pr_raw_material_details")
 		
 		self.update_valuation_rate("purchase_receipt_details")
-
+		
 	def on_update(self):
 		if self.doc.rejected_warehouse:
 			for d in getlist(self.doclist,'purchase_receipt_details'):
@@ -146,6 +146,9 @@
 		self.values = []
 		for d in getlist(self.doclist, 'purchase_receipt_details'):
 			if webnotes.conn.get_value("Item", d.item_code, "is_stock_item") == "Yes":
+				if not d.warehouse:
+					continue
+				
 				ord_qty = 0
 				pr_qty = flt(d.qty) * flt(d.conversion_factor)
 
diff --git a/stock/doctype/stock_entry/stock_entry.js b/stock/doctype/stock_entry/stock_entry.js
index 55a86a3..ba1f648 100644
--- a/stock/doctype/stock_entry/stock_entry.js
+++ b/stock/doctype/stock_entry/stock_entry.js
@@ -19,7 +19,6 @@
 
 erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
 	onload_post_render: function() {
-		this._super();
 		if(this.frm.doc.__islocal && (this.frm.doc.production_order || this.frm.doc.bom_no) 
 			&& !getchildren('Stock Entry Detail', this.frm.doc.name, 'mtn_details').length) {
 				// if production order / bom is mentioned, get items
@@ -28,7 +27,7 @@
 	},
 	
 	refresh: function() {
-		this._super();
+		erpnext.hide_naming_series();
 		this.toggle_related_fields(this.frm.doc);
 		this.toggle_enable_bom();
 		if (this.frm.doc.docstatus==1) {
diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py
index 278c283..74b71d9 100644
--- a/stock/doctype/stock_entry/stock_entry.py
+++ b/stock/doctype/stock_entry/stock_entry.py
@@ -29,9 +29,9 @@
 
 sql = webnotes.conn.sql
 	
-from utilities.transaction_base import TransactionBase
+from controllers.accounts_controller import AccountsController
 
-class DocType(TransactionBase):
+class DocType(AccountsController):
 	def __init__(self, doc, doclist=[]):
 		self.doc = doc
 		self.doclist = doclist
@@ -44,12 +44,14 @@
 		pro_obj = self.doc.production_order and \
 			get_obj('Production Order', self.doc.production_order) or None
 
+		self.validate_item()
 		self.validate_warehouse(pro_obj)
 		self.validate_production_order(pro_obj)
 		self.get_stock_and_rate()
 		self.validate_incoming_rate()
 		self.validate_bom()
 		self.validate_finished_goods()
+
 		self.validate_return_reference_doc()
 		
 		self.validate_with_material_request()
@@ -78,6 +80,12 @@
 		sl_obj.scrub_serial_nos(self)
 		sl_obj.validate_serial_no(self, 'mtn_details')
 		
+	def validate_item(self):
+		for item in self.doclist.get({"parentfield": "mtn_details"}):
+			if item.item_code not in self.stock_items:
+				msgprint(_("""Only Stock Items are allowed for Stock Entry"""),
+					raise_exception=True)
+		
 	def validate_warehouse(self, pro_obj):
 		"""perform various (sometimes conditional) validations on warehouse"""
 		
diff --git a/website/doctype/about_us_settings/about_us_settings.py b/website/doctype/about_us_settings/about_us_settings.py
index 6c404f1..e291aa8 100644
--- a/website/doctype/about_us_settings/about_us_settings.py
+++ b/website/doctype/about_us_settings/about_us_settings.py
@@ -7,16 +7,16 @@
 class DocType:
 	def __init__(self, d, dl):
 		self.doc, self.doclist = d, dl
-		
-	def onload(self):
-		"""load employee"""
-		emp_list = []
-		for d in self.doclist.get({"doctype":"About Us Team Member"}):
-			emp = webnotes.doc("Employee", d.employee)
-			emp.image = url_for_website(emp.image)
-			emp_list.append(emp)
-		self.doclist += emp_list
-	
+			
 	def on_update(self):
 		from website.utils import clear_cache
-		clear_cache("about")
\ No newline at end of file
+		clear_cache("about")
+		
+def get_args():
+	obj = webnotes.get_obj("About Us Settings")
+	for d in obj.doclist.get({"doctype":"About Us Team Member"}):
+		if not "/" in d.image_link:
+			d.image_link = "files/" + d.image_link
+	return {
+		"obj": obj
+	}
\ No newline at end of file
diff --git a/website/doctype/about_us_settings/about_us_settings.txt b/website/doctype/about_us_settings/about_us_settings.txt
index a42d2f3..6a27f73 100644
--- a/website/doctype/about_us_settings/about_us_settings.txt
+++ b/website/doctype/about_us_settings/about_us_settings.txt
@@ -1,12 +1,13 @@
 [
  {
-  "creation": "2013-01-10 16:34:32", 
+  "creation": "2013-03-07 15:53:15", 
   "docstatus": 0, 
-  "modified": "2013-01-22 14:12:16", 
+  "modified": "2013-03-12 13:51:29", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
  {
+  "allow_attach": 1, 
   "description": "Settings for the About Us Page", 
   "doctype": "DocType", 
   "document_type": "Master", 
@@ -31,7 +32,7 @@
   "parenttype": "DocType", 
   "permlevel": 0, 
   "read": 1, 
-  "report": 1, 
+  "report": 0, 
   "role": "Website Manager", 
   "submit": 0, 
   "write": 1
@@ -102,6 +103,15 @@
   "label": "Footer"
  }, 
  {
+  "doctype": "DocField", 
+  "fieldname": "file_list", 
+  "fieldtype": "Text", 
+  "hidden": 1, 
+  "label": "File List", 
+  "no_copy": 1, 
+  "print_hide": 1
+ }, 
+ {
   "doctype": "DocPerm"
  }
 ]
\ No newline at end of file
diff --git a/website/doctype/about_us_team_member/about_us_team_member.txt b/website/doctype/about_us_team_member/about_us_team_member.txt
index ec77dd7..b1bf6b3 100644
--- a/website/doctype/about_us_team_member/about_us_team_member.txt
+++ b/website/doctype/about_us_team_member/about_us_team_member.txt
@@ -1,8 +1,8 @@
 [
  {
-  "creation": "2013-02-22 01:28:07", 
+  "creation": "2013-03-07 11:55:11", 
   "docstatus": 0, 
-  "modified": "2013-03-07 07:03:18", 
+  "modified": "2013-03-12 13:51:02", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -14,23 +14,38 @@
  }, 
  {
   "doctype": "DocField", 
-  "fieldname": "employee", 
-  "fieldtype": "Link", 
-  "label": "Employee", 
   "name": "__common__", 
-  "options": "Employee", 
   "parent": "About Us Team Member", 
   "parentfield": "fields", 
   "parenttype": "DocType", 
-  "permlevel": 0, 
-  "print_width": "300px", 
-  "width": "300px"
+  "permlevel": 0
  }, 
  {
   "doctype": "DocType", 
   "name": "About Us Team Member"
  }, 
  {
-  "doctype": "DocField"
+  "doctype": "DocField", 
+  "fieldname": "full_name", 
+  "fieldtype": "Data", 
+  "label": "Full Name", 
+  "reqd": 1, 
+  "width": "150px"
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "image_link", 
+  "fieldtype": "Select", 
+  "label": "Image Link", 
+  "options": "attach_files:", 
+  "width": "150px"
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "bio", 
+  "fieldtype": "Small Text", 
+  "label": "Bio", 
+  "reqd": 1, 
+  "width": "200px"
  }
 ]
\ No newline at end of file
diff --git a/website/doctype/style_settings/style_settings.txt b/website/doctype/style_settings/style_settings.txt
index fbb4c42..3f898e7 100644
--- a/website/doctype/style_settings/style_settings.txt
+++ b/website/doctype/style_settings/style_settings.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-03-08 11:36:53", 
   "docstatus": 0, 
-  "modified": "2013-03-12 11:34:32", 
+  "modified": "2013-03-12 13:35:14", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -67,6 +67,12 @@
  }, 
  {
   "doctype": "DocField", 
+  "fieldname": "page_border", 
+  "fieldtype": "Check", 
+  "label": "Page Border"
+ }, 
+ {
+  "doctype": "DocField", 
   "fieldname": "page_headings", 
   "fieldtype": "Data", 
   "label": "Page Headings"
@@ -85,14 +91,9 @@
  }, 
  {
   "doctype": "DocField", 
-  "fieldname": "page_border", 
-  "fieldtype": "Check", 
-  "label": "Page Border"
- }, 
- {
-  "doctype": "DocField", 
   "fieldname": "cb0", 
   "fieldtype": "Column Break", 
+  "label": "Top Bar", 
   "print_width": "50%", 
   "width": "50%"
  }, 
diff --git a/website/templates/html/product_in_list.html b/website/templates/html/product_in_list.html
index 43b0134..97de596 100644
--- a/website/templates/html/product_in_list.html
+++ b/website/templates/html/product_in_list.html
@@ -8,6 +8,5 @@
 	</div>
 	<div style="height: 100px; overflow: hidden; font-size: 80%;">
 		<h4 style="margin-bottom: 2px;"><a href="{{ page_name }}">{{ item_name }}</a></h4>
-		<p class="help">Item Code: {{ name }}</p>
 	</div>
 </div>
\ No newline at end of file
diff --git a/website/templates/pages/about.html b/website/templates/pages/about.html
index 30d9a5d..28fb1f6 100644
--- a/website/templates/pages/about.html
+++ b/website/templates/pages/about.html
@@ -7,34 +7,27 @@
 	{{ obj.doc.company_introduction or "<h2>About Us</h2><p>Some Introduction about your company that you would like your website visitor to know. More people than you think will read your About page. People always like to know who the are doing business with. Be authentic and avoid using jargon like 'value added services' etc. Be sure to update your company history and list of key team members in Website > About Us Settings</p>" }}
 	{% if obj.doclist.get({"doctype":"Company History"}) %}
 	<h3>{{ obj.doc.company_history_heading or "Company History" }}</h3>
-	<table class="table table-bordered" style="width: 100%; table-layout: fixed">
-		<tbody>
-			{% for d in obj.doclist.get({"doctype":"Company History"}) %}
-			<tr>
-				<td style="width: 30%; text-align: right"><h4>{{ d.year }}</h4></td>
-				<td>{{ d.highlight }}</td>
-			</tr>
-			{% endfor %}
-		</tbody>
-	</table>
+	{% for d in obj.doclist.get({"doctype":"Company History"}) %}
+	<div class="row">
+		<span class="span2" style="text-align: right"><h4 style="margin:0px;">{{ d.year }}</h4></span>
+		<span class="span10"><p>{{ d.highlight }}</p></span>
+	</div>
+	{% endfor %}
 	{% endif %}
-	{% if obj.doclist.get({"doctype":"Employee"}) %}
+	{% if obj.doclist.get({"doctype":"About Us Team Member"}) %}
 	<h3>{{ obj.doc.team_members_heading or "Team Members" }}</h3>
-	<table class="table" style="width: 100%; table-layout: fixed">
-		<tbody>
-			{% for d in obj.doclist.get({"doctype":"Employee"}) %}
-			<tr itemscope itemtype="http://schema.org/Person">
-				<td style="text-align:right; width: 20%;">
-					<div class="avatar avatar-x-large">
-						<img class="avatar" src="{{ d.image }}" style="" itemprop="image">
-					</div>
-				</td>
-				<td><h4 itemprop="name">{{ d.employee_name }}</h4>
-					<div itemprop="description">{{ d.bio }}</div></td>
-			</tr>
-			{% endfor %}
-		</tbody>
-	</table>
+	{% for d in obj.doclist.get({"doctype":"About Us Team Member"}) %}
+	<div class="row" itemscope itemtype="http://schema.org/Person">
+		<span class="span2">
+			<div class="avatar avatar-large">
+				<img class="avatar" src="{{ d.image }}" style="" itemprop="image">
+			</div>
+		</span>
+		<span class="span10"><h4 itemprop="name">{{ d.full_name }}</h4>
+			<div itemprop="description">{{ d.bio }}</div>
+		</span>
+	</div>
+	{% endfor %}
 	{% endif %}
 	{{ obj.doc.footer or "" }}
 </div>
diff --git a/website/utils.py b/website/utils.py
index 921d2fc..0f62d26 100644
--- a/website/utils.py
+++ b/website/utils.py
@@ -40,7 +40,7 @@
 }
 
 page_settings_map = {
-	"about": "About Us Settings",
+	"about": "website.doctype.about_us_settings.about_us_settings.get_args",
 	"contact": "Contact Us Settings",
 	"blog": "website.helpers.blog.get_blog_template_args",
 	"writers": "website.helpers.blog.get_writers_args"