Fix user email CRM-12285
authorColeman Watts <coleman@civicrm.org>
Mon, 15 Apr 2013 03:43:38 +0000 (20:43 -0700)
committerColeman Watts <coleman@civicrm.org>
Mon, 15 Apr 2013 03:43:38 +0000 (20:43 -0700)
CRM/Core/BAO/Email.php

index bd99c13940c3c6209dbdf242de7ba674386f89e5..d2eeeaca4de9d14fc25fb67db573205cb19b6969 100644 (file)
@@ -45,14 +45,20 @@ class CRM_Core_BAO_Email extends CRM_Core_DAO_Email {
    * @param array $params input parameters
    */
   static function create($params) {
-    if (is_numeric(CRM_Utils_Array::value('is_primary', $params)) ||
-      // if id is set & is_primary isn't we can assume no change
-      empty($params['id'])
-    ) {
+    // if id is set & is_primary isn't we can assume no change
+    $alterPrimary = is_numeric(CRM_Utils_Array::value('is_primary', $params)) || empty($params['id']);
+
+    if ($alterPrimary) {
       CRM_Core_BAO_Block::handlePrimary($params, get_class());
     }
+
     $email = CRM_Core_BAO_Email::add($params);
 
+    if ($alterPrimary) {
+      // update the UF user email if that has changed
+      CRM_Core_BAO_UFMatch::updateUFName($email->contact_id);
+    }
+
     return $email;
   }