dev/core#4453 fix clash over 'name' field on contribution page form
authorEileen McNaughton <emcnaughton@wikimedia.org>
Fri, 28 Jul 2023 02:03:38 +0000 (14:03 +1200)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Fri, 28 Jul 2023 02:03:38 +0000 (14:03 +1200)
CRM/Contribute/Form/ContributionPage.php

index 6af8a60bf903587098c4338befb9638077f12f88..f09086dfd0202a3e2573aff32f0bfe48baab983d 100644 (file)
@@ -260,8 +260,10 @@ class CRM_Contribute_Form_ContributionPage extends CRM_Core_Form {
       $this->set('values', $this->_values);
     }
     $defaults = $this->_values;
+    // These fields are not exposed on the form and 'name' is exposed on amount, with a different meaning.
+    // see https://lab.civicrm.org/dev/core/-/issues/4453.
+    unset($defaults['name'], $defaults['created_id'], $defaults['created_date']);
 
-    $config = CRM_Core_Config::singleton();
     if (isset($this->_id)) {
 
       //set defaults for pledgeBlock values.
@@ -285,7 +287,7 @@ class CRM_Contribute_Form_ContributionPage extends CRM_Core_Form {
       ];
       foreach ($pledgeBlock as $key) {
         $defaults[$key] = $pledgeBlockDefaults[$key] ?? NULL;
-        if ($key == 'pledge_start_date' && !empty($pledgeBlockDefaults[$key])) {
+        if ($key === 'pledge_start_date' && !empty($pledgeBlockDefaults[$key])) {
           $defaultPledgeDate = (array) json_decode($pledgeBlockDefaults['pledge_start_date']);
           $pledgeDateFields = [
             'pledge_calendar_date' => 'calendar_date',