fix: remove frm call for priority change
diff --git a/erpnext/patches/v12_0/set_priority_for_support.py b/erpnext/patches/v12_0/set_priority_for_support.py
index cc29039..4eae065 100644
--- a/erpnext/patches/v12_0/set_priority_for_support.py
+++ b/erpnext/patches/v12_0/set_priority_for_support.py
@@ -18,6 +18,8 @@
 				"name": priority
 			}).insert(ignore_permissions=True)
 
+	frappe.delete_doc_if_exists("Property Setter", {"field_name": "priority", "property": "options"})
+
 def set_priority_for_issue():
 	# Sets priority for Issues as Select field is changed to Link field.
 	issue_priority = frappe.get_list("Issue", fields=["name", "priority"])
diff --git a/erpnext/support/doctype/issue/issue.js b/erpnext/support/doctype/issue/issue.js
index ba54edc..1a272d1 100644
--- a/erpnext/support/doctype/issue/issue.js
+++ b/erpnext/support/doctype/issue/issue.js
@@ -73,27 +73,6 @@
 		}
 	},
 
-	priority: function(frm) {
-		if (frm.doc.service_level_agreement) {
-			frm.call('change_service_level_agreement_and_priority', {
-				"priority": frm.doc.priority,
-				"service_level_agreement": frm.doc.service_level_agreement
-			}).then(() => {
-				frappe.msgprint(__("Issue Priority changed to {0}.", [frm.doc.priority]));
-				frm.refresh();
-			});
-		}
-	},
-
-	service_level_agreement: function(frm) {
-		frm.call('change_service_level_agreement_and_priority', {
-			"service_level_agreement": frm.doc.service_level_agreement
-		}).then(() => {
-			frappe.msgprint(__("Service Level Agreement changed to {0}.", [frm.doc.service_level_agreement]));
-			frm.refresh();
-		});
-	},
-
 	timeline_refresh: function(frm) {
 		// create button for "Help Article"
 		if(frappe.model.can_create('Help Article')) {
diff --git a/erpnext/support/doctype/issue/issue.py b/erpnext/support/doctype/issue/issue.py
index 70430b1..3b703d9 100644
--- a/erpnext/support/doctype/issue/issue.py
+++ b/erpnext/support/doctype/issue/issue.py
@@ -29,6 +29,7 @@
 		if not self.raised_by:
 			self.raised_by = frappe.session.user
 
+		self.change_service_level_agreement_and_priority()
 		self.update_status()
 		self.set_lead_contact(self.raised_by)
 
@@ -173,9 +174,14 @@
 		self.response_by_variance = round(time_diff_in_hours(self.response_by, now_datetime()))
 		self.resolution_by_variance = round(time_diff_in_hours(self.resolution_by, now_datetime()))
 
-	def change_service_level_agreement_and_priority(self, priority=None, service_level_agreement=None):
-		self.set_response_and_resolution_time(priority=priority, service_level_agreement=service_level_agreement)
-		self.save(ignore_permissions=True)
+	def change_service_level_agreement_and_priority(self):
+		if not self.priority == frappe.db.get_value("Issue", self.name, "priority"):
+			self.set_response_and_resolution_time(priority=self.priority, service_level_agreement=self.service_level_agreement)
+			frappe.msgprint("Priority has been updated.")
+
+		if not self.service_level_agreement == frappe.db.get_value("Issue", self.name, "service_level_agreement"):
+			self.set_response_and_resolution_time(priority=self.priority, service_level_agreement=self.service_level_agreement)
+			frappe.msgprint("Service Level Agreement has been updated.")
 
 def get_expected_time_for(parameter, service_level, start_date_time):
 	current_date_time = start_date_time
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 332bf63..5536cc9 100644
--- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
+++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
@@ -18,7 +18,7 @@
 				if self.start_date >= self.end_date:
 					frappe.throw(_("Start Date of Agreement can't be greater than or equal to End Date."))
 
-				if self.end_date < frappe.utils.getdate():
+				if self.end_date < frappe.utils.nowdate():
 					frappe.throw(_("End Date of Agreement can't be less than today."))
 
 		if self.entity_type and self.entity: