From a13db56909cc22ff3f8a713f40efee2a71ef6be7 Mon Sep 17 00:00:00 2001
From: s j <sj@1729.be>
Date: Sun, 25 Dec 2022 08:11:32 +0100
Subject: [PATCH] imp: add basic account types

---
 accounting.install                              | 17 +++++++++++++++++
 ...accounting.accounting_account_type.asset.yml |  4 ++++
 ...ccounting.accounting_account_type.equity.yml |  4 ++++
 ...counting.accounting_account_type.expense.yml |  4 ++++
 ...ccounting.accounting_account_type.income.yml |  4 ++++
 ...unting.accounting_account_type.liability.yml |  4 ++++
 6 files changed, 37 insertions(+)
 create mode 100644 config/install/accounting.accounting_account_type.asset.yml
 create mode 100644 config/install/accounting.accounting_account_type.equity.yml
 create mode 100644 config/install/accounting.accounting_account_type.expense.yml
 create mode 100644 config/install/accounting.accounting_account_type.income.yml
 create mode 100644 config/install/accounting.accounting_account_type.liability.yml

diff --git a/accounting.install b/accounting.install
index 3c7f6f0..bcb3d29 100644
--- a/accounting.install
+++ b/accounting.install
@@ -265,3 +265,20 @@ function accounting_update_8012(&$sandbox) {
   \Drupal::entityDefinitionUpdateManager()
     ->installFieldStorageDefinition('reconciliation_id', 'journal_entry_line', 'journal_entry_line', $storage_definition);
 }
+
+/**
+ * Install basic account types.
+ */
+function accounting_update_8013(&$sandbox) {
+  foreach ([
+      'accounting.accounting_account_type.asset',
+      'accounting.accounting_account_type.equity',
+      'accounting.accounting_account_type.expense',
+      'accounting.accounting_account_type.income',
+      'accounting.accounting_account_type.liability',
+    ] as $config) {
+    $config_path = \Drupal::service('extension.list.module')->getPath('accounting') . '/config/install/' . $config .'.yml';
+    $data = \Symfony\Component\Yaml\Yaml::parseFile($config_path);
+    \Drupal::configFactory()->getEditable($config)->setData($data)->save(TRUE);
+  }
+}
diff --git a/config/install/accounting.accounting_account_type.asset.yml b/config/install/accounting.accounting_account_type.asset.yml
new file mode 100644
index 0000000..e5c6760
--- /dev/null
+++ b/config/install/accounting.accounting_account_type.asset.yml
@@ -0,0 +1,4 @@
+status: true
+dependencies: {  }
+id: asset
+label: 'Asset'
diff --git a/config/install/accounting.accounting_account_type.equity.yml b/config/install/accounting.accounting_account_type.equity.yml
new file mode 100644
index 0000000..d4ae1b1
--- /dev/null
+++ b/config/install/accounting.accounting_account_type.equity.yml
@@ -0,0 +1,4 @@
+status: true
+dependencies: {  }
+id: equity
+label: 'Equity'
diff --git a/config/install/accounting.accounting_account_type.expense.yml b/config/install/accounting.accounting_account_type.expense.yml
new file mode 100644
index 0000000..abedaae
--- /dev/null
+++ b/config/install/accounting.accounting_account_type.expense.yml
@@ -0,0 +1,4 @@
+status: true
+dependencies: {  }
+id: expense
+label: 'Expense'
diff --git a/config/install/accounting.accounting_account_type.income.yml b/config/install/accounting.accounting_account_type.income.yml
new file mode 100644
index 0000000..a1d8881
--- /dev/null
+++ b/config/install/accounting.accounting_account_type.income.yml
@@ -0,0 +1,4 @@
+status: true
+dependencies: {  }
+id: income
+label: 'Income'
diff --git a/config/install/accounting.accounting_account_type.liability.yml b/config/install/accounting.accounting_account_type.liability.yml
new file mode 100644
index 0000000..88a80d7
--- /dev/null
+++ b/config/install/accounting.accounting_account_type.liability.yml
@@ -0,0 +1,4 @@
+status: true
+dependencies: {  }
+id: liability
+label: 'Liability'
-- 
GitLab