From eb2154b703e3deb29bd00f81565b78a9bf97429b Mon Sep 17 00:00:00 2001 From: heathdutton Date: Mon, 4 Jun 2018 16:15:25 -0400 Subject: [PATCH] When an age changes upon save we should update it. Apparently passing integers to addUpdatedField causes unexpected results. --- Integration/AgeFromBirthdateIntegration.php | 10 ++++++---- Integration/AlcazarIntegration.php | 2 +- Integration/FourleafIntegration.php | 2 +- Integration/RandomIntegration.php | 2 +- Integration/XverifyIntegration.php | 4 ++-- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Integration/AgeFromBirthdateIntegration.php b/Integration/AgeFromBirthdateIntegration.php index 309e39a..dc12ea1 100644 --- a/Integration/AgeFromBirthdateIntegration.php +++ b/Integration/AgeFromBirthdateIntegration.php @@ -98,10 +98,12 @@ public function doEnhancement(Lead &$lead) $birthdate = sprintf('%04d-%02d-%02d 00:00:00', $year, $month, $day); $dob = new DateTime($birthdate); $today = new DateTime(); - $age = $today->diff($dob)->y; - $this->logger->info("calculated age is $age"); - - $lead->addUpdatedField('afb_age', intval($age)); + $age = (int) $today->diff($dob)->y; + $prevAge = (int) $lead->getFieldValue('afb_age'); + if ($age !== $prevAge) { + $this->logger->info("calculated age is $age"); + $lead->addUpdatedField('afb_age', (string) $age, $prevAge); + } } return true; diff --git a/Integration/AlcazarIntegration.php b/Integration/AlcazarIntegration.php index abd9616..42e1401 100644 --- a/Integration/AlcazarIntegration.php +++ b/Integration/AlcazarIntegration.php @@ -254,7 +254,7 @@ public function doEnhancement(Lead &$lead) $alias = 'alcazar_'.strtolower($label); if (isset($allowedAliases[$alias])) { $default = $lead->getFieldValue($alias); - $lead->addUpdatedField($alias, $value, $default); + $lead->addUpdatedField($alias, (string) $value, $default); } } diff --git a/Integration/FourleafIntegration.php b/Integration/FourleafIntegration.php index ef14b74..0944bc0 100644 --- a/Integration/FourleafIntegration.php +++ b/Integration/FourleafIntegration.php @@ -136,7 +136,7 @@ public function doEnhancement(Lead &$lead) $alias = 'fourleaf_'.str_replace('user_', '', $key); if (isset($allowedAliases[$alias])) { $default = $lead->getFieldValue($alias); - $lead->addUpdatedField($alias, $value, $default); + $lead->addUpdatedField($alias, (string) $value, $default); } } $this->saveLead($lead); diff --git a/Integration/RandomIntegration.php b/Integration/RandomIntegration.php index afbeeaa..6d87ce3 100644 --- a/Integration/RandomIntegration.php +++ b/Integration/RandomIntegration.php @@ -97,7 +97,7 @@ public function doEnhancement(Lead &$lead) $settings = $this->getIntegrationSettings()->getFeatureSettings(); if (!$lead->getFieldValue($settings['random_field_name'])) { - $lead->addUpdatedField($settings['random_field_name'], rand(1, 100)); + $lead->addUpdatedField($settings['random_field_name'], (string) rand(1, 100)); } } diff --git a/Integration/XverifyIntegration.php b/Integration/XverifyIntegration.php index 96271e1..5bcf801 100644 --- a/Integration/XverifyIntegration.php +++ b/Integration/XverifyIntegration.php @@ -160,7 +160,7 @@ public function doEnhancement(Lead &$lead) $persist = true; $status = $this->getResponseStatus($response, $fieldKey); if (!is_null($status)) { - $lead->addUpdatedField($fieldToUpdate, $status); + $lead->addUpdatedField($fieldToUpdate, (string) $status); $this->logger->addDebug( 'XVERIFY: verification values to update: '.$fieldToUpdate.' => '.$status ); @@ -180,7 +180,7 @@ public function doEnhancement(Lead &$lead) $persist = true; $status = $this->getResponseStatus($response, $fieldKey); if (!is_null($status)) { - $lead->addUpdatedField($fieldToUpdate, $status, null); + $lead->addUpdatedField($fieldToUpdate, (string) $status, null); $persist = true; $this->logger->addDebug( 'XVERIFY: verification values to update: '.$fieldToUpdate.' => '.$status