From 2ddf3dd67e0330112d1972f31cd57ddbb33f94ab Mon Sep 17 00:00:00 2001
From: ezsh <ezsh.junk@gmail.com>
Date: Mon, 27 May 2019 21:34:02 +0200
Subject: [PATCH] Handle RA rules that were spiled by BC earlier

---
 src/js/datatypeCleanupJS.js | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js
index 6b94163cef4..1343eb0c3d7 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/js/datatypeCleanupJS.js
@@ -2020,7 +2020,7 @@ App.Entity.Utils.RARuleDatatypeCleanup = function() {
 	function replaceDefaultValues(o) {
 		for (const k in o) {
 			const v = o[k];
-			if (v === "no default setting" || v === "no default change" || v === undefined) {
+			if (v === "no default setting" || v === "no default change" || Number.isNaN(v) || v === undefined) {
 				o[k] = null;
 			} else if (typeof v === 'object') {
 				replaceDefaultValues(v);
@@ -2078,9 +2078,14 @@ App.Entity.Utils.RARuleDatatypeCleanup = function() {
 		function ensureNumTarget(val) {
 			switch (typeof val) {
 				case 'number':
-					return App.RA.makeTarget('==', val);
+					return Number.isNaN(val) ? null : App.RA.makeTarget('==', val);
 				case 'string':
 						return App.RA.makeTarget('==', parseInt(val));
+				case 'object':
+					if (val.hasOwnProperty('val') && Number.isNaN(val.val)) {
+						return null;
+					}
+					return val;
 				default:
 					return val;
 			}
-- 
GitLab