Removed Fiscal Year from Holiday List and Calendar
diff --git a/erpnext/hr/doctype/holiday_list/holiday_list.json b/erpnext/hr/doctype/holiday_list/holiday_list.json
index 999709d..ed6bea4 100644
--- a/erpnext/hr/doctype/holiday_list/holiday_list.json
+++ b/erpnext/hr/doctype/holiday_list/holiday_list.json
@@ -17,6 +17,7 @@
    "fieldtype": "Data", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_list_view": 1, 
    "label": "Holiday List Name", 
@@ -26,6 +27,7 @@
    "oldfieldtype": "Data", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 1, 
@@ -41,6 +43,7 @@
    "fieldtype": "Check", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_list_view": 1, 
    "label": "Default", 
@@ -48,6 +51,7 @@
    "no_copy": 0, 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -59,20 +63,45 @@
    "allow_on_submit": 0, 
    "bold": 0, 
    "collapsible": 0, 
-   "fieldname": "fiscal_year", 
-   "fieldtype": "Link", 
+   "fieldname": "from_date", 
+   "fieldtype": "Date", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
-   "in_filter": 1, 
-   "in_list_view": 1, 
-   "label": "Fiscal Year", 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "From Date", 
    "length": 0, 
    "no_copy": 0, 
-   "oldfieldname": "fiscal_year", 
-   "oldfieldtype": "Link", 
-   "options": "Fiscal Year", 
    "permlevel": 0, 
+   "precision": "", 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "report_hide": 0, 
+   "reqd": 1, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "fieldname": "to_date", 
+   "fieldtype": "Date", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_list_view": 0, 
+   "label": "To Date", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 1, 
@@ -88,6 +117,7 @@
    "fieldtype": "Select", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_list_view": 1, 
    "label": "Weekly Off", 
@@ -96,6 +126,7 @@
    "options": "\nSunday\nMonday\nTuesday\nWednesday\nThursday\nFriday\nSaturday", 
    "permlevel": 0, 
    "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 1, 
    "reqd": 0, 
@@ -111,6 +142,7 @@
    "fieldtype": "Button", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
    "label": "Get Weekly Off Dates", 
@@ -119,6 +151,7 @@
    "options": "get_weekly_off_dates", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -134,6 +167,7 @@
    "fieldtype": "Table", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
    "label": "Holidays", 
@@ -144,6 +178,7 @@
    "options": "Holiday", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -159,6 +194,7 @@
    "fieldtype": "Button", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
    "in_filter": 0, 
    "in_list_view": 0, 
    "label": "Clear Table", 
@@ -167,6 +203,7 @@
    "options": "clear_table", 
    "permlevel": 0, 
    "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -185,7 +222,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2015-11-16 06:29:47.519087", 
+ "modified": "2016-03-07 05:54:39.627872", 
  "modified_by": "Administrator", 
  "module": "HR", 
  "name": "Holiday List", 
diff --git a/erpnext/hr/doctype/holiday_list/holiday_list.py b/erpnext/hr/doctype/holiday_list/holiday_list.py
index b1cbca3..a796403 100644
--- a/erpnext/hr/doctype/holiday_list/holiday_list.py
+++ b/erpnext/hr/doctype/holiday_list/holiday_list.py
@@ -5,20 +5,21 @@
 import frappe
 
 from frappe.utils import cint
-from frappe.model.naming import make_autoname
 from frappe import throw, _
-
 from frappe.model.document import Document
 
+class OverlapError(frappe.ValidationError): pass
+
 class HolidayList(Document):
 	def validate(self):
 		self.update_default_holiday_list()
+		self.validate_time_period()
+		self.validate_days()
 
 	def get_weekly_off_dates(self):
 		self.validate_values()
-		self.validate_days()
-		yr_start_date, yr_end_date = get_fy_start_end_dates(self.fiscal_year)
-		date_list = self.get_weekly_off_date_list(yr_start_date, yr_end_date)
+		self.validate_weekly_days()
+		date_list = self.get_weekly_off_date_list(self.from_date, self.to_date)
 		last_idx = max([cint(d.idx) for d in self.get("holidays")] or [0,])
 		for i, d in enumerate(date_list):
 			ch = self.append('holidays', {})
@@ -27,19 +28,44 @@
 			ch.idx = last_idx + i + 1
 
 	def validate_values(self):
-		if not self.fiscal_year:
-			throw(_("Please select Fiscal Year"))
 		if not self.weekly_off:
 			throw(_("Please select weekly off day"))
 
-	def validate_days(self):
+	def validate_weekly_days(self):
 		for day in self.get("holidays"):
 			if (self.weekly_off or "").upper() == (day.description or "").upper():
 				frappe.throw("Records already exist for mentioned weekly off")
 
-	def get_weekly_off_date_list(self, year_start_date, year_end_date):
+	def validate_days(self):
+		for day in self.get("holidays"):
+			if not self.from_date <= day.holiday_date <= self.to_date:
+				frappe.throw("Date not between From Date and To Date")
+	
+	def validate_time_period(self):
+		if self.from_date > self.to_date:
+			throw(_("To Date cannot be before From Date"))
+
+		existing = frappe.db.sql("""select holiday_list_name, from_date, to_date from `tabHoliday List`
+			where
+			(
+				(%(from_date)s > from_date and %(from_date)s < to_date) or 
+				(%(to_date)s > from_date and %(to_date)s < to_date) or 
+				(%(from_date)s <= from_date and %(to_date)s >= to_date))
+			and name!=%(name)s""",
+			{
+				"from_date": self.from_date,
+				"to_date": self.to_date,
+				"name": self.holiday_list_name
+			}, as_dict=True)
+
+		if existing:
+			frappe.throw(_("This Time Period conflicts with {0} ({1} to {2})").format(existing[0].holiday_list_name,
+				 existing[0].from_date, existing[0].to_date, OverlapError))
+
+
+	def get_weekly_off_date_list(self, start_date, end_date):
 		from frappe.utils import getdate
-		year_start_date, year_end_date = getdate(year_start_date), getdate(year_end_date)
+		year_start_date, year_end_date = getdate(start_date), getdate(end_date)
 
 		from dateutil import relativedelta
 		from datetime import timedelta
@@ -60,40 +86,20 @@
 
 	def update_default_holiday_list(self):
 		frappe.db.sql("""update `tabHoliday List` set is_default = 0
-			where is_default = 1 and fiscal_year = %s""", (self.fiscal_year,))
+			where is_default = 1""")
 
 @frappe.whitelist()
 def get_events(start, end, filters=None):
-	import json
 	"""Returns events for Gantt / Calendar view rendering.
 
 	:param start: Start date-time.
 	:param end: End date-time.
 	:param filters: Filters (JSON).
 	"""
-	from frappe.desk.calendar import get_event_conditions
-	conditions = get_event_conditions("Holiday List", filters)
-
-	fiscal_year = None
-	if filters:
-		fiscal_year = json.loads(filters).get("fiscal_year")
-
-	if not fiscal_year:
-		fiscal_year = frappe.db.get_value("Global Defaults", None, "current_fiscal_year")
-
-	yr_start_date, yr_end_date = get_fy_start_end_dates(fiscal_year)
 
 	data = frappe.db.sql("""select hl.name, hld.holiday_date, hld.description
 		from `tabHoliday List` hl, tabHoliday hld
 		where hld.parent = hl.name
-		and (ifnull(hld.holiday_date, "0000-00-00") != "0000-00-00"
-			and hld.holiday_date between %(start)s and %(end)s)
-		{conditions}""".format(conditions=conditions), {
-			"start": yr_start_date,
-			"end": yr_end_date
-		}, as_dict=True, update={"allDay": 1})
-
+		and ifnull(hld.holiday_date, "0000-00-00") != "0000-00-00"
+		""", as_dict=True, update={"allDay": 1})
 	return data
-
-def get_fy_start_end_dates(fiscal_year):
-	return frappe.db.get_value("Fiscal Year", fiscal_year, ["year_start_date", "year_end_date"])
diff --git a/erpnext/hr/doctype/holiday_list/holiday_list_calendar.js b/erpnext/hr/doctype/holiday_list/holiday_list_calendar.js
index dee64de..cc24eb0 100644
--- a/erpnext/hr/doctype/holiday_list/holiday_list_calendar.js
+++ b/erpnext/hr/doctype/holiday_list/holiday_list_calendar.js
@@ -9,14 +9,5 @@
 		"title": "description",
 		"allDay": "allDay"
 	},
-	filters: [
-		{
-			"fieldtype": "Link",
-			"fieldname": "fiscal_year",
-			"options": "Fiscal Year",
-			"label": __("Fiscal Year"),
-			"default": frappe.defaults.get_user_default("fiscal_year")
-		}
-	],
 	get_events_method: "erpnext.hr.doctype.holiday_list.holiday_list.get_events"
 }