From 691c945eb245874ee367ca76ebce8903f3a128c6 Mon Sep 17 00:00:00 2001
From: s j <sj@1729.be>
Date: Mon, 22 Aug 2022 13:23:04 +0000
Subject: [PATCH] fix: i7238 verschoven proefpakket wordt nogmaals aangerekend

---
 commerce_foodbox.module | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/commerce_foodbox.module b/commerce_foodbox.module
index 31f5124..ba974d5 100644
--- a/commerce_foodbox.module
+++ b/commerce_foodbox.module
@@ -565,7 +565,13 @@ function commerce_foodbox_book_subscription_adjustment_alter(&$data) {
     $data['debit_account'] = \Drupal::config('commerce_foodbox.settings')->get('loss_account');
   }
   elseif ($adjustment->bundle() == 'verschuiving') {
-    $data['credit_account'] = $s->getPostponedOrdersAccount($adjustment->get('subscription')->entity->get('uid')->entity)->id();
+    if ($adjustment->get('subscription')->entity->get('recurrences')->value > 0) {
+      $data['debit_account'] = $s->getTrialSubscriptionAccount($adjustment->get('subscription')->entity);
+      $data['credit_account'] = $s->getPostponedOrdersAccount($adjustment->get('subscription')->entity->get('uid')->entity)->id();
+    }
+    else {
+      $data['credit_account'] = $s->getPostponedOrdersAccount($adjustment->get('subscription')->entity->get('uid')->entity)->id();
+    }			      
   }
   elseif ($adjustment->bundle() == 'annulatie_krediet') {
     $data['credit_account'] = $s->getCustomerCreditAccount($adjustment->get('subscription')->entity->get('uid')->entity)->id();
@@ -784,22 +790,20 @@ function commerce_foodbox_commerce_order_debit_account_alter(&$data) {
   $order_period = $order->get('order_period')->value;
 
   if ($subscription) {
-    if ($subscription->get('recurrences')->value > 0) {
+    // FIXME: only if prepayment exists.
+    if ($order->get('subscription_adjustment')->entity &&
+      $order->get('subscription_adjustment')->entity->bundle() == 'verschuiving') {
+      $s2 = \Drupal::service('commerce_foodbox.default');
+      $data['account'] = $s2->getPostponedOrdersAccount($order->getCustomer());
+    }
+    elseif ($subscription->get('recurrences')->value > 0) {
       // Trial subscriptions.
       $s2 = \Drupal::service('commerce_foodbox.default');
       $data['account'] = $s2->getTrialSubscriptionAccount($subscription);
     }
-    else {
-      // FIXME: only if prepayment exists.
-      if ($order->get('subscription_adjustment')->entity &&
-        $order->get('subscription_adjustment')->entity->bundle() == 'verschuiving') {
-        $s2 = \Drupal::service('commerce_foodbox.default');
-        $data['account'] = $s2->getPostponedOrdersAccount($order->getCustomer());
-      }
-      elseif (!$subscription->get('no_prepayment')->value) {
-        $s2 = \Drupal::service('commerce_foodbox.default');
-        $data['account'] = $s2->getPrepaymentAccount($order->getCustomer());
-      }
+    elseif (!$subscription->get('no_prepayment')->value) {
+      $s2 = \Drupal::service('commerce_foodbox.default');
+      $data['account'] = $s2->getPrepaymentAccount($order->getCustomer());
     }
   }
 }
-- 
GitLab