refactor: move pause SLA configuration to SLA DocType
diff --git a/erpnext/patches/v13_0/update_sla_enhancements.py b/erpnext/patches/v13_0/update_sla_enhancements.py
index 884d01b..2356fb2 100644
--- a/erpnext/patches/v13_0/update_sla_enhancements.py
+++ b/erpnext/patches/v13_0/update_sla_enhancements.py
@@ -4,7 +4,6 @@
 from __future__ import unicode_literals
 
 import frappe
-from erpnext.setup.install import add_sla_hold_statuses_to_support_settings
 
 def execute():
 	# add holiday list and employee group fields in SLA
@@ -79,9 +78,6 @@
 
 	frappe.delete_doc('DocType', 'Service Level')
 
-	# add SLA hold statuses to Support Settings
-	add_sla_hold_statuses_to_support_settings()
-
 
 def convert_to_seconds(value, unit):
 	seconds = 0
diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py
index 90e5f5a..74ff0ec 100644
--- a/erpnext/setup/install.py
+++ b/erpnext/setup/install.py
@@ -25,7 +25,6 @@
 	create_default_success_action()
 	create_default_energy_point_rules()
 	add_company_to_session_defaults()
-	add_sla_hold_statuses_to_support_settings()
 	frappe.db.commit()
 
 
@@ -107,12 +106,3 @@
 	})
 	settings.save()
 
-def add_sla_hold_statuses_to_support_settings():
-	settings = frappe.get_single("Support Settings")
-	settings.append("pause_sla_on_status", {
-		"status": "Replied"
-	})
-	settings.append("pause_sla_on_status", {
-		"status": "Hold"
-	})
-	settings.save()
diff --git a/erpnext/support/doctype/issue/issue.js b/erpnext/support/doctype/issue/issue.js
index 32a7773..e7e5bd3 100644
--- a/erpnext/support/doctype/issue/issue.js
+++ b/erpnext/support/doctype/issue/issue.js
@@ -43,11 +43,11 @@
 				frappe.call({
 					'method': 'frappe.client.get',
 					args: {
-						doctype: 'Support Settings',
-						name: 'Support Settings'
+						doctype: 'Service Level Agreement',
+						name: frm.doc.service_level_agreement
 					},
 					callback: function(data) {
-						let statuses = data.message.pause_sla_on_status;
+						let statuses = data.message.pause_sla_on;
 						const hold_statuses = [];
 						$.each(statuses, (_i, entry) => {
 							hold_statuses.push(entry.status);
diff --git a/erpnext/support/doctype/issue/issue.py b/erpnext/support/doctype/issue/issue.py
index 146eb5a..4003047 100644
--- a/erpnext/support/doctype/issue/issue.py
+++ b/erpnext/support/doctype/issue/issue.py
@@ -78,9 +78,10 @@
 		self.handle_hold_time(status)
 
 	def handle_hold_time(self, status):
-		if frappe.db.get_single_value("Support Settings", "track_service_level_agreement"):
+		if self.service_level_agreement:
 			# set response and resolution variance as None as the issue is on Hold for status as Replied
-			pause_sla_on = frappe.db.get_all("Pause SLA On Status", fields=["status"])
+			pause_sla_on = frappe.db.get_all("Pause SLA On Status", fields=["status"],
+				filters={"parent": self.service_level_agreement})
 			hold_statuses = [entry.status for entry in pause_sla_on]
 
 			if self.status in hold_statuses and status not in hold_statuses:
diff --git a/erpnext/support/doctype/issue/test_issue.py b/erpnext/support/doctype/issue/test_issue.py
index 93a6005..a004843 100644
--- a/erpnext/support/doctype/issue/test_issue.py
+++ b/erpnext/support/doctype/issue/test_issue.py
@@ -5,7 +5,6 @@
 import frappe
 import unittest
 from erpnext.support.doctype.service_level_agreement.test_service_level_agreement import create_service_level_agreements_for_issues
-from erpnext.setup.install import add_sla_hold_statuses_to_support_settings
 from frappe.utils import now_datetime, get_datetime
 import datetime
 from datetime import timedelta
@@ -101,7 +100,6 @@
 		self.assertEqual(issue.user_resolution_time, 1200)
 
 	def test_hold_time_on_replied(self):
-		add_sla_hold_statuses_to_support_settings()
 		creation = datetime.datetime(2020, 3, 4, 4, 0)
 
 		issue = make_issue(creation, index=1)
diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement.js b/erpnext/support/doctype/service_level_agreement/service_level_agreement.js
index 7aeaae4..5346195 100644
--- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.js
+++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.js
@@ -2,5 +2,15 @@
 // For license information, please see license.txt
 
 frappe.ui.form.on('Service Level Agreement', {
+	setup: function(frm) {
+		let allow_statuses = [];
+		const exclude_statuses = ['Open', 'Closed', 'Resolved'];
 
-});
+		frappe.model.with_doctype('Issue', () => {
+			let statuses = frappe.meta.get_docfield('Issue', 'status', frm.doc.name).options;
+			statuses = statuses.split('\n');
+			allow_statuses = statuses.filter((status) => !exclude_statuses.includes(status));
+			frappe.meta.get_docfield('Pause SLA On Status', 'status', frm.doc.name).options = [''].concat(allow_statuses);
+		});
+	}
+});
\ No newline at end of file
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 ede5f98..e65169c 100644
--- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.json
+++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.json
@@ -23,6 +23,8 @@
   "active",
   "column_break_7",
   "end_date",
+  "section_break_18",
+  "pause_sla_on",
   "response_and_resolution_time_section",
   "priorities",
   "support_and_resolution_section_break",
@@ -160,10 +162,25 @@
    "read_only": 1,
    "show_days": 1,
    "show_seconds": 1
+  },
+  {
+   "fieldname": "section_break_18",
+   "fieldtype": "Section Break",
+   "hide_border": 1,
+   "show_days": 1,
+   "show_seconds": 1
+  },
+  {
+   "fieldname": "pause_sla_on",
+   "fieldtype": "Table",
+   "label": "Pause SLA On",
+   "options": "Pause SLA On Status",
+   "show_days": 1,
+   "show_seconds": 1
   }
  ],
  "links": [],
- "modified": "2020-05-26 16:02:59.859980",
+ "modified": "2020-06-05 17:51:15.050785",
  "modified_by": "Administrator",
  "module": "Support",
  "name": "Service Level Agreement",
diff --git a/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py
index 26740ed..0746a9c 100644
--- a/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py
+++ b/erpnext/support/doctype/service_level_agreement/test_service_level_agreement.py
@@ -115,6 +115,11 @@
 				"resolution_time_period": "Hour",
 			}
 		],
+		"pause_sla_on": [
+			{
+				"status": "Replied"
+			}
+		],
 		"support_and_resolution": [
 			{
 				"workday": "Monday",
diff --git a/erpnext/support/doctype/support_settings/support_settings.js b/erpnext/support/doctype/support_settings/support_settings.js
index 33ddf0b..78adca8 100644
--- a/erpnext/support/doctype/support_settings/support_settings.js
+++ b/erpnext/support/doctype/support_settings/support_settings.js
@@ -2,15 +2,7 @@
 // For license information, please see license.txt
 
 frappe.ui.form.on('Support Settings', {
-	setup: function(frm) {
-		let allow_statuses = [];
-		const exclude_statuses = ['Open', 'Closed', 'Resolved'];
-
-		frappe.model.with_doctype('Issue', () => {
-			let statuses = frappe.meta.get_docfield('Issue', 'status', frm.doc.name).options;
-			statuses = statuses.split('\n');
-			allow_statuses = statuses.filter((status) => !exclude_statuses.includes(status));
-			frappe.meta.get_docfield('Pause SLA On Status', 'status', frm.doc.name).options = [''].concat(allow_statuses);
-		});
+	refresh: function(frm) {
+		//
 	}
 });
diff --git a/erpnext/support/doctype/support_settings/support_settings.json b/erpnext/support/doctype/support_settings/support_settings.json
index da4b607..1c1b0c3 100644
--- a/erpnext/support/doctype/support_settings/support_settings.json
+++ b/erpnext/support/doctype/support_settings/support_settings.json
@@ -10,7 +10,6 @@
   "allow_resetting_service_level_agreement",
   "issues_sb",
   "close_issue_after_days",
-  "pause_sla_on_status",
   "portal_sb",
   "get_started_sections",
   "show_latest_forum_posts",
@@ -128,20 +127,11 @@
    "fieldname": "allow_resetting_service_level_agreement",
    "fieldtype": "Check",
    "label": "Allow Resetting Service Level Agreement"
-  },
-  {
-   "depends_on": "eval:doc.track_service_level_agreement;",
-   "fieldname": "pause_sla_on_status",
-   "fieldtype": "Table",
-   "label": "Pause SLA On",
-   "options": "Pause SLA On Status",
-   "show_days": 1,
-   "show_seconds": 1
   }
  ],
  "issingle": 1,
  "links": [],
- "modified": "2020-06-05 16:35:13.905096",
+ "modified": "2020-06-05 17:56:17.491684",
  "modified_by": "Administrator",
  "module": "Support",
  "name": "Support Settings",