From e8be1df81d8f204d59632e89b79fdf989e763a72 Mon Sep 17 00:00:00 2001 From: Dave Jenkins Date: Wed, 12 Oct 2022 12:13:16 +0000 Subject: [PATCH] AdminUI - Add SearchKit-based screen for Administer Financial Accounts --- CRM/Contribute/xml/Menu/Contribute.xml | 5 + CRM/Financial/DAO/FinancialAccount.php | 13 +- CRM/Financial/Page/FinancialAccount.php | 4 +- .../ang/afsearchFinancialAccounts.aff.html | 8 + .../ang/afsearchFinancialAccounts.aff.json | 9 + ...arch_Administer_Financial_Accounts.mgd.php | 184 ++++++++++++++++++ xml/schema/Financial/FinancialAccount.xml | 5 + 7 files changed, 225 insertions(+), 3 deletions(-) create mode 100644 ext/civicrm_admin_ui/ang/afsearchFinancialAccounts.aff.html create mode 100644 ext/civicrm_admin_ui/ang/afsearchFinancialAccounts.aff.json create mode 100644 ext/civicrm_admin_ui/managed/SavedSearch_Administer_Financial_Accounts.mgd.php diff --git a/CRM/Contribute/xml/Menu/Contribute.xml b/CRM/Contribute/xml/Menu/Contribute.xml index b57763d0d4..011535753f 100644 --- a/CRM/Contribute/xml/Menu/Contribute.xml +++ b/CRM/Contribute/xml/Menu/Contribute.xml @@ -141,6 +141,11 @@ CiviContribute 370 + + civicrm/admin/financial/financialAccount/edit + Edit Financial Accounts + CRM_Financial_Form_FinancialAccount + civicrm/admin/options/payment_instrument Payment Methods diff --git a/CRM/Financial/DAO/FinancialAccount.php b/CRM/Financial/DAO/FinancialAccount.php index 55f3b7be37..2cc73cc1e0 100644 --- a/CRM/Financial/DAO/FinancialAccount.php +++ b/CRM/Financial/DAO/FinancialAccount.php @@ -6,7 +6,7 @@ * * Generated from xml/schema/CRM/Financial/FinancialAccount.xml * DO NOT EDIT. Generated by CRM_Core_CodeGen - * (GenCodeChecksum:955774761ef2933a6e06f81578965a2d) + * (GenCodeChecksum:1a42189fea3af50cf469b298ae63621f) */ /** @@ -31,6 +31,17 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO { */ public static $_log = TRUE; + /** + * Paths for accessing this entity in the UI. + * + * @var string[] + */ + protected static $_paths = [ + 'add' => 'civicrm/admin/financial/financialAccount/edit?action=add&reset=1', + 'update' => 'civicrm/admin/financial/financialAccount/edit?action=update&id=[id]&reset=1', + 'delete' => 'civicrm/admin/financial/financialAccount/edit?action=delete&id=[id]&reset=1', + ]; + /** * ID * diff --git a/CRM/Financial/Page/FinancialAccount.php b/CRM/Financial/Page/FinancialAccount.php index 35271c083c..b17d1edabd 100644 --- a/CRM/Financial/Page/FinancialAccount.php +++ b/CRM/Financial/Page/FinancialAccount.php @@ -49,7 +49,7 @@ class CRM_Financial_Page_FinancialAccount extends CRM_Core_Page_Basic { self::$_links = [ CRM_Core_Action::UPDATE => [ 'name' => ts('Edit'), - 'url' => 'civicrm/admin/financial/financialAccount', + 'url' => 'civicrm/admin/financial/financialAccount/edit', 'qs' => 'action=update&id=%%id%%&reset=1', 'title' => ts('Edit Financial Type'), ], @@ -65,7 +65,7 @@ class CRM_Financial_Page_FinancialAccount extends CRM_Core_Page_Basic { ], CRM_Core_Action::DELETE => [ 'name' => ts('Delete'), - 'url' => 'civicrm/admin/financial/financialAccount', + 'url' => 'civicrm/admin/financial/financialAccount/edit', 'qs' => 'action=delete&id=%%id%%', 'title' => ts('Delete Financial Type'), ], diff --git a/ext/civicrm_admin_ui/ang/afsearchFinancialAccounts.aff.html b/ext/civicrm_admin_ui/ang/afsearchFinancialAccounts.aff.html new file mode 100644 index 0000000000..a8b5cf6196 --- /dev/null +++ b/ext/civicrm_admin_ui/ang/afsearchFinancialAccounts.aff.html @@ -0,0 +1,8 @@ +
+
+ +
{{:: ts('Financial accounts correspond to those in your accounting system.') }} {{:: ts('Financial types') }}, {{:: ts('payment methods') }}, {{:: ts('and') }} {{:: ts('premiums') }} {{:: ts('are associated with financial accounts so that they can result in the proper double-entry transactions to export to your accounting system.') }}
+ +
+ +
diff --git a/ext/civicrm_admin_ui/ang/afsearchFinancialAccounts.aff.json b/ext/civicrm_admin_ui/ang/afsearchFinancialAccounts.aff.json new file mode 100644 index 0000000000..b675e79b84 --- /dev/null +++ b/ext/civicrm_admin_ui/ang/afsearchFinancialAccounts.aff.json @@ -0,0 +1,9 @@ +{ + "type": "search", + "title": "Financial Accounts", + "description": "Administer Financial Accounts", + "is_public": false, + "icon": "fa-list-alt", + "server_route": "civicrm/admin/financial/financialAccount", + "permission": "administer CiviCRM" +} diff --git a/ext/civicrm_admin_ui/managed/SavedSearch_Administer_Financial_Accounts.mgd.php b/ext/civicrm_admin_ui/managed/SavedSearch_Administer_Financial_Accounts.mgd.php new file mode 100644 index 0000000000..72a046270e --- /dev/null +++ b/ext/civicrm_admin_ui/managed/SavedSearch_Administer_Financial_Accounts.mgd.php @@ -0,0 +1,184 @@ + 'SavedSearch_Administer_Financial_Accounts', + 'entity' => 'SavedSearch', + 'cleanup' => 'always', + 'update' => 'unmodified', + 'params' => [ + 'version' => 4, + 'values' => [ + 'name' => 'Administer_Financial_Accounts', + 'label' => E::ts('Administer Financial Accounts'), + 'form_values' => NULL, + 'mapping_id' => NULL, + 'search_custom_id' => NULL, + 'api_entity' => 'FinancialAccount', + 'api_params' => [ + 'version' => 4, + 'select' => [ + 'name', + 'description', + 'accounting_code', + 'financial_account_type_id:label', + 'account_type_code', + 'is_deductible', + 'is_reserved', + 'is_default', + 'is_active', + ], + 'orderBy' => [], + 'where' => [], + 'groupBy' => [], + 'join' => [], + 'having' => [], + ], + 'expires_date' => NULL, + 'description' => NULL, + ], + ], + ], + [ + 'name' => 'SavedSearch_Administer_Financial_Accounts_SearchDisplay_Administer_Financial_Accounts_Table_1', + 'entity' => 'SearchDisplay', + 'cleanup' => 'unused', + 'update' => 'unmodified', + 'params' => [ + 'version' => 4, + 'values' => [ + 'name' => 'Administer_Financial_Accounts_Table_1', + 'label' => E::ts('Financial Accounts Table'), + 'saved_search_id.name' => 'Administer_Financial_Accounts', + 'type' => 'table', + 'settings' => [ + 'actions' => FALSE, + 'limit' => 50, + 'classes' => [ + 'table', + 'table-striped', + ], + 'pager' => [], + 'placeholder' => 5, + 'sort' => [ + [ + 'financial_account_type_id:label', + 'ASC', + ], + [ + 'account_type_code', + 'ASC', + ], + ], + 'columns' => [ + [ + 'type' => 'field', + 'key' => 'name', + 'dataType' => 'String', + 'label' => E::ts('Name'), + 'sortable' => TRUE, + 'editable' => TRUE, + ], + [ + 'type' => 'field', + 'key' => 'description', + 'dataType' => 'String', + 'label' => E::ts('Description'), + 'sortable' => TRUE, + 'editable' => TRUE, + ], + [ + 'type' => 'field', + 'key' => 'accounting_code', + 'dataType' => 'String', + 'label' => E::ts('Acctg Code'), + 'sortable' => TRUE, + 'editable' => TRUE, + ], + [ + 'type' => 'field', + 'key' => 'financial_account_type_id:label', + 'dataType' => 'Integer', + 'label' => E::ts('Account Type'), + 'sortable' => TRUE, + 'rewrite' => '[financial_account_type_id:label] ([account_type_code])', + ], + [ + 'type' => 'field', + 'key' => 'is_deductible', + 'dataType' => 'Boolean', + 'label' => E::ts('Deductible'), + 'sortable' => TRUE, + ], + [ + 'type' => 'field', + 'key' => 'is_reserved', + 'dataType' => 'Boolean', + 'label' => E::ts('Reserved'), + 'sortable' => TRUE, + ], + [ + 'type' => 'field', + 'key' => 'is_default', + 'dataType' => 'Boolean', + 'label' => E::ts('Default'), + 'sortable' => TRUE, + ], + [ + 'type' => 'field', + 'key' => 'is_active', + 'dataType' => 'Boolean', + 'label' => E::ts('Enabled'), + 'sortable' => TRUE, + 'editable' => TRUE, + ], + [ + 'size' => 'btn-xs', + 'links' => [ + [ + 'entity' => 'FinancialAccount', + 'action' => 'update', + 'join' => '', + 'target' => 'crm-popup', + 'icon' => 'fa-pencil', + 'text' => E::ts('Edit'), + 'style' => 'default', + 'path' => '', + 'condition' => [], + ], + [ + 'entity' => 'FinancialAccount', + 'action' => 'delete', + 'join' => '', + 'target' => 'crm-popup', + 'icon' => 'fa-trash', + 'text' => E::ts('Delete'), + 'style' => 'danger', + 'path' => '', + 'condition' => ['is_reserved', '=', FALSE], + ], + ], + 'type' => 'buttons', + 'alignment' => 'text-right', + ], + ], + 'addButton' => [ + 'path' => 'civicrm/admin/financial/financialAccount/edit?action=add&reset=1', + 'text' => E::ts('Add Financial Account'), + 'icon' => 'fa-plus', + ], + 'cssRules' => [ + [ + 'disabled', + 'is_active', + '=', + FALSE, + ], + ], + ], + 'acl_bypass' => FALSE, + ], + ], + ], +]; diff --git a/xml/schema/Financial/FinancialAccount.xml b/xml/schema/Financial/FinancialAccount.xml index aa6815cbe7..b8486bab71 100644 --- a/xml/schema/Financial/FinancialAccount.xml +++ b/xml/schema/Financial/FinancialAccount.xml @@ -7,6 +7,11 @@ 3.2 true CiviContribute + + civicrm/admin/financial/financialAccount/edit?action=add&reset=1 + civicrm/admin/financial/financialAccount/edit?action=update&id=[id]&reset=1 + civicrm/admin/financial/financialAccount/edit?action=delete&id=[id]&reset=1 + id Financial Account ID -- 2.25.1