From 93186e93dd78b7cf6e66a4aad3183c3579ce2596 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Mon, 18 Jun 2007 12:01:48 +0000
Subject: [PATCH] Handle "former" coin status. Never define a variation on
 coins.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@14846 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5SyncML/Conduit/BaobabConduit.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/product/ERP5SyncML/Conduit/BaobabConduit.py b/product/ERP5SyncML/Conduit/BaobabConduit.py
index 325cd9cc31..4ab3961a34 100644
--- a/product/ERP5SyncML/Conduit/BaobabConduit.py
+++ b/product/ERP5SyncML/Conduit/BaobabConduit.py
@@ -524,6 +524,11 @@ class BaobabConduit(ERP5Conduit):
            currency_name not in (None, '')                    and \
            currency_cash.getBasePrice()       == base_price   and \
            currency_cash.getPriceCurrencyId() == currency_name:
+          if currency_portal_type == 'Coin' and kw.get('variation', None) == 'ANC' and \
+             not currency_cash.getFormer():
+            # If we are searching for an 'ANC' variation of a coin, getFormer
+            # must be true for the currency cash to match.
+            continue
           line_currency_cash = currency_cash
           break
       # no currency found
@@ -560,7 +565,8 @@ class BaobabConduit(ERP5Conduit):
           if base_key == 'status_code':
             category = self.status_code_to_cash_status[kw[base_key]]
           elif base_key == 'variation':
-            category = self.variation_translate_dict.get(kw[base_key], kw[base_key])
+            if currency_portal_type == 'Banknote': # Variation is set only for Banknotes.
+              category = self.variation_translate_dict.get(kw[base_key], kw[base_key])
           else:
             category = kw[base_key]
         else:
-- 
2.30.9