From eae67669958f5a57f29abfd32d00e77189fd7f64 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Tue, 20 Jan 2015 22:21:48 +0100 Subject: [PATCH] Add module account_statement_operation_multicompany Add gitignore --- .gitignore | 56 +++++++++++++++++++ .../__init__.py | 23 ++++++++ .../__openerp__.py | 42 ++++++++++++++ .../account.py | 31 ++++++++++ .../security/rule.xml | 21 +++++++ 5 files changed, 173 insertions(+) create mode 100644 .gitignore create mode 100644 account_statement_operation_multicompany/__init__.py create mode 100644 account_statement_operation_multicompany/__openerp__.py create mode 100644 account_statement_operation_multicompany/account.py create mode 100644 account_statement_operation_multicompany/security/rule.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..890ff01 --- /dev/null +++ b/.gitignore @@ -0,0 +1,56 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +bin/ +build/ +develop-eggs/ +dist/ +eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.cache +nosetests.xml +coverage.xml + +# Translations +*.mo + +# Pycharm +.idea + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# Rope +.ropeproject + +# Sphinx documentation +docs/_build/ + +# Backup files +*~ +*.swp diff --git a/account_statement_operation_multicompany/__init__.py b/account_statement_operation_multicompany/__init__.py new file mode 100644 index 0000000..3ce4071 --- /dev/null +++ b/account_statement_operation_multicompany/__init__.py @@ -0,0 +1,23 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Account Statement Operation Multi-company module for Odoo +# Copyright (C) 2015 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# +# 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 diff --git a/account_statement_operation_multicompany/__openerp__.py b/account_statement_operation_multicompany/__openerp__.py new file mode 100644 index 0000000..6ed4476 --- /dev/null +++ b/account_statement_operation_multicompany/__openerp__.py @@ -0,0 +1,42 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Account Statement Operation multi-company module for Odoo +# Copyright (C) 2015 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# +# 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 . +# +############################################################################## + + +{ + 'name': 'Account Statement Operation Multi-company', + 'version': '0.1', + 'category': 'Accounting & Finance', + 'license': 'AGPL-3', + 'summary': 'Fix multi-company issue on account.statement.operation.template', + 'description': """ +This module fixes this bug: https://github.com/odoo/odoo/issues/4706 that OpenERP S.A. didn't want to fix because it requires an update of the datamodel in v8 (I don't think it's a good reason to refuse to fix a bug...). + +In v8, the object account.statement.operation.template (corresponds to buttons in the bank statement reconcile interface) doesn't have a company_id field with a record rule. As a consequence, in company A, you see the buttons linked to accounts of company B ! This module fixes this issue. + +This module has been written by Alexis de Lattre from Akretion . + """, + 'author': 'Akretion', + 'website': 'http://www.akretion.com', + 'depends': ['account'], + 'data': ['security/rule.xml'], + 'installable': True, +} diff --git a/account_statement_operation_multicompany/account.py b/account_statement_operation_multicompany/account.py new file mode 100644 index 0000000..25dd972 --- /dev/null +++ b/account_statement_operation_multicompany/account.py @@ -0,0 +1,31 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Account Statement Operation Multi-company module for Odoo +# Copyright (C) 2015 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# +# 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 AccountStatementOperationTemplate(models.Model): + _inherit = 'account.statement.operation.template' + + company_id = fields.Many2one( + 'res.company', string='Company', related='account_id.company_id', + store=True) diff --git a/account_statement_operation_multicompany/security/rule.xml b/account_statement_operation_multicompany/security/rule.xml new file mode 100644 index 0000000..de6ded7 --- /dev/null +++ b/account_statement_operation_multicompany/security/rule.xml @@ -0,0 +1,21 @@ + + + + + + + + + + Account Statement Operation Template Multi-company + + + [('company_id', '=', [user.company_id.id])] + + + +