added holidy_block_list_allow
diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py
index 4360c7e..d08da1a 100644
--- a/hr/doctype/employee/employee.py
+++ b/hr/doctype/employee/employee.py
@@ -70,6 +70,11 @@
 			webnotes.conn.set_default("employee", self.doc.name, self.doc.user_id)
 			webnotes.conn.set_default("employee_name", self.doc.employee_name, self.doc.user_id)
 			webnotes.conn.set_default("company", self.doc.company, self.doc.user_id)
+			
+			# add employee role if missing
+			if not "Employee" in webnotes.conn.sql_list("""select role from tabUserRole
+				where parent=%s""", self.doc.user_id):
+				webnotes.get_obj("Profile", self.doc.user_id).add_role("Employee")
 	
 	def validate_date(self):
 		import datetime
@@ -134,4 +139,15 @@
 	"status": "Active",
 	"company": "_Test Company",
 	"user_id": "test@erpnext.com"
+}],
+[{
+	"doctype":"Employee",
+	"employee_name": "_Test Employee 1",
+	"naming_series": "_T-Employee-",
+	"date_of_joining": "2010-01-01",
+	"date_of_birth": "1980-01-01",
+	"gender": "Male",
+	"status": "Active",
+	"company": "_Test Company",
+	"user_id": "test1@erpnext.com"
 }]]
\ No newline at end of file
diff --git a/hr/doctype/holiday_block_list/holiday_block_list.py b/hr/doctype/holiday_block_list/holiday_block_list.py
index 4ebe49e..619f373 100644
--- a/hr/doctype/holiday_block_list/holiday_block_list.py
+++ b/hr/doctype/holiday_block_list/holiday_block_list.py
@@ -31,4 +31,11 @@
 		"parentfield": "holiday_block_list_dates",
 		"block_date": "2013-01-02",
 		"reason": "First work day"
-	}]]
\ No newline at end of file
+	}, {
+		"doctype": "Holiday Block List Allow",
+		"parent": "_Test Holiday Block List",
+		"parenttype": "Holiday Block List",
+		"parentfield": "holiday_block_list_allowed",
+		"allow_user": "test1@erpnext.com",
+		}
+	]]
\ No newline at end of file
diff --git a/hr/doctype/holiday_block_list/holiday_block_list.txt b/hr/doctype/holiday_block_list/holiday_block_list.txt
index 732e783..31b2f98 100644
--- a/hr/doctype/holiday_block_list/holiday_block_list.txt
+++ b/hr/doctype/holiday_block_list/holiday_block_list.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-02-04 15:31:29", 
   "docstatus": 0, 
-  "modified": "2013-02-04 15:38:57", 
+  "modified": "2013-02-06 14:39:09", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -54,6 +54,13 @@
   "reqd": 1
  }, 
  {
+  "description": "Stop users from making Leave Applications on following days.", 
+  "doctype": "DocField", 
+  "fieldname": "block_days", 
+  "fieldtype": "Section Break", 
+  "label": "Block Days"
+ }, 
+ {
   "doctype": "DocField", 
   "fieldname": "holiday_block_list_dates", 
   "fieldtype": "Table", 
@@ -61,6 +68,20 @@
   "options": "Holiday Block List Date"
  }, 
  {
+  "description": "Allow the following users to make Leave Applications for block days.", 
+  "doctype": "DocField", 
+  "fieldname": "allow_list", 
+  "fieldtype": "Section Break", 
+  "label": "Allow Users"
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "holiday_block_list_allowed", 
+  "fieldtype": "Table", 
+  "label": "Holiday Block List Allowed", 
+  "options": "Holiday Block List Allow"
+ }, 
+ {
   "doctype": "DocPerm"
  }
 ]
\ No newline at end of file
diff --git a/hr/doctype/holiday_block_list_allow/__init__.py b/hr/doctype/holiday_block_list_allow/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/hr/doctype/holiday_block_list_allow/__init__.py
diff --git a/hr/doctype/holiday_block_list_allow/holiday_block_list_allow.py b/hr/doctype/holiday_block_list_allow/holiday_block_list_allow.py
new file mode 100644
index 0000000..928aa9f
--- /dev/null
+++ b/hr/doctype/holiday_block_list_allow/holiday_block_list_allow.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/hr/doctype/holiday_block_list_allow/holiday_block_list_allow.txt b/hr/doctype/holiday_block_list_allow/holiday_block_list_allow.txt
new file mode 100644
index 0000000..bdbd2a0
--- /dev/null
+++ b/hr/doctype/holiday_block_list_allow/holiday_block_list_allow.txt
@@ -0,0 +1,35 @@
+[
+ {
+  "creation": "2013-02-06 14:31:03", 
+  "docstatus": 0, 
+  "modified": "2013-02-06 14:31:03", 
+  "modified_by": "Administrator", 
+  "owner": "Administrator"
+ }, 
+ {
+  "doctype": "DocType", 
+  "istable": 1, 
+  "module": "HR", 
+  "name": "__common__"
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "allow_user", 
+  "fieldtype": "Link", 
+  "label": "Allow User", 
+  "name": "__common__", 
+  "options": "Profile", 
+  "parent": "Holiday Block List Allow", 
+  "parentfield": "fields", 
+  "parenttype": "DocType", 
+  "permlevel": 0, 
+  "width": "200px"
+ }, 
+ {
+  "doctype": "DocType", 
+  "name": "Holiday Block List Allow"
+ }, 
+ {
+  "doctype": "DocField"
+ }
+]
\ No newline at end of file
diff --git a/hr/doctype/leave_application/leave_application.py b/hr/doctype/leave_application/leave_application.py
index 8c7124e..cab8f17 100755
--- a/hr/doctype/leave_application/leave_application.py
+++ b/hr/doctype/leave_application/leave_application.py
@@ -53,6 +53,8 @@
 		if department:
 			block_list = webnotes.conn.get_value("Department", department, "holiday_block_list")
 			if block_list:
+				if self.is_user_in_allow_list(block_list):
+					return
 				for d in webnotes.conn.sql("""select block_date, reason from
 					`tabHoliday Block List Date` where parent=%s""", block_list, as_dict=1):
 					block_date = getdate(d.block_date)
@@ -61,6 +63,10 @@
 							+ ": " + formatdate(d.block_date) + _(" Reason: ") + d.reason)
 						raise LeaveDayBlockedError
 
+	def is_user_in_allow_list(self, block_list):
+		return webnotes.session.user in webnotes.conn.sql_list("""select allow_user
+			from `tabHoliday Block List Allow` where parent=%s""", block_list)
+
 	def get_holidays(self):
 		tot_hol = webnotes.conn.sql("""select count(*) from `tabHoliday` h1, `tabHoliday List` h2, `tabEmployee` e1 
 			where e1.name = %s and h1.parent = h2.name and e1.holiday_list = h2.name 
@@ -147,23 +153,4 @@
 
 def is_lwp(leave_type):
 	lwp = webnotes.conn.sql("select is_lwp from `tabLeave Type` where name = %s", leave_type)
-	return lwp and cint(lwp[0][0]) or 0
-
-test_records = [
-	[{
-		"doctype": "Leave Allocation",
-		"leave_type": "_Test Leave Type",
-		"fiscal_year": "_Test Fiscal Year",
-		"employee":"_T-Employee-0001",
-		"new_leaves_allocated": 15,
-		"docstatus": 1
-	}],
-	[{
-		"doctype": "Leave Application",
-		"leave_type": "_Test Leave Type",
-		"from_date": "2013-05-01",
-		"to_date": "2013-05-05",
-		"posting_date": "2013-01-02",
-		"fiscal_year": "_Test Fiscal Year",
-		"employee": "_T-Employee-0001"
-	}]]
\ No newline at end of file
+	return lwp and cint(lwp[0][0]) or 0
\ No newline at end of file
diff --git a/hr/doctype/leave_application/test_leave_application.py b/hr/doctype/leave_application/test_leave_application.py
index fac3685..e485289 100644
--- a/hr/doctype/leave_application/test_leave_application.py
+++ b/hr/doctype/leave_application/test_leave_application.py
@@ -1,26 +1,50 @@
-	import sys
-	import unittest
+import sys
+import unittest
 
-	from hr.doctype.leave_application.leave_application import test_records, LeaveDayBlockedError
+from hr.doctype.leave_application.leave_application import LeaveDayBlockedError
 
-	class TestLeaveApplication(unittest.TestCase):
-		def setUp(self):
-			from webnotes.test_runner import make_test_records
-			make_test_records("Leave Application")
-	
-		def test_block_list(self):
-			import webnotes
-			webnotes.conn.set_value("Employee", "_T-Employee-0001", "department", 
-				"_Test Department with Block List")
-			
-			application = webnotes.model_wrapper(test_records[1])
-			application.doc.from_date = "2013-01-01"
-			application.doc.to_date = "2013-01-05"
-			self.assertRaises(LeaveDayBlockedError, application.insert)
-		
-	if __name__=="__main__":
-		sys.path.extend(["app", "lib"])
+class TestLeaveApplication(unittest.TestCase):
+	def test_block_list(self):
 		import webnotes
-		webnotes.connect()
-		unittest.main()
-	
\ No newline at end of file
+		webnotes.conn.set_value("Employee", "_T-Employee-0001", "department", 
+			"_Test Department with Block List")
+		
+		application = webnotes.model_wrapper(test_records[1])
+		application.doc.from_date = "2013-01-01"
+		application.doc.to_date = "2013-01-05"
+		self.assertRaises(LeaveDayBlockedError, application.insert)
+		
+		webnotes.session.user = "test1@erpnext.com"
+		webnotes.get_obj("Profile", "test1@erpnext.com").add_role("HR User")
+		self.assertTrue(application.insert())
+		
+
+test_records = [
+	[{
+		"doctype": "Leave Allocation",
+		"leave_type": "_Test Leave Type",
+		"fiscal_year": "_Test Fiscal Year",
+		"employee":"_T-Employee-0001",
+		"new_leaves_allocated": 15,
+		"docstatus": 1
+	}],
+	[{
+		"doctype": "Leave Application",
+		"leave_type": "_Test Leave Type",
+		"from_date": "2013-05-01",
+		"to_date": "2013-05-05",
+		"posting_date": "2013-01-02",
+		"fiscal_year": "_Test Fiscal Year",
+		"employee": "_T-Employee-0001"
+	}]]
+
+if __name__=="__main__":
+	sys.path.extend(["app", "lib"])
+	import webnotes
+	webnotes.connect()
+
+	from webnotes.test_runner import make_test_records
+	make_test_records("Leave Application")
+
+	unittest.main()
+
diff --git a/public/js/toolbar.js b/public/js/toolbar.js
index fd7109a..8fd3d98 100644
--- a/public/js/toolbar.js
+++ b/public/js/toolbar.js
@@ -52,7 +52,7 @@
 	$('<li class="dropdown">\
 		<a class="dropdown-toggle" data-toggle="dropdown" href="#"\
 			title="'+wn._("Modules")+'"\
-			onclick="return false;"><i class="icon-th"></i> <b class="caret"></b></a>\
+			onclick="return false;"><i class="icon-th"></i></a>\
 		<ul class="dropdown-menu modules">\
 		</ul>\
 		</li>').prependTo('.navbar .nav:first');