From 0421df6f4314a5c485bd1ac457ccdce970c0ea2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Fri, 28 Sep 2007 12:05:33 +0000 Subject: [PATCH] remove the implicit set of mirror section, because it makes it's to easy to add transactions for another section in multi currency accounting. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@16701 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../Document/AccountingTransactionLine.py | 68 ------------------- product/ERP5/tests/testAccounting.py | 67 ------------------ 2 files changed, 135 deletions(-) diff --git a/product/ERP5/Document/AccountingTransactionLine.py b/product/ERP5/Document/AccountingTransactionLine.py index eb0f2a47b7..4dc3884d70 100644 --- a/product/ERP5/Document/AccountingTransactionLine.py +++ b/product/ERP5/Document/AccountingTransactionLine.py @@ -62,74 +62,6 @@ class AccountingTransactionLine(DeliveryLine): # Declarative interfaces __implements__ = ( ) - security.declarePrivate('_setSource') - def _setSource(self, value, portal_type=None): - """ - Set the source Account and implicitely the destination Account - using the source's mirror account. - """ - self._setCategoryMembership('source', value, base=0) - if self.getPortalType() not in \ - self.getPortalBalanceTransactionLineTypeList() \ - and value not in (None, ''): - source = self.getPortalObject().portal_categories.resolveCategory(value) - destination = self.getDestination() - if source is not None: - mirror_list = source.getDestinationList() - else: - mirror_list = [] - if len(mirror_list) > 0 and destination not in mirror_list: - self._setCategoryMembership('destination', mirror_list[0], base=0) - - security.declareProtected(Permissions.ModifyPortalContent, 'setSource') - def setSource(self, value): - """ - Set the source Account and implicitely the destination Account - using the source's mirror account, then reindex self. - """ - self._setSource(value) - self.reindexObject() - - security.declarePrivate('_setDestination') - def _setDestination(self, value, portal_type=None): - """ - Set the destination Account and implicitely the source Account - using the source's mirror account. - """ - self._setCategoryMembership('destination', value, base=0) - if self.getPortalType() not in \ - self.getPortalBalanceTransactionLineTypeList()\ - and value not in (None, ''): - destination = self.getPortalObject().\ - portal_categories.resolveCategory(value) - source = self.getSource() - if destination is not None: - mirror_list = destination.getDestinationList() - else: - mirror_list = [] - if len(mirror_list) > 0 and source not in mirror_list: - self._setCategoryMembership('source', mirror_list[0], base=0) - - security.declareProtected(Permissions.ModifyPortalContent, 'setDestination') - def setDestination(self, value): - """ - Set the destination Account and implicitely the source Account - using the source's mirror account, then reindex self. - """ - self._setDestination(value) - self.reindexObject() - - security.declarePrivate('_edit') - def _edit(self, REQUEST = None, force_update = 0, **kw): - """ - Edit the object and set source/destination using magic methods. - """ - if kw.has_key('source'): - self._setSource(kw['source']) - elif kw.has_key('destination') : - self._setDestination(kw['destination']) - DeliveryLine._edit(self, REQUEST=REQUEST, force_update=force_update, **kw) - security.declareProtected(Permissions.AccessContentsInformation, 'getInventoriatedQuantity') def getInventoriatedQuantity(self): diff --git a/product/ERP5/tests/testAccounting.py b/product/ERP5/tests/testAccounting.py index 744b8c3004..0b16187d70 100644 --- a/product/ERP5/tests/testAccounting.py +++ b/product/ERP5/tests/testAccounting.py @@ -1445,63 +1445,6 @@ class TestAccounting(ERP5TypeTestCase): bank_account=self.bank_account, account_list=self.account_list ) - def stepCreateAccountingTransactionAndCheckMirrorAccount(self, - sequence, **kw): - """Check that mirror account are set automatically. """ - account_list = sequence.get('account_list') - - for account in account_list : - self.assertNotEquals(account.getDestinationValue(), None) - - transaction = self.getAccountingModule().newContent( - portal_type = self.accounting_transaction_portal_type, - source_section_value = sequence.get('client'), - resource_value = sequence.get('EUR'), - created_by_builder = 1, - ) - - # setting both source and destination shouldn't use mirror accounts - destination = sequence.get('receivable_account') - for account in account_list : - transaction_line = transaction.newContent( - portal_type = self.accounting_transaction_line_portal_type, - source = account.getRelativeUrl(), - destination = destination.getRelativeUrl(), - ) - self.assertEquals( destination.getRelativeUrl(), - transaction_line.getDestination() ) - - # setting only a source must use mirror account as destination - for account in account_list : - transaction_line = transaction.newContent( - portal_type = self.accounting_transaction_line_portal_type, - source = account.getRelativeUrl(), - ) - self.assertEquals( account.getDestination(), - transaction_line.getDestination() ) - - # editing the destination later should not change the source once - # the mirror account has been set. - account = sequence.get('receivable_account') - destination = sequence.get('bank_account') - another_destination = sequence.get('expense_account') - account.setDestinationValueList(account_list) - - transaction_line = transaction.newContent( - portal_type = self.accounting_transaction_line_portal_type, - source = account.getRelativeUrl(), ) - automatically_set_destination = transaction_line.getDestinationValue() - # get another account. - if automatically_set_destination == destination : - forced_destination = destination - else : - forced_destination = another_destination - # set all other accounts as mirror account to this one. - forced_destination.setDestinationValueList(account_list) - - # change the destination and check the source didn't change. - transaction_line.edit(destination = forced_destination.getRelativeUrl()) - self.assertEquals( transaction_line.getSourceValue(), account ) def getInvoicePropertyList(self): """Returns the list of properties for invoices, stored as @@ -2286,16 +2229,6 @@ class TestAccounting(ERP5TypeTestCase): stepCheckInvoicesAreDraft """, quiet=quiet) - def test_MirrorAccounts(self, quiet=QUIET, run=RUN_ALL_TESTS): - """Tests using an account on one sides uses the mirror account - on the other size. """ - if not run : return - self.playSequence(""" - stepCreateEntities - stepCreateAccounts - stepCreateAccountingTransactionAndCheckMirrorAccount - """, quiet=quiet) - def test_Acquisition(self, quiet=QUIET, run=RUN_ALL_TESTS): """Tests acquisition, categories and portal types are well configured. """ -- 2.30.9