From 0bc1ba892d5bec0672f4d2a4af725473433b5061 Mon Sep 17 00:00:00 2001 From: kurund Date: Wed, 4 Sep 2013 15:49:24 +0530 Subject: [PATCH] CRM-13330, added font style ---------------------------------------- * CRM-13330: Allow user to define font style for each row in badge layout http://issues.civicrm.org/jira/browse/CRM-13330 --- CRM/Badge/BAO/Layout.php | 18 ++---------------- CRM/Badge/Form/Layout.php | 2 ++ CRM/Core/BAO/LabelFormat.php | 17 +++++++++++++++++ templates/CRM/Badge/Form/Layout.tpl | 2 ++ 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/CRM/Badge/BAO/Layout.php b/CRM/Badge/BAO/Layout.php index 02d8e9141d..7b51e3c681 100644 --- a/CRM/Badge/BAO/Layout.php +++ b/CRM/Badge/BAO/Layout.php @@ -176,25 +176,11 @@ class CRM_Badge_BAO_Layout extends CRM_Core_DAO_PrintLabel { * * @param json $jsonData json object * - * @return array $dataValues associated array of decoded elements + * @return array associated array of decoded elements * @static */ static public function getDecodedData($jsonData) { - $data = get_object_vars(json_decode($jsonData)); - - $specialFields = array('token', 'font_name', 'font_size', 'text_alignment'); - foreach($specialFields as $field) { - $dataValues[$field] = get_object_vars($data[$field]); - } - - $dataValues['add_barcode'] = CRM_Utils_Array::value('add_barcode', $data); - $dataValues['barcode_alignment'] = CRM_Utils_Array::value('barcode_alignment', $data); - $dataValues['barcode_type'] = CRM_Utils_Array::value('barcode_type', $data); - - $dataValues['image_1'] = CRM_Utils_Array::value('image_1', $data); - $dataValues['image_2'] = CRM_Utils_Array::value('image_2', $data); - - return $dataValues; + return json_decode($jsonData, true); } } diff --git a/CRM/Badge/Form/Layout.php b/CRM/Badge/Form/Layout.php index 2f9a890bd8..7b034ae547 100644 --- a/CRM/Badge/Form/Layout.php +++ b/CRM/Badge/Form/Layout.php @@ -90,6 +90,7 @@ class CRM_Badge_Form_Layout extends CRM_Admin_Form { asort($tokens); $fontSizes = CRM_Core_BAO_LabelFormat::getFontSizes(); + $fontStyles = CRM_Core_BAO_LabelFormat::getFontStyles(); $fontNames = CRM_Core_BAO_LabelFormat::getFontNames('name_badge'); $textAlignment = CRM_Core_BAO_LabelFormat::getTextAlignments(); @@ -98,6 +99,7 @@ class CRM_Badge_Form_Layout extends CRM_Admin_Form { $this->add('select', "token[$i]", ts('Token'), array('' => ts('- none -')) + $tokens); $this->add('select', "font_name[$i]", ts('Font Name'), $fontNames); $this->add('select', "font_size[$i]", ts('Font Size'), $fontSizes); + $this->add('select', "font_style[$i]", ts('Font Style'), $fontStyles); $this->add('select', "text_alignment[$i]", ts('Alignment'), $textAlignment); } $rowCount++; diff --git a/CRM/Core/BAO/LabelFormat.php b/CRM/Core/BAO/LabelFormat.php index 1e4050fc68..ef3b296b98 100644 --- a/CRM/Core/BAO/LabelFormat.php +++ b/CRM/Core/BAO/LabelFormat.php @@ -252,6 +252,23 @@ class CRM_Core_BAO_LabelFormat extends CRM_Core_DAO_OptionValue { ); } + /** + * Get text alignment recognized by the TCPDF package used to create PDF labels. + * + * @param void + * + * @return array array of alignments + * @access public + * @static + */ + public static function getFontStyles() { + return array( + '' => ts('Normal'), + 'B' => ts('Bold'), + 'I' => ts('Italic'), + ); + } + /** * Get Option Group ID for Label Formats * diff --git a/templates/CRM/Badge/Form/Layout.tpl b/templates/CRM/Badge/Form/Layout.tpl index 1fcebd8bf6..eaa07091a3 100644 --- a/templates/CRM/Badge/Form/Layout.tpl +++ b/templates/CRM/Badge/Form/Layout.tpl @@ -75,6 +75,7 @@ {ts}Label{/ts} {ts}Font{/ts} {ts}Size{/ts} + {ts}Style{/ts} {ts}Alignment{/ts} {section name='i' start=1 loop=$rowCount} @@ -84,6 +85,7 @@ {$form.token.$rowNumber.html|crmAddClass:twenty} {$form.font_name.$rowNumber.html} {$form.font_size.$rowNumber.html} + {$form.font_style.$rowNumber.html} {$form.text_alignment.$rowNumber.html} {/section} -- 2.25.1