From a86ffbcca8c13683b72ea5304d626fc82d9f948e Mon Sep 17 00:00:00 2001
From: winklevos <30995408+winklevos@users.noreply.github.com>
Date: Sun, 15 Jan 2023 04:42:16 +1100
Subject: [PATCH] Fix condition mapping for payee rule creation from payee
 modal (#414)

---
 .../src/components/ManageRules.js             | 33 ++++++++++++-------
 .../components/payees/ManagePayeesWithData.js | 15 ++++++---
 2 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/packages/desktop-client/src/components/ManageRules.js b/packages/desktop-client/src/components/ManageRules.js
index 8b93bff0b..93e843c1d 100644
--- a/packages/desktop-client/src/components/ManageRules.js
+++ b/packages/desktop-client/src/components/ManageRules.js
@@ -588,20 +588,29 @@ export default function ManageRules({
   }, []);
 
   function onCreateRule() {
+    let rule = {
+      stage: null,
+      conditions: [
+        {
+          field: 'payee',
+          op: 'is',
+          value: payeeId || null,
+          type: 'id'
+        }
+      ],
+      actions: [
+        {
+          op: 'set',
+          field: 'category',
+          value: null,
+          type: 'id'
+        }
+      ]
+    };
+
     dispatch(
       pushModal('edit-rule', {
-        rule: {
-          stage: null,
-          conditions: [{ op: 'is', field: 'payee', value: null, type: 'id' }],
-          actions: [
-            {
-              op: 'set',
-              field: 'category',
-              value: null,
-              type: 'id'
-            }
-          ]
-        },
+        rule,
         onSave: async newRule => {
           let newRules = await loadRules();
 
diff --git a/packages/desktop-client/src/components/payees/ManagePayeesWithData.js b/packages/desktop-client/src/components/payees/ManagePayeesWithData.js
index 8d2f05e19..fa44a492f 100644
--- a/packages/desktop-client/src/components/payees/ManagePayeesWithData.js
+++ b/packages/desktop-client/src/components/payees/ManagePayeesWithData.js
@@ -90,19 +90,24 @@ function ManagePayeesWithData({
   }
 
   function onCreateRule(id) {
-    let payee = payees.find(p => p.id === id);
     let rule = {
-      id: null,
       stage: null,
       conditions: [
         {
-          field: 'description',
+          field: 'payee',
           op: 'is',
-          value: payee.id,
+          value: id,
           type: 'id'
         }
       ],
-      actions: []
+      actions: [
+        {
+          op: 'set',
+          field: 'category',
+          value: null,
+          type: 'id'
+        }
+      ]
     };
     pushModal('edit-rule', { rule });
   }
-- 
GitLab