CRM-17837 Add communication preference fields to standard available contact info
authoreileen <emcnaughton@wikimedia.org>
Fri, 22 Jan 2016 02:12:49 +0000 (15:12 +1300)
committereileen <emcnaughton@wikimedia.org>
Fri, 22 Jan 2016 02:35:45 +0000 (15:35 +1300)
Change-Id: Ic97e906b9f2513c6e87564fc3c1a222afa25f091

CRM/Report/Form.php

index 8e2327a780c21fc483ce4fe75b40eb5437528112..775f41cffe2c85077b9fd3547101164f74e49201 100644 (file)
@@ -4157,6 +4157,17 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
         $entryFound = TRUE;
       }
     }
+    $yesNoFields = array(
+      'do_not_email', 'is_deceased', 'do_not_phone', 'do_not_sms', 'do_not_mail', 'is_opt_out',
+    );
+    foreach ($yesNoFields as $fieldName) {
+      if (array_key_exists('civicrm_contact_' . $fieldName, $row)) {
+        // Since these are essentially 'negative fields' it feels like it
+        // makes sense to only highlight the exceptions hence no 'No'.
+        $rows[$rowNum]['civicrm_contact_' . $fieldName] = !empty($rows[$rowNum]['civicrm_contact_' . $fieldName]) ? ts('Yes') : '';
+        $entryFound = TRUE;
+      }
+    }
     return $entryFound;
   }
 
@@ -4333,6 +4344,12 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
       'external_identifier' => array(
         'title' => ts('Contact identifier from external system'),
       ),
+      'do_not_email' => array(),
+      'do_not_phone' => array(),
+      'do_not_mail' => array(),
+      'do_not_sms' => array(),
+      'is_opt_out' => array(),
+      'is_deceased' => array(),
     );
   }