From ba77eaba122ee1403643fd0194e9461babdfbdeb Mon Sep 17 00:00:00 2001
From: Henning Leutz <leutz@pcsg.de>
Date: Fri, 10 May 2024 10:54:16 +0200
Subject: [PATCH] fix: discount user_groups assignment migration

---
 events.xml                             |  1 +
 src/QUI/ERP/Discount/Discount.php      |  2 +-
 src/QUI/ERP/Discount/EventHandling.php | 13 +++++++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/events.xml b/events.xml
index df256be..d4883c7 100644
--- a/events.xml
+++ b/events.xml
@@ -3,4 +3,5 @@
     <event on="onQuiqqerProductsCalcListProduct" fire="\QUI\ERP\Discount\EventHandling::onQuiqqerProductsCalcListProduct"/>
     <event on="onQuiqqerProductsCalcList" fire="\QUI\ERP\Discount\EventHandling::onQuiqqerProductsCalcList"/>
     <event on="onQuiqqerProductsCalcProduct" fire="\QUI\ERP\Discount\EventHandling::onQuiqqerProductsCalcListProduct"/>
+    <event on="onQuiqqerMigrationV2" fire="\QUI\ERP\Discount\EventHandling::onQuiqqerMigrationV2"/>
 </events>
\ No newline at end of file
diff --git a/src/QUI/ERP/Discount/Discount.php b/src/QUI/ERP/Discount/Discount.php
index b9b2171..399ae32 100644
--- a/src/QUI/ERP/Discount/Discount.php
+++ b/src/QUI/ERP/Discount/Discount.php
@@ -356,7 +356,7 @@ public function canUsedBy(QUI\Interfaces\Users\User $User): bool
         /* @var $Group QUI\Groups\Group */
         foreach ($discountGroups as $gid) {
             foreach ($groupsOfUser as $Group) {
-                if ($Group->getUsers() == $gid) {
+                if ($Group->getId() == $gid) {
                     return true;
                 }
 
diff --git a/src/QUI/ERP/Discount/EventHandling.php b/src/QUI/ERP/Discount/EventHandling.php
index c1de6eb..f7f1551 100644
--- a/src/QUI/ERP/Discount/EventHandling.php
+++ b/src/QUI/ERP/Discount/EventHandling.php
@@ -13,6 +13,8 @@
 use QUI\ERP\Products\Utils\Calc;
 use QUI\ERP\Products\Product\ProductList;
 
+use QUI\System\Console\Tools\MigrationV2;
+
 use function array_filter;
 use function explode;
 
@@ -319,4 +321,15 @@ public static function onQuiqqerProductsCalcList(
             }
         }
     }
+
+
+    public static function onQuiqqerMigrationV2(MigrationV2 $Console): void
+    {
+        $Console->writeLn('- Migrate discounts');
+
+        QUI\Utils\MigrationV1ToV2::migrateUserGroupField(
+            QUI::getDBTableName('discounts'),
+            'user_groups'
+        );
+    }
 }
-- 
GitLab