From c119ded4e4a97fff8eee3ed9c8f97a848d4c8e61 Mon Sep 17 00:00:00 2001
From: Andreas Fernandez <a.fernandez@scripting-base.de>
Date: Mon, 15 Feb 2016 18:22:35 +0100
Subject: [PATCH] [TASK] Move Modal.getSeverityClass to Severity module

The method ``Modal.getSeverityClass`` is moved to the severity
module. The new method is called `Severity.getCssClass`.

Change-Id: I826ed7ff66ad726de8a97b0b1f0ace45d776d11c
Resolves: #73442
Releases: master
Reviewed-on: https://review.typo3.org/46678
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
---
 .../Resources/Public/JavaScript/GridEditor.js |  2 +-
 .../Resources/Public/JavaScript/Modal.js      | 29 +++++-------------
 .../Public/JavaScript/OnlineMedia.js          |  2 +-
 .../Resources/Public/JavaScript/Severity.js   | 30 ++++++++++++++++++-
 ...tyClassHasBeenMovedToTheSeverityModule.rst | 26 ++++++++++++++++
 5 files changed, 64 insertions(+), 25 deletions(-)
 create mode 100644 typo3/sysext/core/Documentation/Changelog/master/Deprecation-73442-ModalGetSeverityClassHasBeenMovedToTheSeverityModule.rst

diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/GridEditor.js b/typo3/sysext/backend/Resources/Public/JavaScript/GridEditor.js
index 37783910f3e2..69ce3a4a1f1d 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/GridEditor.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/GridEditor.js
@@ -387,7 +387,7 @@ define(['jquery', 'TYPO3/CMS/Backend/Modal', 'TYPO3/CMS/Backend/Severity', 'boot
 			},
 			{
 				text: $(this).data('button-ok-text') || TYPO3.lang['button.ok'] || 'OK',
-				btnClass: 'btn-' + Modal.getSeverityClass(Severity.notice),
+				btnClass: 'btn-' + Severity.getCssClass(Severity.notice),
 				name: 'ok'
 			}
 		]);
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Modal.js b/typo3/sysext/backend/Resources/Public/JavaScript/Modal.js
index dd57af51ecb6..5ad6a966aae6 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Modal.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Modal.js
@@ -76,28 +76,13 @@ define(['jquery',
 	 * @param {int} severity use constants from Severity.*
 	 * @returns {String}
 	 * @private
+	 * @deprecated
 	 */
 	Modal.getSeverityClass = function(severity) {
-		var severityClass;
-		switch (severity) {
-			case Severity.notice:
-				severityClass = 'notice';
-				break;
-			case Severity.ok:
-				severityClass = 'success';
-				break;
-			case Severity.warning:
-				severityClass = 'warning';
-				break;
-			case Severity.error:
-				severityClass = 'danger';
-				break;
-			case Severity.info:
-			default:
-				severityClass = 'info';
-				break;
+		if (console) {
+			console.warn('Modal.getSeverityClass() is deprecated and will be removed with TYPO3 v9, please use Severity.getCssClass()');
 		}
-		return severityClass;
+		return Severity.getCssClass(severity);
 	};
 
 	/**
@@ -124,7 +109,7 @@ define(['jquery',
 				},
 				{
 					text: $(this).data('button-ok-text') || TYPO3.lang['button.ok'] || 'OK',
-					btnClass: 'btn-' + Modal.getSeverityClass(severity),
+					btnClass: 'btn-' + Severity.getCssClass(severity),
 					name: 'ok'
 				}
 			];
@@ -203,7 +188,7 @@ define(['jquery',
 			currentModal.find('.modal-body').html(content);
 		}
 
-		currentModal.addClass('t3-modal-' + Modal.getSeverityClass(severity));
+		currentModal.addClass('t3-modal-' + Severity.getCssClass(severity));
 		if (buttons.length > 0) {
 			for (i = 0; i<buttons.length; i++) {
 				var button = buttons[i];
@@ -319,7 +304,7 @@ define(['jquery',
 				},
 				{
 					text: $element.data('button-ok-text') || 'OK',
-					btnClass: 'btn-' + Modal.getSeverityClass(severity),
+					btnClass: 'btn-' + Severity.getCssClass(severity),
 					trigger: function() {
 						Modal.currentModal.trigger('modal-dismiss');
 						evt.target.ownerDocument.location.href = $element.data('href') || $element.attr('href');
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/OnlineMedia.js b/typo3/sysext/backend/Resources/Public/JavaScript/OnlineMedia.js
index 68342f0b499a..719768adebd0 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/OnlineMedia.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/OnlineMedia.js
@@ -65,7 +65,7 @@ define(['jquery',
 							Severity.error,
 							[{
 								text: TYPO3.lang['button.ok'] || 'OK',
-								btnClass: 'btn-' + Modal.getSeverityClass(Severity.error),
+								btnClass: 'btn-' + Severity.getCssClass(Severity.error),
 								name: 'ok',
 								active: true
 							}]
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Severity.js b/typo3/sysext/backend/Resources/Public/JavaScript/Severity.js
index 85bc23b80805..1df1ffaa37c8 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Severity.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Severity.js
@@ -30,7 +30,7 @@ define(function () {
 		}
 
 		// fetch object from outer frame
-		if (top && top.TYPO3.Severity) {
+		if (top && top.TYPO3 && top.TYPO3.Severity) {
 			return top.TYPO3.Severity;
 		}
 	} catch (e) {
@@ -56,6 +56,34 @@ define(function () {
 		error: 2
 	};
 
+	/**
+	 * Gets the CSS class for the severity
+	 *
+	 * @param {Number} severity
+	 * @returns {String}
+	 */
+	Severity.getCssClass = function(severity) {
+		var severityClass;
+		switch (severity) {
+			case Severity.notice:
+				severityClass = 'notice';
+				break;
+			case Severity.ok:
+				severityClass = 'success';
+				break;
+			case Severity.warning:
+				severityClass = 'warning';
+				break;
+			case Severity.error:
+				severityClass = 'danger';
+				break;
+			case Severity.info:
+			default:
+				severityClass = 'info';
+		}
+		return severityClass;
+	};
+
 	// attach to global frame
 	TYPO3.Severity = Severity;
 
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-73442-ModalGetSeverityClassHasBeenMovedToTheSeverityModule.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-73442-ModalGetSeverityClassHasBeenMovedToTheSeverityModule.rst
new file mode 100644
index 000000000000..68bcf39b9b03
--- /dev/null
+++ b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-73442-ModalGetSeverityClassHasBeenMovedToTheSeverityModule.rst
@@ -0,0 +1,26 @@
+==================================================================================
+Deprecation: #73442 - Modal.getSeverityClass has been moved to the Severity module
+==================================================================================
+
+Description
+===========
+
+The method :js:`Modal.getSeverityClass` has been moved to :js:`Severity.getCssClass`. :js:`Modal.getSeverityClass` has been marked as deprecated.
+
+
+Impact
+======
+
+Calling :js:`Modal.getSeverityClass` will trigger a console warning in the browser.
+
+
+Affected Installations
+======================
+
+All 3rd party extensions using :js:`Modal.getSeverityClass` are affected.
+
+
+Migration
+=========
+
+Change the calls to :js:`Severity.getCssClass(severity)`.
\ No newline at end of file
-- 
GitLab