diff --git a/CRM/Activity/BAO/Activity.php b/CRM/Activity/BAO/Activity.php index aabb79f3693b4e58d7d31e3d3ee0312134ef3dc7..1508f7c9531dc2b96c394e6c3e374d04bc80021b 100644 --- a/CRM/Activity/BAO/Activity.php +++ b/CRM/Activity/BAO/Activity.php @@ -37,13 +37,6 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity { */ public static $_exportableFields = NULL; - /** - * Static field for all the activity information that we can potentially import. - * - * @var array - */ - public static $_importableFields = NULL; - /** * Check if there is absolute minimum of data to add the object. * @@ -1505,10 +1498,8 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity { * array of importable Fields */ public static function &importableFields($status = FALSE) { - if (!self::$_importableFields) { - if (!self::$_importableFields) { - self::$_importableFields = []; - } + if (empty(Civi::$statics[__CLASS__][__FUNCTION__])) { + Civi::$statics[__CLASS__][__FUNCTION__] = []; if (!$status) { $fields = ['' => ['title' => ts('- do not import -')]]; } @@ -1544,9 +1535,9 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity { $fields = array_merge($fields, $tmpConatctField); $fields = array_merge($fields, $tmpFields); $fields = array_merge($fields, CRM_Core_BAO_CustomField::getFieldsForImport('Activity')); - self::$_importableFields = $fields; + Civi::$statics[__CLASS__][__FUNCTION__] = $fields; } - return self::$_importableFields; + return Civi::$statics[__CLASS__][__FUNCTION__]; } /** diff --git a/tests/phpunit/CRM/Activity/Import/Parser/ActivityTest.php b/tests/phpunit/CRM/Activity/Import/Parser/ActivityTest.php index 99df179f308cc031175a55c992b8e8c4f0a51b6a..c21b88e8886b46d5e120f0526d6ec1f0c0601c46 100644 --- a/tests/phpunit/CRM/Activity/Import/Parser/ActivityTest.php +++ b/tests/phpunit/CRM/Activity/Import/Parser/ActivityTest.php @@ -1,12 +1,6 @@ <?php /** - * File for the TestActivityType class - * - * (PHP 5) - * - * @package CiviCRM - * * This file is part of CiviCRM * * CiviCRM is free software; you can redistribute it and/or @@ -25,7 +19,7 @@ */ /** - * Test CRM/Member/BAO Membership Log add , delete functions + * Test Activity Import Parser functions * * @package CiviCRM * @group headless @@ -47,7 +41,7 @@ class CRM_Activity_Import_Parser_ActivityTest extends CiviUnitTestCase { * @throws \CRM_Core_Exception */ public function tearDown():void { - $this->quickCleanup(['civicrm_contact', 'civicrm_activity'], TRUE); + $this->quickCleanup(['civicrm_contact', 'civicrm_activity', 'civicrm_activity_contact'], TRUE); parent::tearDown(); } @@ -64,11 +58,11 @@ class CRM_Activity_Import_Parser_ActivityTest extends CiviUnitTestCase { public function testImport(): void { $this->createCustomGroupWithFieldOfType(['extends' => 'Activity'], 'checkbox'); $values = [ - 'activity_detail' => 'fascinating', + 'activity_details' => 'fascinating', 'activity_type_id' => 1, 'activity_date_time' => '2010-01-06', 'target_contact_id' => $this->individualCreate(), - 'subject' => 'riveting stuff', + 'activity_subject' => 'riveting stuff', $this->getCustomFieldName('checkbox') => 'L', ]; $this->importValues($values); @@ -83,6 +77,10 @@ class CRM_Activity_Import_Parser_ActivityTest extends CiviUnitTestCase { * @return \CRM_Activity_Import_Parser_Activity */ protected function createImportObject(array $fields): \CRM_Activity_Import_Parser_Activity { + // @todo Eyes are weary so sanity-check this later: + // This loop seems the same as array_values($fields)? And this appears + // to only be called from one place that already has them sequentially + // indexed so is it even needed? $fieldMapper = []; foreach ($fields as $index => $field) { $fieldMapper[] = $field;