[IMP] make the constraint checking the date is within the move fiscal year configurable per journal

This commit is contained in:
Stéphane Bidoul
2014-04-01 14:36:43 +02:00
parent 11e9e219a6
commit c678698d74
3 changed files with 47 additions and 7 deletions

View File

@@ -19,7 +19,7 @@
############################################################################## ##############################################################################
{ {
'name' : 'Account Constraints', 'name' : 'Account Constraints',
'version' : '1.0', 'version' : '1.1',
'depends' : [ 'depends' : [
'account', 'account',
], ],
@@ -37,7 +37,7 @@ and legal state of the art in other software.
Summary of constraints are: Summary of constraints are:
* Add a constraint on account move: you cannot pickup a date that is not * Add a constraint on account move: you cannot pickup a date that is not
in the fiscal year of the concerned period in the fiscal year of the concerned period (configurable per journal)
* For manual entries when multicurrency: * For manual entries when multicurrency:
@@ -56,8 +56,13 @@ Summary of constraints are:
that the user cannot make mistakes even in draft state, he must pass through the that the user cannot make mistakes even in draft state, he must pass through the
parent object to make his modification. parent object to make his modification.
Contributors
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
""", """,
'website': 'http://www.camptocamp.com', 'website': 'http://www.camptocamp.com',
'data': [], 'data': [
'view/account_journal.xml',
],
'installable': True, 'installable': True,
} }

View File

@@ -22,11 +22,28 @@ from openerp.osv import fields, orm, osv
from openerp.tools.translate import _ from openerp.tools.translate import _
class AccountJournal(orm.Model):
_inherit = 'account.journal'
_columns = {
'allow_date_fy': fields.boolean('Check Date in Fiscal Year',
help='If set to True then do not '
'accept the entry if '
'the entry date is not into '
'the fiscal year dates'),
}
_defaults = {
'allow_date_fy': True,
}
class AccountMove(orm.Model): class AccountMove(orm.Model):
_inherit = "account.move" _inherit = "account.move"
def _check_fiscal_year(self, cr, uid, ids): def _check_fiscal_year(self, cr, uid, ids):
for move in self.browse(cr, uid, ids): for move in self.browse(cr, uid, ids):
if move.journal_id.allow_date_fy:
date_start = move.period_id.fiscalyear_id.date_start date_start = move.period_id.fiscalyear_id.date_start
date_stop = move.period_id.fiscalyear_id.date_stop date_stop = move.period_id.fiscalyear_id.date_stop
if not date_start <= move.date <= date_stop: if not date_start <= move.date <= date_stop:

View File

@@ -0,0 +1,18 @@
<openerp>
<data>
<record id="view_account_journal_allow_date_fy" model="ir.ui.view">
<field name="name">account.journal.allow_date_fy</field>
<field name="model">account.journal</field>
<field name="inherit_id" ref="account.view_account_journal_form"/>
<field name="arch" type="xml">
<data>
<field name="allow_date" position="after">
<field name="allow_date_fy"/>
</field>
</data>
</field>
</record>
</data>
</openerp>