From becebb6340ff30baf9c2439327f457d75eee2c45 Mon Sep 17 00:00:00 2001 From: eileen <emcnaughton@wikimedia.org> Date: Mon, 29 Mar 2021 13:11:23 +1300 Subject: [PATCH] dev/core#2486 Add entity financial trxn --- CRM/Financial/BAO/EntityFinancialTrxn.php | 31 ++++++++++++++++++ CRM/Financial/DAO/EntityFinancialTrxn.php | 15 +++++---- Civi/Api4/EntityFinancialTrxn.php | 34 ++++++++++++++++++++ xml/schema/Financial/EntityFinancialTrxn.xml | 3 ++ 4 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 CRM/Financial/BAO/EntityFinancialTrxn.php create mode 100644 Civi/Api4/EntityFinancialTrxn.php diff --git a/CRM/Financial/BAO/EntityFinancialTrxn.php b/CRM/Financial/BAO/EntityFinancialTrxn.php new file mode 100644 index 00000000000..3058b97549b --- /dev/null +++ b/CRM/Financial/BAO/EntityFinancialTrxn.php @@ -0,0 +1,31 @@ +<?php +/* + +--------------------------------------------------------------------+ + | Copyright CiviCRM LLC. All rights reserved. | + | | + | This work is published under the GNU AGPLv3 license with some | + | permitted exceptions and without any warranty. For full license | + | and copyright information, see https://civicrm.org/licensing | + +--------------------------------------------------------------------+ + */ + +/** + * + * @package CRM + * @copyright CiviCRM LLC https://civicrm.org/licensing + */ +class CRM_Financial_BAO_EntityFinancialTrxn extends CRM_Financial_DAO_EntityFinancialTrxn { + + /** + * Whitelist of possible values for the entity_table field + * + * @return array + */ + public static function entityTables(): array { + return [ + 'civicrm_contribution' => ts('Contribution'), + 'civicrm_financial_item' => ts('Financial Item'), + ]; + } + +} diff --git a/CRM/Financial/DAO/EntityFinancialTrxn.php b/CRM/Financial/DAO/EntityFinancialTrxn.php index 2e8cbc71845..fe3d2e09871 100644 --- a/CRM/Financial/DAO/EntityFinancialTrxn.php +++ b/CRM/Financial/DAO/EntityFinancialTrxn.php @@ -6,7 +6,7 @@ * * Generated from xml/schema/CRM/Financial/EntityFinancialTrxn.xml * DO NOT EDIT. Generated by CRM_Core_CodeGen - * (GenCodeChecksum:b5fb467815fb6b501dbd2f2cd789b1b9) + * (GenCodeChecksum:c45a5259ff34bda9b9bad9ced505ff16) */ /** @@ -113,7 +113,7 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO { 'where' => 'civicrm_entity_financial_trxn.id', 'table_name' => 'civicrm_entity_financial_trxn', 'entity' => 'EntityFinancialTrxn', - 'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn', + 'bao' => 'CRM_Financial_BAO_EntityFinancialTrxn', 'localizable' => 0, 'html' => [ 'type' => 'Number', @@ -134,8 +134,11 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO { 'export' => TRUE, 'table_name' => 'civicrm_entity_financial_trxn', 'entity' => 'EntityFinancialTrxn', - 'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn', + 'bao' => 'CRM_Financial_BAO_EntityFinancialTrxn', 'localizable' => 0, + 'pseudoconstant' => [ + 'callback' => 'CRM_Financial_BAO_EntityFinancialTrxn::entityTables', + ], 'add' => '3.2', ], 'entity_id' => [ @@ -146,7 +149,7 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO { 'where' => 'civicrm_entity_financial_trxn.entity_id', 'table_name' => 'civicrm_entity_financial_trxn', 'entity' => 'EntityFinancialTrxn', - 'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn', + 'bao' => 'CRM_Financial_BAO_EntityFinancialTrxn', 'localizable' => 0, 'add' => '3.2', ], @@ -157,7 +160,7 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO { 'where' => 'civicrm_entity_financial_trxn.financial_trxn_id', 'table_name' => 'civicrm_entity_financial_trxn', 'entity' => 'EntityFinancialTrxn', - 'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn', + 'bao' => 'CRM_Financial_BAO_EntityFinancialTrxn', 'localizable' => 0, 'FKClassName' => 'CRM_Financial_DAO_FinancialTrxn', 'html' => [ @@ -182,7 +185,7 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO { 'export' => TRUE, 'table_name' => 'civicrm_entity_financial_trxn', 'entity' => 'EntityFinancialTrxn', - 'bao' => 'CRM_Financial_DAO_EntityFinancialTrxn', + 'bao' => 'CRM_Financial_BAO_EntityFinancialTrxn', 'localizable' => 0, 'add' => '3.2', ], diff --git a/Civi/Api4/EntityFinancialTrxn.php b/Civi/Api4/EntityFinancialTrxn.php new file mode 100644 index 00000000000..3ad135bfdcf --- /dev/null +++ b/Civi/Api4/EntityFinancialTrxn.php @@ -0,0 +1,34 @@ +<?php + +/* + +--------------------------------------------------------------------+ + | Copyright CiviCRM LLC. All rights reserved. | + | | + | This work is published under the GNU AGPLv3 license with some | + | permitted exceptions and without any warranty. For full license | + | and copyright information, see https://civicrm.org/licensing | + +--------------------------------------------------------------------+ + */ + +/** + * + * @package CRM + * @copyright CiviCRM LLC https://civicrm.org/licensing + */ + +namespace Civi\Api4; + +/** + * EntityFinancialTrxns. Joins financial transactions to contributions + * and financial items. + * + * @see https://docs.civicrm.org/dev/en/latest/financial/financialentities/ + * + * @bridge entity_id financial_trxn_id + * + * @package Civi\Api4 + */ +class EntityFinancialTrxn extends Generic\DAOEntity { + use Generic\Traits\EntityBridge; + +} diff --git a/xml/schema/Financial/EntityFinancialTrxn.xml b/xml/schema/Financial/EntityFinancialTrxn.xml index dd40409bd90..b1fbbcc8ae1 100644 --- a/xml/schema/Financial/EntityFinancialTrxn.xml +++ b/xml/schema/Financial/EntityFinancialTrxn.xml @@ -28,6 +28,9 @@ <length>64</length> <required>true</required> <import>true</import> + <pseudoconstant> + <callback>CRM_Financial_BAO_EntityFinancialTrxn::entityTables</callback> + </pseudoconstant> <add>3.2</add> <comment>May contain civicrm_financial_item, civicrm_contribution, civicrm_financial_trxn, civicrm_grant, etc</comment> </field> -- GitLab