diff --git a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.js b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.js
index 28553e3..bb57562 100644
--- a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.js
+++ b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.js
@@ -3,6 +3,12 @@
 
 frappe.ui.form.on('Compensatory Leave Request', {
 	refresh: function(frm) {
-
+		frm.set_query("leave_type", function() {
+			return {
+				filters: {
+					"is_compensatory": true
+				}
+			};
+		});
 	}
 });
diff --git a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py
index b51b46c..ec52228 100644
--- a/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py
+++ b/erpnext/hr/doctype/compensatory_leave_request/compensatory_leave_request.py
@@ -4,9 +4,42 @@
 
 from __future__ import unicode_literals
 import frappe
+from frappe import _
+from frappe.utils import date_diff
 from frappe.model.document import Document
+from erpnext.hr.utils import validate_dates, validate_overlap, get_leave_period
 
 class CompensatoryLeaveRequest(Document):
 
-	def validate_present(self):
-		pass
+	def validate(self):
+		validate_dates(self, self.work_from_date, self.work_end_date)
+		validate_overlap(self, self.work_from_date, self.work_end_date)
+
+	def on_submit(self):
+		if not self.leave_type:
+			frappe.throw(_("Please select a leave type to submit the request"))
+		else:
+			company = frappe.db.get_value("Employee", self.employee, "company")
+			leave_period = get_leave_period(self.work_from_date, self.work_end_date, company)
+			if leave_period:
+				self.create_leave_allocation(leave_period)
+			else:
+				frappe.throw(_("There is no leave period in between {0} and {1}").format(self.work_from_date, self.work_end_date))
+
+	def create_leave_allocation(self, leave_period):
+		date_difference = date_diff(self.work_end_date, self.work_from_date) + 1
+		is_carry_forward = frappe.db.get_value("Leave Type", self.leave_type, "is_carry_forward")
+		allocation = frappe.new_doc("Leave Allocation")
+		allocation.employee = self.employee
+		allocation.employee_name = self.employee_name
+		allocation.leave_type = self.leave_type
+		allocation.from_date = self.work_from_date
+		allocation.to_date = self.work_end_date
+		allocation.new_leaves_allocated = date_difference
+		allocation.total_leaves_allocated = date_difference
+		allocation.compensatory_request = self.name
+		allocation.description = self.reason
+		if is_carry_forward == 1:
+			allocation.carry_forward = True
+		allocation.save(ignore_permissions = True)
+		allocation.submit()
