diff --git a/account_constraints/__init__.py b/account_constraints/__init__.py index 403b23fcb..9fd8f5806 100644 --- a/account_constraints/__init__.py +++ b/account_constraints/__init__.py @@ -17,4 +17,4 @@ # along with this program. If not, see . # ############################################################################## -from . import account_constraints +from . import model diff --git a/account_constraints/model/__init__.py b/account_constraints/model/__init__.py new file mode 100644 index 000000000..28d810046 --- /dev/null +++ b/account_constraints/model/__init__.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# +# +# Authors: Adrien Peiffer +# Copyright (c) 2014 Acsone SA/NV (http://www.acsone.eu) +# All Rights Reserved +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsibility of assessing all potential +# consequences resulting from its eventual inadequacies and bugs. +# End users who are looking for a ready-to-use solution with commercial +# guarantees and support are strongly advised to contact a Free Software +# Service Company. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +# +from . import account_bank_statement +from . import account_invoice +from . import account_journal +from . import account_move_line +from . import account_move diff --git a/account_constraints/model/account_bank_statement.py b/account_constraints/model/account_bank_statement.py new file mode 100644 index 000000000..22010bc81 --- /dev/null +++ b/account_constraints/model/account_bank_statement.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author Joel Grand-Guillaume. Copyright 2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import models, api + + +class AccountBankStatement(models.Model): + _inherit = "account.bank.statement" + + @api.multi + def button_cancel(self): + """Override the method to add the key 'from_parent_object' in + the context. This is to allow to delete move line related to + bank statement through the cancel button. + """ + self = self.with_context(from_parent_object=True) + return super(AccountBankStatement, self).button_cancel() + + @api.multi + def button_confirm_bank(self): + """Add the from_parent_object key in context in order to be able + to post the move. + """ + self = self.with_context(from_parent_object=True) + return super(AccountBankStatement, self).button_confirm_bank() + + +class AccountBankStatementLine(models.Model): + _inherit = "account.bank.statement.line" + + @api.multi + def process_reconciliation(self, mv_line_dicts): + """Add the from_parent_object key in context in order to be able + to balanced the move. + """ + self = self.with_context(from_parent_object=True) + return super(AccountBankStatementLine, self)\ + .process_reconciliation(mv_line_dicts) diff --git a/account_constraints/model/account_invoice.py b/account_constraints/model/account_invoice.py new file mode 100644 index 000000000..5e59ae9d0 --- /dev/null +++ b/account_constraints/model/account_invoice.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author Joel Grand-Guillaume. Copyright 2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import models, api + + +class AccountInvoice(models.Model): + _inherit = "account.invoice" + + @api.multi + def action_cancel(self): + """Override the method to add the key 'from_parent_object' in + the context. This is to allow to delete move line related to + invoice through the cancel button. + """ + self = self.with_context(from_parent_object=True) + return super(AccountInvoice, self).action_cancel() + + @api.multi + def action_move_create(self): + """Override the method to add the key 'from_parent_object' in + the context.""" + self = self.with_context(from_parent_object=True) + return super(AccountInvoice, self).action_move_create() diff --git a/account_constraints/model/account_journal.py b/account_constraints/model/account_journal.py new file mode 100644 index 000000000..dd02dd62a --- /dev/null +++ b/account_constraints/model/account_journal.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author Joel Grand-Guillaume. Copyright 2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +## +from openerp import models, fields + + +class AccountJournal(models.Model): + _inherit = 'account.journal' + allow_date_fy = fields.Boolean(string='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', + default=True) diff --git a/account_constraints/model/account_move.py b/account_constraints/model/account_move.py new file mode 100644 index 000000000..3123cbf87 --- /dev/null +++ b/account_constraints/model/account_move.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author Joel Grand-Guillaume. Copyright 2012 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import models, api + + +class AccountMove(models.Model): + _inherit = "account.move" + + @api.multi + def _check_fiscal_year(self): + for move in self: + if move.journal_id.allow_date_fy: + date_start = move.period_id.fiscalyear_id.date_start + date_stop = move.period_id.fiscalyear_id.date_stop + if not date_start <= move.date <= date_stop: + return False + return True + + _constraints = [ + (_check_fiscal_year, + 'You cannot create entries with date not in the ' + 'fiscal year of the chosen period', + ['line_id']), + ] diff --git a/account_constraints/account_constraints.py b/account_constraints/model/account_move_line.py similarity index 100% rename from account_constraints/account_constraints.py rename to account_constraints/model/account_move_line.py