diff --git a/erpnext/support/doctype/issue/issue.py b/erpnext/support/doctype/issue/issue.py
index c50a288..b47f710 100644
--- a/erpnext/support/doctype/issue/issue.py
+++ b/erpnext/support/doctype/issue/issue.py
@@ -135,9 +135,11 @@
 			customer=self.customer, service_level_agreement=service_level_agreement)
 
 		if not service_level_agreement:
+			if frappe.db.get_value("Issue", self.name, "service_level_agreement"):
+				frappe.throw(_("Couldn't Set Service Level Agreement {0}.".format(self.service_level_agreement)))
 			return
 
-		if service_level_agreement.customer and self.customer and not service_level_agreement.customer == self.customer:
+		if (service_level_agreement.customer and self.customer) and not (service_level_agreement.customer == self.customer):
 			frappe.throw(_("This Service Level Agreement is specific to Customer {0}".format(service_level_agreement.customer)))
 
 		self.service_level_agreement = service_level_agreement.name
diff --git a/erpnext/support/doctype/service_level/service_level.json b/erpnext/support/doctype/service_level/service_level.json
index 71e12c0..d4ce7d3 100644
--- a/erpnext/support/doctype/service_level/service_level.json
+++ b/erpnext/support/doctype/service_level/service_level.json
@@ -7,6 +7,7 @@
  "field_order": [
   "service_level",
   "employee_group",
+  "priorities_list",
   "column_break_2",
   "holiday_list",
   "default_priority",
@@ -73,9 +74,15 @@
    "label": "Default Priority",
    "options": "Issue Priority",
    "read_only": 1
+  },
+  {
+   "fieldname": "priorities_list",
+   "fieldtype": "Long Text",
+   "hidden": 1,
+   "label": "Priorities List"
   }
  ],
- "modified": "2019-05-21 20:53:11.731727",
+ "modified": "2019-05-25 20:18:00.240337",
  "modified_by": "Administrator",
  "module": "Support",
  "name": "Service Level",
diff --git a/erpnext/support/doctype/service_level/service_level.py b/erpnext/support/doctype/service_level/service_level.py
index 857a216..80e4e22 100644
--- a/erpnext/support/doctype/service_level/service_level.py
+++ b/erpnext/support/doctype/service_level/service_level.py
@@ -13,6 +13,7 @@
 
 	def validate(self):
 		self.check_priorities()
+		self.set_priorities()
 		self.check_support_and_resolution()
 
 	def check_priorities(self):
@@ -56,7 +57,18 @@
 			frappe.throw(_("Select only one Priority as Default."))
 
 		# set default priority from priorities
-		self.default_priority = next(d.priority for d in self.priorities if d.default_priority)
+		try:
+			self.default_priority = next(d.priority for d in self.priorities if d.default_priority)
+		except Exception:
+			frappe.throw(_("Select a Default Priority."))
+
+	def set_priorities(self):
+		priorities = []
+
+		for priority in self.priorities:
+			priorities.append(priority.priority)
+
+		self.priorities_list = ",".join(priorities)
 
 	def check_support_and_resolution(self):
 		week = get_weekdays()
diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement.json b/erpnext/support/doctype/service_level_agreement/service_level_agreement.json
index b3166f0..98baa6e 100644
--- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.json
+++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.json
@@ -8,8 +8,8 @@
   "service_level_agreement_name",
   "customer",
   "default_service_level_agreement",
-  "ignore_customer_and_default_sla",
   "holiday_list",
+  "priorities_list",
   "column_break_2",
   "service_level",
   "employee_group",
@@ -27,7 +27,7 @@
  ],
  "fields": [
   {
-   "depends_on": "eval: !doc.default_service_level_agreement;\neval: !doc.ignore_customer_and_default_sla;",
+   "depends_on": "eval: !doc.default_service_level_agreement;",
    "fieldname": "customer",
    "fieldtype": "Link",
    "in_list_view": 1,
@@ -37,7 +37,7 @@
   },
   {
    "default": "0",
-   "depends_on": "eval: !doc.customer;\neval: !doc.ignore_customer_and_default_sla;",
+   "depends_on": "eval: !doc.customer;",
    "fieldname": "default_service_level_agreement",
    "fieldtype": "Check",
    "in_list_view": 1,
@@ -151,13 +151,14 @@
    "read_only": 1
   },
   {
-   "default": "0",
-   "fieldname": "ignore_customer_and_default_sla",
-   "fieldtype": "Check",
-   "label": "Ignore Customer and Default SLA"
+   "fetch_from": "service_level.priorities_list",
+   "fieldname": "priorities_list",
+   "fieldtype": "Text",
+   "hidden": 1,
+   "label": "Priorities List"
   }
  ],
- "modified": "2019-05-21 21:53:12.686806",
+ "modified": "2019-05-25 20:20:41.231834",
  "modified_by": "Administrator",
  "module": "Support",
  "name": "Service Level Agreement",
diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
index 61c6cac..d1d0407 100644
--- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
+++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
@@ -20,7 +20,7 @@
 			if not self.ignore_start_and_end_date and self.start_date >= self.end_date:
 				frappe.throw(_("Start Date of Agreement can't be greater than or equal to End Date."))
 
-			if not self.ignore_start_and_end_date and self.end_date < frappe.utils.getdate():
+			if not self.ignore_start_and_end_date and self.end_date < frappe.utils.today():
 				frappe.throw(_("End Date of Agreement can't be less than today."))
 
 	def get_service_level_agreement_priority(self, priority):
@@ -54,7 +54,7 @@
 		filters.append(["Service Level Priority", "priority", "=", priority])
 
 	or_filters = [
-		["Service Level Agreement", "customer", "=", customer],
+		["Service Level Agreement", "customer", "=", customer]
 	]
 	if service_level_agreement:
 		or_filters = [
