removed calendar and  fix
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 1a74839..be87d44 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -169,5 +169,6 @@
 	"patches.february_2013.update_company_in_leave_application",
 	"execute:webnotes.conn.sql_ddl('alter table tabSeries change `name` `name` varchar(100)')",
 	"execute:webnotes.conn.sql('update tabUserRole set parentfield=\"user_roles\" where parentfield=\"userroles\"')",
-	"patches.february_2013.fix_outstanding"
+	"patches.february_2013.fix_outstanding",
+	"execute:webnotes.delete_doc('Page', 'Calendar')"
 ]
\ No newline at end of file
diff --git a/utilities/page/calendar/__init__.py b/utilities/page/calendar/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/utilities/page/calendar/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/utilities/page/calendar/calendar.js b/utilities/page/calendar/calendar.js
deleted file mode 100644
index 033e906..0000000
--- a/utilities/page/calendar/calendar.js
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright (c) 2012 Web Notes Technologies Pvt Ltd (http://erpnext.com)
-// 
-// MIT License (MIT)
-// 
-// Permission is hereby granted, free of charge, to any person obtaining a 
-// copy of this software and associated documentation files (the "Software"), 
-// to deal in the Software without restriction, including without limitation 
-// the rights to use, copy, modify, merge, publish, distribute, sublicense, 
-// and/or sell copies of the Software, and to permit persons to whom the 
-// Software is furnished to do so, subject to the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included in 
-// all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
-// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
-// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
-// OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-// 
-
-wn.provide("erpnext.calendar");
-
-pscript.onload_calendar = function(wrapper) {
-	
-	
-	
-	wn.ui.make_app_page({
-		parent: wrapper,
-		single_column: true,
-		title: 'Calendar'
-	});
-	
-	wn.require('lib/js/lib/fullcalendar/fullcalendar.css');
-	wn.require('lib/js/lib/fullcalendar/fullcalendar.js');
-}
-
-pscript.onshow_calendar = function(wrapper) {
-	if(!wrapper.setup_complete) {
-		erpnext.calendar.setup(wrapper);
-	} else {
-		$("#fullcalendar").fullCalendar("refetchEvents");
-	}
-}
-
-erpnext.calendar.setup = function(wrapper) {
-	wn.model.with_doctype("Event", function() {
-		$('<div id="fullcalendar">').appendTo($(wrapper).find('.layout-main')).fullCalendar({
-			header: {
-				left: 'prev,next today',
-				center: 'title',
-				right: 'month,agendaWeek,agendaDay'
-			},
-			editable: true,
-			selectable: true,
-			selectHelper: true,
-			events: function(start, end, callback) {
-				wn.call({
-					method: 'utilities.page.calendar.calendar.get_events',
-					type: "GET",
-					args: {
-						start: dateutil.obj_to_str(start),
-						end: dateutil.obj_to_str(end),
-						company: wn.user.get_default("company")[0],
-						employee: wn.user.get_default("employee")[0]
-					},
-					callback: function(r) {
-						var events = r.message;
-						$.each(events, function(i, d) { 
-							d.editable = d.owner==user;
-							var options = erpnext.calendar.event_options[d.doctype];
-							if(options && options.prepare)
-								options.prepare(d);
-						});
-						callback(events);
-					}
-				})
-			},
-			eventClick: function(event, jsEvent, view) {
-				// edit event description or delete
-				var options = erpnext.calendar.event_options[event.doctype];
-				if(options && options.click)
-					options.click(event);
-			},
-			eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc) {
-				erpnext.calendar.update_event(event);
-			},
-			eventResize: function(event, dayDelta, minuteDelta, allDay, revertFunc) {
-				erpnext.calendar.update_event(event);
-			},
-			select: function(startDate, endDate, allDay, jsEvent, view) {
-				if(jsEvent.day_clicked && view.name=="month")
-					return;
-				var event = wn.model.get_new_doc("Event");
-				event.starts_on = wn.datetime.get_datetime_as_string(startDate);
-				event.ends_on = wn.datetime.get_datetime_as_string(endDate);
-				event.all_day = allDay ? 1 : 0;
-				wn.set_route("Form", "Event", event.name);
-			},
-			dayClick: function(date, allDay, jsEvent, view) {
-				jsEvent.day_clicked = true;
-				$("#fullcalendar").fullCalendar("gotoDate", date)
-				return false;
-			}
-		});
-	});
-
-	wrapper.setup_complete = true;
-	
-}
-
-erpnext.calendar.update_event = function(event) {
-	wn.model.remove_from_locals("Event", event.id);
-	wn.call({
-		module: "utilities",
-		page: "calendar",
-		method: "update_event",
-		args: {
-			"start": wn.datetime.get_datetime_as_string(event.start),
-			"end": wn.datetime.get_datetime_as_string(event.end),
-			"all_day": event.allDay,
-			"name": event.id
-		},
-		callback: function(r) {
-			if(r.exc) {
-				show_alert("Unable to update event.")
-			}
-		}
-	});
-}
-
-erpnext.calendar.event_options = {
-	"Leave Block List Date": {
-		prepare: function(d) {
-			d.color = "#aaa";
-		}
-	},
-	"Event": {
-		prepare: function(d) {
-			if(d.event_type=="Public") {
-				d.color = "#57AF5B";
-			}
-		},
-		click: function(event) {
-			wn.set_route("Form", "Event", event.id);
-		}
-	},
-	"Leave Application": {
-		prepare: function(d) {
-			d.color = "#4F9F96";
-		},
-		click: function(event) {
-			if(event.employee==wn.user.get_default("employee")[0]) {
-				wn.set_route("Form", "Leave Application", event.id);
-			}
-		}
-	}
-}
-
diff --git a/utilities/page/calendar/calendar.py b/utilities/page/calendar/calendar.py
deleted file mode 100644
index 06d4385..0000000
--- a/utilities/page/calendar/calendar.py
+++ /dev/null
@@ -1,85 +0,0 @@
-from __future__ import unicode_literals
-
-import webnotes
-from webnotes import _
-
-@webnotes.whitelist()
-def get_events(start, end, employee=None, company=None):
-	roles = webnotes.get_roles()
-	events = webnotes.conn.sql("""select name as `id`, subject as title, 
-		starts_on as `start`, ends_on as `end`, "Event" as doctype, owner,
-		all_day as allDay, event_type 
-		from tabEvent where (
-			(starts_on between %s and %s)
-			or (ends_on between %s and %s)
-		)
-		and (event_type='Public' or owner=%s
-		or exists(select * from `tabEvent User` where 
-			`tabEvent User`.parent=tabEvent.name and person=%s)
-		or exists(select * from `tabEvent Role` where 
-			`tabEvent Role`.parent=tabEvent.name 
-			and `tabEvent Role`.role in ('%s')))""" % ('%s', '%s', '%s', '%s', '%s', '%s', 
-			"', '".join(roles)), (start, end, start, end,
-			webnotes.session.user, webnotes.session.user), as_dict=1)
-			
-
-	if employee:
-		add_block_dates(events, start, end, employee, company)
-		add_department_leaves(events, start, end, employee, company)
-
-	return events
-
-def add_department_leaves(events, start, end, employee, company):
-	department = webnotes.conn.get_value("Employee", employee, "department")
-	
-	if not department:
-		return
-	
-	# department leaves
-	department_employees = webnotes.conn.sql_list("select name from tabEmployee where department=%s", 
-		department)
-	
-	for d in webnotes.conn.sql("""select name, from_date, to_date, employee_name, half_day, 
-		status, employee
-		from `tabLeave Application` where
-		(from_date between %s and %s or to_date between %s and %s)
-		and docstatus < 2
-		and status!="Rejected"
-		and employee in ('%s')""" % ("%s", "%s", "%s", "%s", "', '".join(department_employees)), 
-			(start, end, start, end), as_dict=True):
-			events.append({
-				"id": d.name,
-				"employee": d.employee,
-				"doctype": "Leave Application",
-				"start": d.from_date,
-				"end": d.to_date,
-				"allDay": True,
-				"status": d.status,
-				"title": _("Leave by") + " " +  d.employee_name + \
-					(d.half_day and _(" (Half Day)") or "")
-			})
-	
-
-def add_block_dates(events, start, end, employee, company):
-	# block days
-	from hr.doctype.leave_block_list.leave_block_list import get_applicable_block_dates
-
-	cnt = 0
-	block_dates = get_applicable_block_dates(start, end, employee, company, all_lists=True)
-
-	for block_date in block_dates:
-		events.append({
-			"doctype": "Leave Block List Date",
-			"start": block_date.block_date,
-			"title": _("Leave Blocked") + ": " + block_date.reason,
-			"id": "_" + str(cnt),
-			"allDay": True
-		})
-		cnt+=1
-	
-
-@webnotes.whitelist()
-def update_event(name, start, end):
-	webnotes.conn.sql("""update tabEvent set starts_on=%s, ends_on=%s where 
-		name=%s""", (start, end, name))
-	
\ No newline at end of file
diff --git a/utilities/page/calendar/calendar.txt b/utilities/page/calendar/calendar.txt
deleted file mode 100644
index d8e30e4..0000000
--- a/utilities/page/calendar/calendar.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-[
- {
-  "owner": "Administrator", 
-  "docstatus": 0, 
-  "creation": "2012-02-24 11:24:12", 
-  "modified_by": "Administrator", 
-  "modified": "2012-02-24 11:24:12"
- }, 
- {
-  "name": "__common__", 
-  "title": "Calendar", 
-  "module": "Utilities", 
-  "doctype": "Page", 
-  "page_name": "calendar", 
-  "standard": "Yes"
- }, 
- {
-  "name": "calendar", 
-  "doctype": "Page"
- }
-]
\ No newline at end of file