From 0ef4ffda69f4b1cdc06be11973f884a9f00517a9 Mon Sep 17 00:00:00 2001 From: Jon goldberg Date: Mon, 27 Apr 2015 19:45:22 -0600 Subject: [PATCH] CRM-13283 - implement string to integer conversion; sanity checks on valid severity values --- CRM/Core/BAO/StatusPreference.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CRM/Core/BAO/StatusPreference.php b/CRM/Core/BAO/StatusPreference.php index 62d356a18d..12778dfed0 100644 --- a/CRM/Core/BAO/StatusPreference.php +++ b/CRM/Core/BAO/StatusPreference.php @@ -48,12 +48,21 @@ class CRM_Core_BAO_StatusPreference extends CRM_Core_DAO_StatusPreference { public static function create($params) { $statusPreference = new CRM_Core_DAO_StatusPreference(); + // Default severity level is 1 (INFO). + if (!$params['minimum_report_severity']) { + $params['minimum_report_severity'] = 1; + } // Severity can be either text ('critical') or an integer <= 8. + // It's a magic number, but based on PSR-3 standards. if (!CRM_Utils_Rule::integer($params['minimum_report_severity'])) { $params['minimum_report_severity'] = CRM_Utils_Check::severityMap($params['minimum_report_severity']); } if ($params['minimum_report_severity'] > 8) { - CRM_Core_Error::fatal(ts('You can not pass a severity level higher than 8 (Emergency).')); + CRM_Core_Error::fatal(ts('You can not pass a severity level higher than 8.')); + } + // If severity is now blank, you have an invalid severity string. + if (!$params['minimum_report_severity']) { + CRM_Core_Error::fatal(ts('Invalid string passed as severity level.')); } // Check if this StatusPreference already exists. -- 2.25.1