From 9340f0c86ca023149cbb0db0e08bfe36006b5022 Mon Sep 17 00:00:00 2001 From: Adrien Peiffer Date: Thu, 21 Aug 2014 15:53:48 +0200 Subject: [PATCH] [IMP] Prevent to add both same journals on a period --- .../model/account_journal_period.py | 12 ++++++++++++ .../tests/test_account_journal_period_close.py | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/account_journal_period_close/model/account_journal_period.py b/account_journal_period_close/model/account_journal_period.py index d6cafbb29..23a4b779f 100644 --- a/account_journal_period_close/model/account_journal_period.py +++ b/account_journal_period_close/model/account_journal_period.py @@ -72,6 +72,18 @@ class AccountJournalPeriod(orm.Model): .browse(cr, uid, values['period_id'], context=context) values.update({'name': (journal.code or journal.name)+':' + (period.name or '')}), + if values.get('period_id') and values.get('journal_id'): + journal_period_duplicate_ids = self\ + .search(cr, uid, [('period_id', '=', + values.get('period_id')), + ('journal_id', '=', + values.get('journal_id'))], + context=context) + if (journal_period_duplicate_ids): + raise orm.except_orm(_('error'), + _('You can not add 2 times' + ' the same journal in' + ' same period.')) return super(AccountJournalPeriod, self).create(cr, uid, values, diff --git a/account_journal_period_close/tests/test_account_journal_period_close.py b/account_journal_period_close/tests/test_account_journal_period_close.py index ed175a425..2c736be9c 100644 --- a/account_journal_period_close/tests/test_account_journal_period_close.py +++ b/account_journal_period_close/tests/test_account_journal_period_close.py @@ -194,3 +194,14 @@ class TestAccountConstraintChronology(common.TransactionCase): jour_per_obj.action_done, self.cr, self.uid, journal_period_ids, context=context) + + def test_duplicate_journal_period(self): + context = {} + journal_id = self.ref('account.sales_journal') + period_id = self.ref('account.period_1') + create_journal_period(self, period_id, journal_id, context) + # I check if the exception is correctly raised at adding both same + # journal on a period + self.assertRaises(orm.except_orm, + create_journal_period, + self, period_id, journal_id, context)