Merge lp:~icsergio/openobject-italia/61_fix_date_invoice_check into lp:~openobject-italia-core-devs/openobject-italia/italian-addons-6.1

Proposed by Sergio Corato
Status: Merged
Merged at revision: 242
Proposed branch: lp:~icsergio/openobject-italia/61_fix_date_invoice_check
Merge into: lp:~openobject-italia-core-devs/openobject-italia/italian-addons-6.1
Diff against target: 67 lines (+12/-11)
3 files modified
l10n_it_account/AUTHORS.txt (+1/-0)
l10n_it_account/__openerp__.py (+1/-1)
l10n_it_account/account/invoice.py (+10/-10)
To merge this branch: bzr merge lp:~icsergio/openobject-italia/61_fix_date_invoice_check
Reviewer Review Type Date Requested Status
Lorenzo Battistini code review Approve
Review via email: mp+196993@code.launchpad.net

Description of the change

Registration data of supplier' invoices is checked only on the current period: with this branch it'll be checked on all the periods belonging to the relative fy.

To post a comment you must log in.
Revision history for this message
Sergio Corato (icsergio) wrote :

Some check made with flake8.

Revision history for this message
Lorenzo Battistini (elbati) :
review: Approve (code review)
Revision history for this message
Lorenzo Battistini (elbati) wrote :

The 'action_number' method of account_invoice_sequential_dates (v7) should be updated too

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'l10n_it_account/AUTHORS.txt'
--- l10n_it_account/AUTHORS.txt 2013-05-07 12:26:04 +0000
+++ l10n_it_account/AUTHORS.txt 2013-11-27 23:29:50 +0000
@@ -1,3 +1,4 @@
1Sergio Corato <sergio.corato@didotech.com>
1Davide Corio <davide.corio@domsense.com>2Davide Corio <davide.corio@domsense.com>
2Luca Subiaco <subluca@gmail.com>3Luca Subiaco <subluca@gmail.com>
3Simone Orsi <simone.orsi@domsense.com>4Simone Orsi <simone.orsi@domsense.com>
45
=== modified file 'l10n_it_account/__openerp__.py'
--- l10n_it_account/__openerp__.py 2013-09-05 22:04:55 +0000
+++ l10n_it_account/__openerp__.py 2013-11-27 23:29:50 +0000
@@ -20,7 +20,7 @@
20##############################################################################20##############################################################################
21{21{
22 'name': 'Italian Localisation - Account',22 'name': 'Italian Localisation - Account',
23 'version': '0.1',23 'version': '0.2',
24 'category': 'Localisation/Italy',24 'category': 'Localisation/Italy',
25 'description': """This module customizes OpenERP in order to fit italian laws and mores - Account version25 'description': """This module customizes OpenERP in order to fit italian laws and mores - Account version
2626
2727
=== modified file 'l10n_it_account/account/invoice.py'
--- l10n_it_account/account/invoice.py 2013-09-10 11:39:49 +0000
+++ l10n_it_account/account/invoice.py 2013-11-27 23:29:50 +0000
@@ -40,22 +40,20 @@
40 date_invoice = obj_inv.date_invoice40 date_invoice = obj_inv.date_invoice
41 reg_date = obj_inv.registration_date41 reg_date = obj_inv.registration_date
42 journal = obj_inv.journal_id.id42 journal = obj_inv.journal_id.id
43 date_start = obj_inv.registration_date or obj_inv.date_invoice or time.strftime('%Y-%m-%d')43 fy_id = obj_inv.period_id.fiscalyear_id.id
44 date_stop = obj_inv.registration_date or obj_inv.date_invoice or time.strftime('%Y-%m-%d')
45 period_ids = self.pool.get('account.period').search(44 period_ids = self.pool.get('account.period').search(
46 cr, uid, [('date_start','<=',date_start),('date_stop','>=',date_stop), 45 cr, uid, [('fiscalyear_id', '=', fy_id), ('company_id', '=', obj_inv.company_id.id)])
47 ('company_id', '=', obj_inv.company_id.id)])
48 if inv_type == 'out_invoice' or inv_type == 'out_refund':46 if inv_type == 'out_invoice' or inv_type == 'out_refund':
49 #check if another invoice with a minor number and a superior date_invoice is posted
50 res = self.search(cr, uid, [('type','=',inv_type),('date_invoice','>',date_invoice), 47 res = self.search(cr, uid, [('type','=',inv_type),('date_invoice','>',date_invoice),
51 ('number', '<', number), ('journal_id','=',journal),('period_id','in',period_ids)])48 ('number', '<', number), ('journal_id', '=', journal),
49 ('period_id', 'in', period_ids)])
52 if res:50 if res:
53 raise orm.except_orm(_('Date Inconsistency'),51 raise orm.except_orm(_('Date Inconsistency'),
54 _('Cannot create invoice! Post the invoice with a greater date'))52 _('Cannot create invoice! Post the invoice with a greater date'))
55 if inv_type == 'in_invoice' or inv_type == 'in_refund':53 if inv_type == 'in_invoice' or inv_type == 'in_refund':
56 #check if an invoice with a superior registration_date is posted
57 res = self.search(cr, uid, [('type','=',inv_type),('registration_date','>',reg_date), 54 res = self.search(cr, uid, [('type','=',inv_type),('registration_date','>',reg_date),
58 ('journal_id','=',journal),('period_id','in',period_ids)], context=context)55 ('number', '<', number), ('journal_id', '=', journal),
56 ('period_id', 'in', period_ids)], context=context)
59 if res:57 if res:
60 raise orm.except_orm(_('Date Inconsistency'),58 raise orm.except_orm(_('Date Inconsistency'),
61 _('Cannot create invoice! Post the invoice with a greater date'))59 _('Cannot create invoice! Post the invoice with a greater date'))
@@ -63,8 +61,10 @@
63 supplier_invoice_number = obj_inv.supplier_invoice_number61 supplier_invoice_number = obj_inv.supplier_invoice_number
64 partner_id = obj_inv.partner_id.id62 partner_id = obj_inv.partner_id.id
65 res = self.search(cr, uid, [('type','=',inv_type),('date_invoice','=',date_invoice), 63 res = self.search(cr, uid, [('type','=',inv_type),('date_invoice','=',date_invoice),
66 ('journal_id','=',journal),('supplier_invoice_number','=',supplier_invoice_number),64 ('journal_id', '=', journal),
67 ('partner_id','=',partner_id),('state','not in',('draft','cancel'))], context=context)65 ('supplier_invoice_number', '=', supplier_invoice_number),
66 ('partner_id', '=', partner_id),
67 ('state', 'not in', ('draft', 'cancel'))], context=context)
68 if res:68 if res:
69 raise orm.except_orm(_('Invoice Duplication'),69 raise orm.except_orm(_('Invoice Duplication'),
70 _('Invoice already posted!'))70 _('Invoice already posted!'))

Subscribers

People subscribed via source and target branches