REF use addRadio function to add in the radio fields to these forms
authorSeamus Lee <seamuslee001@gmail.com>
Wed, 23 Dec 2020 08:56:11 +0000 (19:56 +1100)
committerSeamus Lee <seamuslee001@gmail.com>
Wed, 23 Dec 2020 20:21:21 +0000 (07:21 +1100)
Fixes following review by Dave D

CRM/Campaign/Form/Survey/Results.php
CRM/Export/Form/Select.php

index 846348069652188cf37fe83f2ad3202cb3691c62..224172f4577619f45a27de8e6cd6033934302a09 100644 (file)
@@ -123,12 +123,11 @@ class CRM_Campaign_Form_Survey_Results extends CRM_Campaign_Form_Survey {
     }
 
     // form fields of Custom Option rows
-    $defaultOption = [];
+    $defaultOptionValues = [];
     $_showHide = new CRM_Core_ShowHideBlocks('', '');
 
     $optionAttributes = CRM_Core_DAO::getAttribute('CRM_Core_DAO_OptionValue');
     $optionAttributes['label']['size'] = $optionAttributes['value']['size'] = 25;
-
     for ($i = 1; $i <= self::NUM_OPTION; $i++) {
       //the show hide blocks
       $showBlocks = 'optionField_' . $i;
@@ -161,11 +160,11 @@ class CRM_Campaign_Form_Survey_Results extends CRM_Campaign_Form_Survey {
         CRM_Core_DAO::getAttribute('CRM_Campaign_DAO_Survey', 'release_frequency')
       );
 
-      $defaultOption[$i] = $this->createElement('radio', NULL, NULL, NULL, $i);
+      $defaultOptionValues[$i] = NULL;
     }
 
     //default option selection
-    $this->addGroup($defaultOption, 'default_option');
+    $this->addRadio('default_option', '', $defaultOptionValues);
 
     $_showHide->addToTemplate();
 
index 82ddb1b7b43c70ebb8585e3eccaa9593d564cd1b..e5bad4f70ac7e1857c7ae4388ab8903277e4f459 100644 (file)
@@ -165,47 +165,25 @@ FROM   {$this->_componentTable}
    */
   public function buildQuickForm() {
     //export option
-    $exportOptions = $mergeOptions = $postalMailing = [];
-    $exportOptions[] = $this->createElement('radio',
-      NULL, NULL,
-      ts('Export PRIMARY fields'),
-      self::EXPORT_ALL,
-      ['onClick' => 'showMappingOption( );']
-    );
-    $exportOptions[] = $this->createElement('radio',
-      NULL, NULL,
-      ts('Select fields for export'),
-      self::EXPORT_SELECTED,
-      ['onClick' => 'showMappingOption( );']
-    );
-
-    $mergeOptions[] = $this->createElement('radio',
-      NULL, NULL,
-      ts('Do not merge'),
-      self::EXPORT_MERGE_DO_NOT_MERGE,
-      ['onclick' => 'showGreetingOptions( );']
-    );
-    $mergeOptions[] = $this->createElement('radio',
-      NULL, NULL,
-      ts('Merge All Contacts with the Same Address'),
-      self::EXPORT_MERGE_SAME_ADDRESS,
-      ['onclick' => 'showGreetingOptions( );']
-    );
-    $mergeOptions[] = $this->createElement('radio',
-      NULL, NULL,
-      ts('Merge Household Members into their Households'),
-      self::EXPORT_MERGE_HOUSEHOLD,
-      ['onclick' => 'showGreetingOptions( );']
-    );
-
+    $exportOptions = $exportOptionsJS = $mergeOptions = $mergeOptionsJS = $postalMailing = [];
+    $exportOptions[self::EXPORT_ALL] = ts('Export PRIMARY fields');
+    $exportOptions[self::EXPORT_SELECTED] = ts('Select fields for export');
+    $mergeOptions[self::EXPORT_MERGE_DO_NOT_MERGE] = ts('Do not merge');
+    $mergeOptions[self::EXPORT_MERGE_SAME_ADDRESS] = ts('Merge All Contacts with the Same Address');
+    $mergeOptions[self::EXPORT_MERGE_HOUSEHOLD] = ts('Merge Household Members into their Households');
+    foreach (array_keys($exportOptions) as $key) {
+      $exportOptionsJS[$key] = ['onClick' => 'showMappingOption( );'];
+    }
+    foreach (array_keys($mergeOptions) as $key) {
+      $mergeOptionsJS[$key] = ['onclick' => 'showGreetingOptions( );'];
+    }
+    $this->addRadio('exportOption', ts('Export Type'), $exportOptions, [], '<br/>', FALSE, $exportOptionsJS);
     $postalMailing[] = $this->createElement('advcheckbox',
       'postal_mailing_export',
       NULL,
       NULL
     );
 
-    $this->addGroup($exportOptions, 'exportOption', ts('Export Type'), '<br/>');
-
     if ($this->_matchingContacts) {
       $this->_greetingOptions = self::getGreetingOptions();
 
@@ -219,7 +197,7 @@ FROM   {$this->_componentTable}
     }
 
     if ($this->_exportMode == self::CONTACT_EXPORT) {
-      $this->addGroup($mergeOptions, 'mergeOption', ts('Merge Options'), '<br/>');
+      $this->addRadio('mergeOption', ts('Merge Options'), $mergeOptions, [], '<br/>', FALSE, $mergeOptionsJS);
       $this->addGroup($postalMailing, 'postal_mailing_export', ts('Postal Mailing Export'), '<br/>');
 
       $this->addElement('select', 'additional_group', ts('Additional Group for Export'),