From 64d6b48813338c1f210d1d9cc9adbd51aeb3afe2 Mon Sep 17 00:00:00 2001 From: Jens Schuppe Date: Wed, 11 Sep 2024 12:59:22 +0200 Subject: [PATCH] Fix DAO/BAO namespaces and definitions --- .../Twingle}/BAO/TwingleProduct.php | 24 +++++++------------ .../Shop => CRM/Twingle}/BAO/TwingleShop.php | 23 +++++++----------- .../Twingle}/DAO/TwingleProduct.php | 18 +++++++------- .../Shop => CRM/Twingle}/DAO/TwingleShop.php | 12 ++++------ info.xml | 11 +++++---- twingle.civix.php | 22 ----------------- .../CRM/Twingle/TwingleProduct.entityType.php | 2 +- xml/schema/CRM/Twingle/TwingleProduct.xml | 2 +- .../CRM/Twingle/TwingleShop.entityType.php | 2 +- xml/schema/CRM/Twingle/TwingleShop.xml | 2 +- 10 files changed, 41 insertions(+), 77 deletions(-) rename {Civi/Twingle/Shop => CRM/Twingle}/BAO/TwingleProduct.php (96%) rename {Civi/Twingle/Shop => CRM/Twingle}/BAO/TwingleShop.php (95%) rename {Civi/Twingle/Shop => CRM/Twingle}/DAO/TwingleProduct.php (94%) rename {Civi/Twingle/Shop => CRM/Twingle}/DAO/TwingleShop.php (96%) diff --git a/Civi/Twingle/Shop/BAO/TwingleProduct.php b/CRM/Twingle/BAO/TwingleProduct.php similarity index 96% rename from Civi/Twingle/Shop/BAO/TwingleProduct.php rename to CRM/Twingle/BAO/TwingleProduct.php index 62f37c3..f696807 100644 --- a/Civi/Twingle/Shop/BAO/TwingleProduct.php +++ b/CRM/Twingle/BAO/TwingleProduct.php @@ -1,16 +1,10 @@ [$external_id, 'String']]); if ($dao->fetch()) { $product = new self(); @@ -456,7 +450,7 @@ class TwingleProduct extends TwingleProductDAO { // Try to lookup object in database try { - $dao = TwingleShopDAO::executeQuery("SELECT * FROM civicrm_twingle_product WHERE external_id = %1", + $dao = CRM_Twingle_BAO_TwingleShop::executeQuery("SELECT * FROM civicrm_twingle_product WHERE external_id = %1", [1 => [$this->external_id, 'String']]); if ($dao->fetch()) { $this->copyValues(array_merge($dao->toArray(), $this->getAttributes())); @@ -514,7 +508,7 @@ class TwingleProduct extends TwingleProductDAO { /** * Delete TwingleProduct along with associated PriceField and PriceFieldValue. * - * @override \Civi\Twingle\Shop\DAO\TwingleProduct::delete + * @override \CRM_Twingle_DAO_TwingleProduct::delete * @throws \CRM_Core_Exception * @throws \Civi\Twingle\Shop\Exceptions\ProductException */ @@ -570,7 +564,7 @@ class TwingleProduct extends TwingleProductDAO { /** * Compare two products * - * @param TwingleProduct $product_to_compare_with + * @param CRM_Twingle_BAO_TwingleProduct $product_to_compare_with * Product from database * * @return bool @@ -592,7 +586,7 @@ class TwingleProduct extends TwingleProductDAO { */ public function getFinancialTypeId(): ?int { if (!empty($this->price_field_id)) { - $price_set = \Civi\Api4\PriceField::get() + $price_set = PriceField::get() ->addSelect('financial_type_id') ->addWhere('id', '=', $this->price_field_id) ->execute() @@ -610,7 +604,7 @@ class TwingleProduct extends TwingleProductDAO { */ public function getPriceFieldValueId() { if (!empty($this->price_field_id)) { - $price_field_value = \Civi\Api4\PriceFieldValue::get() + $price_field_value = PriceFieldValue::get() ->addSelect('id') ->addWhere('price_field_id', '=', $this->price_field_id) ->execute() diff --git a/Civi/Twingle/Shop/BAO/TwingleShop.php b/CRM/Twingle/BAO/TwingleShop.php similarity index 95% rename from Civi/Twingle/Shop/BAO/TwingleShop.php rename to CRM/Twingle/BAO/TwingleShop.php index c27853c..dd49596 100644 --- a/Civi/Twingle/Shop/BAO/TwingleShop.php +++ b/CRM/Twingle/BAO/TwingleShop.php @@ -1,15 +1,10 @@ \CRM_Utils_Type::T_INT, @@ -64,14 +59,14 @@ class TwingleShop extends TwingleShopDAO { * @param string $project_identifier * Twingle project identifier * - * @return TwingleShop + * @return CRM_Twingle_BAO_TwingleShop * * @throws ShopException * @throws \Civi\Twingle\Shop\Exceptions\ApiCallError * @throws \CRM_Core_Exception */ public static function findByProjectIdentifier(string $project_identifier) { - $shop = new TwingleShop(); + $shop = new CRM_Twingle_BAO_TwingleShop(); $shop->get('project_identifier', $project_identifier); if (!$shop->id) { $shop->fetchDataFromTwingle($project_identifier); @@ -147,7 +142,7 @@ class TwingleShop extends TwingleShopDAO { // Try to lookup object in database try { - $dao = TwingleShopDAO::executeQuery("SELECT * FROM civicrm_twingle_shop WHERE project_identifier = %1", + $dao = self::executeQuery("SELECT * FROM civicrm_twingle_shop WHERE project_identifier = %1", [1 => [$this->project_identifier, 'String']]); if ($dao->fetch()) { $this->load($dao->toArray()); @@ -259,7 +254,7 @@ class TwingleShop extends TwingleShopDAO { }, []); foreach ($products_from_db as $product) { - /* @var TwingleProductBAO $product */ + /* @var CRM_Twingle_BAO_TwingleProduct $product */ // Find orphaned products which are in the database but not in Twingle $found = array_key_exists($product->external_id, $products_from_twingle); @@ -286,8 +281,8 @@ class TwingleShop extends TwingleShopDAO { foreach ($products_from_twingle as $product_from_twingle) { $found = array_key_exists($product_from_twingle['id'], $products); if (!$found) { - $product = new TwingleProduct(); - $product->load(TwingleProduct::renameTwingleAttrs($product_from_twingle)); + $product = new CRM_Twingle_BAO_TwingleProduct(); + $product->load(CRM_Twingle_BAO_TwingleProduct::renameTwingleAttrs($product_from_twingle)); $product->twingle_shop_id = $this->id; $this->products[] = $product; } @@ -305,13 +300,13 @@ class TwingleShop extends TwingleShopDAO { public function getProducts() { $products = []; - $result = TwingleProductBAO::executeQuery( + $result = CRM_Twingle_BAO_TwingleProduct::executeQuery( "SELECT * FROM civicrm_twingle_product WHERE twingle_shop_id = %1", [1 => [$this->id, 'Integer']] ); while ($result->fetch()) { - $product = new TwingleProductBAO(); + $product = new CRM_Twingle_BAO_TwingleProduct(); $product->load($result->toArray()); $products[] = $product; } diff --git a/Civi/Twingle/Shop/DAO/TwingleProduct.php b/CRM/Twingle/DAO/TwingleProduct.php similarity index 94% rename from Civi/Twingle/Shop/DAO/TwingleProduct.php rename to CRM/Twingle/DAO/TwingleProduct.php index 9d4f075..3adeae7 100644 --- a/Civi/Twingle/Shop/DAO/TwingleProduct.php +++ b/CRM/Twingle/DAO/TwingleProduct.php @@ -1,7 +1,5 @@ 'civicrm_twingle_product.id', 'table_name' => 'civicrm_twingle_product', 'entity' => 'TwingleProduct', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct', + 'bao' => 'CRM_Twingle_DAO_TwingleProduct', 'localizable' => 0, 'html' => [ 'type' => 'Number', @@ -167,7 +165,7 @@ class TwingleProduct extends \CRM_Core_DAO { 'where' => 'civicrm_twingle_product.external_id', 'table_name' => 'civicrm_twingle_product', 'entity' => 'TwingleProduct', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct', + 'bao' => 'CRM_Twingle_DAO_TwingleProduct', 'localizable' => 0, 'html' => [ 'type' => 'Number', @@ -189,7 +187,7 @@ class TwingleProduct extends \CRM_Core_DAO { 'where' => 'civicrm_twingle_product.price_field_id', 'table_name' => 'civicrm_twingle_product', 'entity' => 'TwingleProduct', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct', + 'bao' => 'CRM_Twingle_DAO_TwingleProduct', 'localizable' => 0, 'FKClassName' => 'CRM_Contact_DAO_Contact', 'add' => NULL, @@ -208,9 +206,9 @@ class TwingleProduct extends \CRM_Core_DAO { 'where' => 'civicrm_twingle_product.twingle_shop_id', 'table_name' => 'civicrm_twingle_product', 'entity' => 'TwingleProduct', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct', + 'bao' => 'CRM_Twingle_DAO_TwingleProduct', 'localizable' => 0, - 'FKClassName' => 'Civi\Twingle\Shop\DAO\TwingleShop', + 'FKClassName' => 'CRM_Twingle_DAO_TwingleShop', 'add' => NULL, ], 'created_at' => [ @@ -228,7 +226,7 @@ class TwingleProduct extends \CRM_Core_DAO { 'where' => 'civicrm_twingle_product.created_at', 'table_name' => 'civicrm_twingle_product', 'entity' => 'TwingleProduct', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct', + 'bao' => 'CRM_Twingle_DAO_TwingleProduct', 'localizable' => 0, 'add' => NULL, ], @@ -247,7 +245,7 @@ class TwingleProduct extends \CRM_Core_DAO { 'where' => 'civicrm_twingle_product.updated_at', 'table_name' => 'civicrm_twingle_product', 'entity' => 'TwingleProduct', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleProduct', + 'bao' => 'CRM_Twingle_DAO_TwingleProduct', 'localizable' => 0, 'add' => NULL, ], diff --git a/Civi/Twingle/Shop/DAO/TwingleShop.php b/CRM/Twingle/DAO/TwingleShop.php similarity index 96% rename from Civi/Twingle/Shop/DAO/TwingleShop.php rename to CRM/Twingle/DAO/TwingleShop.php index bef6db7..4b6e704 100644 --- a/Civi/Twingle/Shop/DAO/TwingleShop.php +++ b/CRM/Twingle/DAO/TwingleShop.php @@ -1,7 +1,5 @@ 'civicrm_twingle_shop.id', 'table_name' => 'civicrm_twingle_shop', 'entity' => 'TwingleShop', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleShop', + 'bao' => 'CRM_Twingle_DAO_TwingleShop', 'localizable' => 0, 'html' => [ 'type' => 'Number', @@ -159,7 +157,7 @@ class TwingleShop extends \CRM_Core_DAO { 'where' => 'civicrm_twingle_shop.project_identifier', 'table_name' => 'civicrm_twingle_shop', 'entity' => 'TwingleShop', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleShop', + 'bao' => 'CRM_Twingle_DAO_TwingleShop', 'localizable' => 0, 'html' => [ 'type' => 'Text', @@ -181,7 +179,7 @@ class TwingleShop extends \CRM_Core_DAO { 'where' => 'civicrm_twingle_shop.numerical_project_id', 'table_name' => 'civicrm_twingle_shop', 'entity' => 'TwingleShop', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleShop', + 'bao' => 'CRM_Twingle_DAO_TwingleShop', 'localizable' => 0, 'html' => [ 'type' => 'Number', @@ -202,7 +200,7 @@ class TwingleShop extends \CRM_Core_DAO { 'where' => 'civicrm_twingle_shop.price_set_id', 'table_name' => 'civicrm_twingle_shop', 'entity' => 'TwingleShop', - 'bao' => 'Civi\Twingle\Shop\DAO\TwingleShop', + 'bao' => 'CRM_Twingle_DAO_TwingleShop', 'localizable' => 0, 'FKClassName' => 'CRM_Price_DAO_PriceSet', 'add' => NULL, diff --git a/info.xml b/info.xml index d715ec8..c019d80 100644 --- a/info.xml +++ b/info.xml @@ -20,7 +20,11 @@ 5.58 - + + + + + de.systopia.xcm @@ -32,10 +36,7 @@ menu-xml@1.0.0 mgd-php@1.0.0 smarty-v2@1.0.1 + entity-types-php@1.0.0 - - - - CRM_Twingle_Upgrader diff --git a/twingle.civix.php b/twingle.civix.php index 6d84d1c..c207adf 100644 --- a/twingle.civix.php +++ b/twingle.civix.php @@ -198,25 +198,3 @@ function _twingle_civix_fixNavigationMenuItems(&$nodes, &$maxNavID, $parentID) { } } } - -/** - * (Delegated) Implements hook_civicrm_entityTypes(). - * - * Find any *.entityType.php files, merge their content, and return. - * - * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes - */ -function _twingle_civix_civicrm_entityTypes(&$entityTypes) { - $entityTypes = array_merge($entityTypes, [ - 'Civi\Twingle\Shop\DAO\TwingleProduct' => [ - 'name' => 'TwingleProduct', - 'class' => 'Civi\Twingle\Shop\DAO\TwingleProduct', - 'table' => 'civicrm_twingle_product', - ], - 'Civi\Twingle\Shop\DAO\TwingleShop' => [ - 'name' => 'TwingleShop', - 'class' => 'Civi\Twingle\Shop\DAO\TwingleShop', - 'table' => 'civicrm_twingle_shop', - ], - ]); -} diff --git a/xml/schema/CRM/Twingle/TwingleProduct.entityType.php b/xml/schema/CRM/Twingle/TwingleProduct.entityType.php index 5b8879b..153d50b 100644 --- a/xml/schema/CRM/Twingle/TwingleProduct.entityType.php +++ b/xml/schema/CRM/Twingle/TwingleProduct.entityType.php @@ -4,7 +4,7 @@ return [ [ 'name' => 'TwingleProduct', - 'class' => 'Civi\Twingle\Shop\DAO\TwingleProduct', + 'class' => 'CRM_Twingle_DAO_TwingleProduct', 'table' => 'civicrm_twingle_product', ], ]; diff --git a/xml/schema/CRM/Twingle/TwingleProduct.xml b/xml/schema/CRM/Twingle/TwingleProduct.xml index 5787e69..4b6e48a 100644 --- a/xml/schema/CRM/Twingle/TwingleProduct.xml +++ b/xml/schema/CRM/Twingle/TwingleProduct.xml @@ -1,7 +1,7 @@ - CRM/Twingle/Shop + CRM/TwingleTwingleProductcivicrm_twingle_productThis table contains the Twingle Product data. diff --git a/xml/schema/CRM/Twingle/TwingleShop.entityType.php b/xml/schema/CRM/Twingle/TwingleShop.entityType.php index 34e6ce2..5fe53ea 100644 --- a/xml/schema/CRM/Twingle/TwingleShop.entityType.php +++ b/xml/schema/CRM/Twingle/TwingleShop.entityType.php @@ -4,7 +4,7 @@ return [ [ 'name' => 'TwingleShop', - 'class' => 'Civi\Twingle\Shop\DAO\TwingleShop', + 'class' => 'CRM_Twingle_DAO_TwingleShop', 'table' => 'civicrm_twingle_shop', ], ]; diff --git a/xml/schema/CRM/Twingle/TwingleShop.xml b/xml/schema/CRM/Twingle/TwingleShop.xml index 3d9d6ba..5b45a77 100644 --- a/xml/schema/CRM/Twingle/TwingleShop.xml +++ b/xml/schema/CRM/Twingle/TwingleShop.xml @@ -1,7 +1,7 @@
- CRM/Twingle/Shop + CRM/TwingleTwingleShopcivicrm_twingle_shopThis table contains the Twingle Shop data. Each Twingle Shop is linked to a corresponding Price Set.