mirror of
https://github.com/OCA/account-financial-tools.git
synced 2025-02-02 12:47:26 +02:00
[IMP] Prevent to add both same journals on a period
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user