diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index d1561e0..db64849 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -1,4 +1,7 @@
 erpnext.updates = [
+	["2nd February, 2013", [
+		"Warehouse: Added table Warehouse User to restrict Warehouse Entry per user.",
+	]],
 	["28st January, 2013", [
 		"List Views are now configurable: To set list views, check 'In List View' in Setup > Customize Form View in the fields table.",
 	]],
diff --git a/startup/query_handlers.py b/startup/query_handlers.py
new file mode 100644
index 0000000..5e28608
--- /dev/null
+++ b/startup/query_handlers.py
@@ -0,0 +1,5 @@
+from __future__ import unicode_literals
+
+standard_queries = {
+	"Warehouse": "stock.utils.get_warehouse_list"
+}
\ No newline at end of file
diff --git a/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
index 2b1af33..d1fe3d9 100644
--- a/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
+++ b/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
@@ -16,6 +16,7 @@
 
 from __future__ import unicode_literals
 import webnotes
+from webnotes import _
 
 from webnotes.utils import cint, flt, getdate
 
@@ -33,6 +34,7 @@
 	def validate(self):
 		self.validate_mandatory()
 		self.validate_item()
+		self.validate_warehouse_user()
 		self.actual_amt_check()
 		self.check_stock_frozen_date()
 		self.scrub_posting_time()
@@ -51,6 +53,15 @@
 
 			self.doc.fields.pop('batch_bal')
 			 
+	def validate_warehouse_user(self):
+		if webnotes.session.user=="Administrator":
+			return
+		warehouse_users = [p[0] for p in webnotes.conn.sql("""select user from `tabWarehouse User`
+			where parent=%s""", self.doc.warehouse)]
+			
+		if warehouse_users and not webnotes.session.user in warehouse_users:
+			webnotes.msgprint(_("User not allowed entry in the Warehouse") \
+				+ ": " + webnotes.session.user + " / " + self.doc.warehouse, raise_exception = 1)
 
 	def validate_mandatory(self):		
 		mandatory = ['warehouse','posting_date','voucher_type','voucher_no','actual_qty','company']
diff --git a/stock/doctype/warehouse/warehouse.txt b/stock/doctype/warehouse/warehouse.txt
index e767543..d0dd73c 100644
--- a/stock/doctype/warehouse/warehouse.txt
+++ b/stock/doctype/warehouse/warehouse.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-01-10 16:34:30", 
   "docstatus": 0, 
-  "modified": "2013-01-29 13:29:21", 
+  "modified": "2013-02-04 11:35:53", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -81,6 +81,21 @@
   "search_index": 1
  }, 
  {
+  "doctype": "DocField", 
+  "fieldname": "column_break_4", 
+  "fieldtype": "Column Break", 
+  "permlevel": 0
+ }, 
+ {
+  "description": "If set, data entry is only allowed for specified users. Else, entry is allowed for all users with requisite permissions.", 
+  "doctype": "DocField", 
+  "fieldname": "warehouse_users", 
+  "fieldtype": "Table", 
+  "label": "Warehouse Users", 
+  "options": "Warehouse User", 
+  "permlevel": 0
+ }, 
+ {
   "description": "For Reference Only.", 
   "doctype": "DocField", 
   "fieldname": "warehouse_contact_info", 
diff --git a/stock/doctype/warehouse_user/__init__.py b/stock/doctype/warehouse_user/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/stock/doctype/warehouse_user/__init__.py
diff --git a/stock/doctype/warehouse_user/warehouse_user.py b/stock/doctype/warehouse_user/warehouse_user.py
new file mode 100644
index 0000000..928aa9f
--- /dev/null
+++ b/stock/doctype/warehouse_user/warehouse_user.py
@@ -0,0 +1,8 @@
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import webnotes
+
+class DocType:
+	def __init__(self, d, dl):
+		self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/stock/doctype/warehouse_user/warehouse_user.txt b/stock/doctype/warehouse_user/warehouse_user.txt
new file mode 100644
index 0000000..6cb02ae
--- /dev/null
+++ b/stock/doctype/warehouse_user/warehouse_user.txt
@@ -0,0 +1,36 @@
+[
+ {
+  "creation": "2013-02-04 11:33:57", 
+  "docstatus": 0, 
+  "modified": "2013-02-04 11:36:16", 
+  "modified_by": "Administrator", 
+  "owner": "Administrator"
+ }, 
+ {
+  "doctype": "DocType", 
+  "document_type": "Other", 
+  "istable": 1, 
+  "module": "Stock", 
+  "name": "__common__"
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "user", 
+  "fieldtype": "Link", 
+  "label": "User", 
+  "name": "__common__", 
+  "options": "Profile", 
+  "parent": "Warehouse User", 
+  "parentfield": "fields", 
+  "parenttype": "DocType", 
+  "permlevel": 0, 
+  "width": "200px"
+ }, 
+ {
+  "doctype": "DocType", 
+  "name": "Warehouse User"
+ }, 
+ {
+  "doctype": "DocField"
+ }
+]
\ No newline at end of file
diff --git a/stock/utils.py b/stock/utils.py
index 46dd9d0..87f4c02 100644
--- a/stock/utils.py
+++ b/stock/utils.py
@@ -146,4 +146,21 @@
 			+ cstr(abs(qty)) + " quantity against item code: " + item_code,
 			raise_exception=1)
 		
-	return valid_serial_nos
\ No newline at end of file
+	return valid_serial_nos
+	
+def get_warehouse_list(doctype, txt, searchfield, start, page_len):
+	"""used in search queries"""
+	wlist = []
+	for w in webnotes.conn.sql_list("""select name from tabWarehouse 
+		where name like '%%%s%%'""" % txt):
+		if webnotes.session.user=="Administrator":
+			wlist.append([w])
+		else:
+			warehouse_users = webnotes.conn.sql_list("""select user from `tabWarehouse User` 
+				where parent=%s""", w)
+			if not warehouse_users:
+				wlist.append([w])
+			elif webnotes.session.user in warehouse_users:
+				wlist.append([w])
+	return wlist
+	
\ No newline at end of file
