From d169f4aa3162c4741289b1e4e1c3dc0b6aae8ede Mon Sep 17 00:00:00 2001 From: denise Date: Mon, 30 Jul 2012 17:03:01 -0400 Subject: [PATCH] CC-84: Smart Playlists - improved validation to not allow multiple criteria fields --- airtime_mvc/application/models/Block.php | 8 ++++++-- airtime_mvc/public/css/styles.css | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php index 702c1621d..b2b0ec4f7 100644 --- a/airtime_mvc/application/models/Block.php +++ b/airtime_mvc/application/models/Block.php @@ -891,13 +891,17 @@ EOT; if (count($error) > 0){ $errors[] = array("element"=>"sp_limit_value", "msg"=>$error); } - + + $criteriaFieldsUsed = array(); foreach ($data['criteria'] as $key=>$d){ $error = array(); // check for not selected select box if ($d['sp_criteria_field'] == "0" || $d['sp_criteria_modifier'] == "0"){ - $error[] = "You must select Criteria and Modifier"; + $error[] = "You must select Criteria and Modifier"; + } else if (in_array($d['sp_criteria_field'], $criteriaFieldsUsed)) { + $error[] = "Criteria fields can only be used once"; } else { + array_push($criteriaFieldsUsed, $d['sp_criteria_field']); $column = CcFilesPeer::getTableMap()->getColumnByPhpName(self::$criteria2PeerMap[$d['sp_criteria_field']]); // validation on type of column if ($d['sp_criteria_field'] == 'length') { diff --git a/airtime_mvc/public/css/styles.css b/airtime_mvc/public/css/styles.css index 7c01ec209..5873e097a 100644 --- a/airtime_mvc/public/css/styles.css +++ b/airtime_mvc/public/css/styles.css @@ -1494,7 +1494,7 @@ div.errors, span.errors{ } span.errors.sp-errors{ - width: 466px; + width: 492px; display: block; }