From 890a1fbb438e0ba35a18ec0c66ea25beba0aa927 Mon Sep 17 00:00:00 2001 From: Kurund Jalmi Date: Fri, 12 Jul 2013 15:51:55 +0530 Subject: [PATCH] added formRule to prevent conflict between barcode and #4, CRM-12965 --- CRM/Badge/Form/Layout.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CRM/Badge/Form/Layout.php b/CRM/Badge/Form/Layout.php index d27c8814cd..471b899c4f 100644 --- a/CRM/Badge/Form/Layout.php +++ b/CRM/Badge/Form/Layout.php @@ -106,6 +106,34 @@ class CRM_Badge_Form_Layout extends CRM_Admin_Form { $this->add('checkbox', 'is_default', ts('Default?')); $this->add('checkbox', 'is_active', ts('Enabled?')); $this->add('checkbox', 'is_reserved', ts('Reserved?')); + + $this->addFormRule(array('CRM_Badge_Form_Layout', 'formRule')); + } + + /** + * form rule + * + * @param array $fields the input form values + * + * @return true if no errors, else array of errors + * @access public + * @static + */ + static function formRule($fields) { + $errors = array(); + + if (CRM_Utils_Array::value(4, $fields['token']) + && CRM_Utils_Array::value('add_barcode', $fields) + && (CRM_Utils_Array::value('barcode_alignment', $fields) == CRM_Utils_Array::value(4, $fields['text_alignment'])) + ) { + $errors['barcode_alignment'] = ts('You cannot have same alignment for barcode and #4 row.'); + } + + if (!empty($errors)) { + return $errors; + } + + return empty($errors) ? TRUE : $errors; } /** -- 2.25.1