Browse Source

[ADD] Install Partners, FR account chart, update company

pull/188/head
Kevin Broodkoorn 9 years ago
parent
commit
85dee356ce
  1. 3
      account_financial_test_data/__init__.py
  2. 51
      account_financial_test_data/__openerp__.py
  3. 63
      account_financial_test_data/data/account_auto_installer.xml
  4. 76
      account_financial_test_data/data/partners_data.xml
  5. 8
      account_financial_test_data/data/settings_data.xml
  6. 4
      account_financial_test_data/models/__init__.py
  7. 64
      account_financial_test_data/models/account_installer.py
  8. 38
      account_financial_test_data/models/setting.py
  9. BIN
      account_financial_test_data/static/description/icon.png

3
account_financial_test_data/__init__.py

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import models

51
account_financial_test_data/__openerp__.py

@ -1,15 +1,40 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
{
"name": "Account financial test data",
"summary": "Add all necessary data to test financial modules",
"version": "9.0.1.0.0",
"category": "Uncategorized",
"website": "https://odoo-community.org/",
"author": "Taktik, Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": False,
"installable": True,
"data": [
]
'name': 'Account financial test data',
'version': '9.0.1.0.0',
'license': 'AGPL-3',
'author': "Taktik, Odoo Community Association (OCA)",
'category': 'Other',
'depends': [
"base",
"account",
"account_accountant",
"l10n_fr",
],
'demo': [],
'data': [
"data/settings_data.xml",
"data/account_auto_installer.xml",
"data/partners_data.xml",
],
'installable': True,
}

63
account_financial_test_data/data/account_auto_installer.xml

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- Add a server action and a todo action to set accounting options for all companies without popup window -->
<record id="auto_config_charts_action_server" model="ir.actions.server">
<field name="name">Set Accounting Options for all Companies</field>
<field name="condition">True</field>
<field name="type">ir.actions.server</field>
<field name="model_id" ref="account.model_wizard_multi_charts_accounts"/>
<field name="state">code</field>
<field name="code">
self.auto_execute(cr, uid, context=context)
config = self.next(cr, uid, [], context=context) or {}
if config.get('type') not in ('ir.actions.act_window_close',):
action = config
</field>
</record>
<record id="auto_config_charts_action_todo" model="ir.actions.todo">
<field name="action_id" ref="auto_config_charts_action_server"/>
<field name="sequence">10</field>
<field name="type">automatic</field>
<field name="state">open</field>
</record>
<!-- Disable standard Configure Accounting Data wizard -->
<!--<record id="account.account_configuration_installer_todo" model="ir.actions.todo">-->
<!--<field name="state">done</field>-->
<!--</record>-->
<!-- Disable standard Set Accounting Options wizard -->
<!--<record id="account.action_wizard_multi_chart_todo" model="ir.actions.todo">-->
<!--<field name="state">done</field>-->
<!--</record>-->
<!--Main Company -->
<!--<record id="ai-1" model="account.installer">-->
<!--<field name="company_id" ref="base.main_company"/>-->
<!--<field name="charts">l10n_fr</field>-->
<!--<field name="period">month</field>-->
<!--<field name="has_default_company" eval="1"/>-->
<!--</record>-->
<record id="wmca-1" model="wizard.multi.charts.accounts">
<field name="company_id" ref="base.main_company"/>
<field name="only_one_chart_template" eval="1"/>
<field name="complete_tax_set" eval="1"/>
<field name="currency_id" ref="base.EUR"/>
<field name="chart_template_id" ref="l10n_fr.l10n_fr_pcg_chart_template"/>
<field name="sale_tax" ref="l10n_fr.tva_normale"/>
<field name="purchase_tax" ref="l10n_fr.tva_acq_normale"/>
<field name="transfer_account_id" ref="l10n_fr.pcg_58"/>
<field name="code_digits" eval="6"/>
</record>
<!-- Execute wizard multi charts accounts -->
<function model="wizard.multi.charts.accounts" name="auto_execute"/>
</data>
</openerp>

76
account_financial_test_data/data/partners_data.xml

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!--Partner a-->
<record id="data_partner_a" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER A</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<!--Partner b-->
<record id="data_partner_b" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER B</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<record id="data_partner_c" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER C</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<record id="data_partner_d" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER D</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<record id="data_partner_e" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER E</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<record id="data_partner_f" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER F</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
<record id="data_partner_g" model="res.partner"
context="{'default_company_type': 'person'}">
<field name="name">PARTNER G</field>
<field name="company_id" ref="base.main_company"/>
<field name="customer" eval="True"/>
<field name="supplier" eval="False"/>
<field name="notify_email">always</field>
<field name="currency_id" ref="base.EUR"/>
</record>
</data>
</openerp>

8
account_financial_test_data/data/settings_data.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record model="res.partner" id="base.partner_root">
<field name="tz">Europe/Paris</field>
</record>
</data>
</openerp>

4
account_financial_test_data/models/__init__.py

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
import account_installer
import setting

64
account_financial_test_data/models/account_installer.py

@ -0,0 +1,64 @@
# -*- coding: utf-8 -*-
from openerp.osv import orm
import logging
from openerp import models, fields, api, _, exceptions
_logger = logging.getLogger(__name__)
class WizardMultiChartsAccounts(orm.TransientModel):
"""
Execute wizard automatically without showing the wizard popup window
"""
_inherit = 'wizard.multi.charts.accounts'
def auto_execute(self, cr, uid, ids=False, context=None):
if not context:
context = {}
context['lang'] = 'en_US'
if not ids:
ids = self.search(cr, uid, [], context=context)
account_obj = self.pool.get('account.account')
for wz in self.browse(cr, uid, ids, context=context):
account_id = account_obj.search(
cr,
uid,
[('company_id', '=', wz.company_id.id)],
limit=1,
context=context
)
if not account_id:
# execute original wizard method
_logger.info(
'Configure Accounting Data for Company: %s' %
wz.company_id.name
)
self.execute(cr, uid, [wz.id], context=context)
class AccountAccountTemplate(models.Model):
_inherit = "account.account.template"
@api.model
def generate_account(
self,
chart_template_id,
tax_template_ref,
acc_template_ref,
code_digits,
company_id):
res = super(AccountAccountTemplate, self).generate_account(
chart_template_id,
tax_template_ref,
acc_template_ref,
code_digits,
company_id
)
main_company_id = self.env['ir.model.data'].xmlid_to_res_id(
'base.main_company'
)
if company_id == main_company_id:
account_ids = []
for template_account_id in res:
account_ids.append(res[template_account_id])
return res

38
account_financial_test_data/models/setting.py

@ -0,0 +1,38 @@
from openerp import api, models, fields, exceptions, _
from openerp.modules.module import get_module_resource
class SettingCurrency(models.Model):
_name = 'setting.currency'
@api.model
def _update_currency(self):
data_obj = self.env['ir.model.data']
eur = data_obj.xmlid_to_object('base.EUR')
usd = data_obj.xmlid_to_object('base.USD')
eur.base = False
self.env['res.currency.rate'].search([
('currency_id', '=', eur.id)
]).write({'rate': 0.8000})
main_company = data_obj.xmlid_to_object('base.main_company')
main_company.auto_currency_up = True
services = self.env['currency.rate.update.service'].search(
[('company_id', '=', main_company.id),
('service', '=', 'ECB_getter')]
)
if services:
main_company.services_to_use = services[0]
else:
main_company.services_to_use = self.env[
'currency.rate.update.service'
].create({
'service': 'ECB_getter',
'max_delta_days': 1,
'currency_to_update': [(6, 0, [eur.id, usd.id])]
})
main_company.button_refresh_currency()

BIN
account_financial_test_data/static/description/icon.png

After

Width: 128  |  Height: 128  |  Size: 9.2 KiB

Loading…
Cancel
Save