Browse Source

[MIG] partner_financial_risk: Migration to 11.0

pull/583/head
Carlos Dauden 7 years ago
parent
commit
31b5e23529
  1. 8
      partner_financial_risk/README.rst
  2. 3
      partner_financial_risk/__init__.py
  3. 9
      partner_financial_risk/__manifest__.py
  4. 29
      partner_financial_risk/data/partner_financial_risk_data.xml
  5. 3
      partner_financial_risk/models/__init__.py
  6. 5
      partner_financial_risk/models/account_invoice.py
  7. 5
      partner_financial_risk/models/res_company.py
  8. 7
      partner_financial_risk/models/res_config.py
  9. 12
      partner_financial_risk/models/res_partner.py
  10. 3
      partner_financial_risk/tests/__init__.py
  11. 5
      partner_financial_risk/tests/test_partner_financial_risk.py
  12. 45
      partner_financial_risk/views/res_config_view.xml
  13. 6
      partner_financial_risk/views/res_partner_view.xml
  14. 3
      partner_financial_risk/wizard/__init__.py
  15. 5
      partner_financial_risk/wizard/parner_risk_exceeded.py
  16. 6
      partner_financial_risk/wizard/partner_risk_exceeded_view.xml

8
partner_financial_risk/README.rst

@ -37,7 +37,7 @@ To use this module, you need to:
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot :alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/134/10.0
:target: https://runbot.odoo-community.org/runbot/134/11.0
Bug Tracker Bug Tracker
@ -60,8 +60,10 @@ Images
Contributors Contributors
------------ ------------
* Carlos Dauden <carlos.dauden@tecnativa.com>
* Pedro M. Baeza <pedro.baeza@tecnativa.com>
* `Tecnativa <https://www.tecnativa.com>`_:
* Carlos Dauden
* Pedro M. Baeza
* Agathe Mollé <agathe.molle@savoirfairelinux.com> * Agathe Mollé <agathe.molle@savoirfairelinux.com>
Do not contact contributors directly about support or help with technical issues. Do not contact contributors directly about support or help with technical issues.

3
partner_financial_risk/__init__.py

@ -1,5 +1,2 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import models from . import models
from . import wizard from . import wizard

9
partner_financial_risk/__manifest__.py

@ -1,15 +1,14 @@
# -*- coding: utf-8 -*-
# Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Copyright 2016-2018 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{ {
'name': 'Partner Financial Risk', 'name': 'Partner Financial Risk',
'summary': 'Manage partner risk', 'summary': 'Manage partner risk',
'version': '10.0.1.0.0',
'version': '11.0.1.0.0',
'category': 'Sales Management', 'category': 'Sales Management',
'license': 'AGPL-3', 'license': 'AGPL-3',
'author': 'Tecnativa, Odoo Community Association (OCA)', 'author': 'Tecnativa, Odoo Community Association (OCA)',
'website': 'https://www.tecnativa.com',
'website': 'https://github.com/OCA/partner-contact',
'depends': [ 'depends': [
'account', 'account',
], ],

29
partner_financial_risk/data/partner_financial_risk_data.xml

@ -1,15 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl-3). -->
<?xml version="1.0"?>
<!-- Copyright 2016-2018 Tecnativa - Carlos Dauden
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo> <odoo>
<record id="ir_cron_due_invoice_every_day" model="ir.cron">
<field name="name">Financial risk: Process due invoices</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="model" eval="'res.partner'"/>
<field name="function" eval="'process_unpaid_invoices'"/>
<field name="args" eval="'()'"/>
</record>
<record id="ir_cron_due_invoice_every_day" model="ir.cron">
<field name="name">Financial risk: Process due invoices</field>
<field name="model_id" ref="model_res_partner"/>
<field name="state">code</field>
<field name="code">model.process_unpaid_invoices()</field>
<field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<!--<field name="doall" eval="False"/>-->
</record>
</odoo> </odoo>

3
partner_financial_risk/models/__init__.py

@ -1,6 +1,3 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import account_invoice from . import account_invoice
from . import res_company from . import res_company
from . import res_config from . import res_config

5
partner_financial_risk/models/account_invoice.py

@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Copyright 2016-2018 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import _, api, models from odoo import _, api, models

5
partner_financial_risk/models/res_company.py

@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Copyright 2016-2018 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models from odoo import fields, models

7
partner_financial_risk/models/res_config.py

@ -1,12 +1,11 @@
# -*- coding: utf-8 -*-
# Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Copyright 2016-2018 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models from odoo import fields, models
class AccountConfigSettings(models.TransientModel): class AccountConfigSettings(models.TransientModel):
_inherit = 'account.config.settings'
_inherit = 'res.config.settings'
invoice_unpaid_margin = fields.Integer( invoice_unpaid_margin = fields.Integer(
related='company_id.invoice_unpaid_margin') related='company_id.invoice_unpaid_margin')

12
partner_financial_risk/models/res_partner.py

@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Copyright 2016-2018 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from collections import defaultdict from collections import defaultdict
from datetime import datetime from datetime import datetime
@ -136,7 +135,7 @@ class ResPartner(models.Model):
('partner_id', 'in', self.ids)], ('partner_id', 'in', self.ids)],
['partner_id', 'amount_total'], ['partner_id', 'amount_total'],
['partner_id']) ['partner_id'])
for partner, child_ids in all_partners_and_children.items():
for partner, child_ids in list(all_partners_and_children.items()):
partner.risk_invoice_draft = sum( partner.risk_invoice_draft = sum(
x['amount_total'] x['amount_total']
for x in total_group if x['partner_id'][0] in child_ids) for x in total_group if x['partner_id'][0] in child_ids)
@ -171,7 +170,7 @@ class ResPartner(models.Model):
if not customers: if not customers:
return return
groups = self._risk_account_groups() groups = self._risk_account_groups()
for key, group in groups.iteritems():
for key, group in groups.items():
group['read_group'] = AccountMoveLine.read_group( group['read_group'] = AccountMoveLine.read_group(
group['domain'] + [('partner_id', 'in', customers.ids)], group['domain'] + [('partner_id', 'in', customers.ids)],
group['fields'], group['fields'],
@ -254,6 +253,7 @@ class ResPartner(models.Model):
@api.model @api.model
def process_unpaid_invoices(self): def process_unpaid_invoices(self):
max_date = self._max_risk_date_due() max_date = self._max_risk_date_due()
# TODO: Sudo is needed?
ConfigParameter = self.env['ir.config_parameter'] ConfigParameter = self.env['ir.config_parameter']
last_check = ConfigParameter.get_param( last_check = ConfigParameter.get_param(
'partner_financial_risk.last_check', default='2016-01-01') 'partner_financial_risk.last_check', default='2016-01-01')
@ -270,7 +270,7 @@ class ResPartner(models.Model):
group_dic = defaultdict(list) group_dic = defaultdict(list)
for group in groups: for group in groups:
group_dic[group['company_id'][0]].append(group['partner_id'][0]) group_dic[group['company_id'][0]].append(group['partner_id'][0])
for company_id, partner_ids in group_dic.iteritems():
for company_id, partner_ids in group_dic.items():
partners = self.browse(partner_ids) partners = self.browse(partner_ids)
partners.with_context( partners.with_context(
force_company=company_id, force_company=company_id,

3
partner_financial_risk/tests/__init__.py

@ -1,4 +1 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import test_partner_financial_risk from . import test_partner_financial_risk

5
partner_financial_risk/tests/test_partner_financial_risk.py

@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Copyright 2016-2018 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo.tests.common import SavepointCase from odoo.tests.common import SavepointCase
from odoo import fields from odoo import fields

45
partner_financial_risk/views/res_config_view.xml

@ -1,23 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl-3). -->
<?xml version="1.0"?>
<!-- Copyright 2016-2018 Tecnativa - Carlos Dauden
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo> <odoo>
<record id="view_account_config" model="ir.ui.view">
<field name="name">account settings</field>
<field name="model">account.config.settings</field>
<field name="inherit_id" ref="account.view_account_config_settings"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='payment_acquirer']/.." position="after">
<label for="id" string="Financial Risk"/>
<div name="financial_risk" string="Financial Risk div">
<label for="invoice_unpaid_margin"/>
<field name="invoice_unpaid_margin" class="oe_inline"/>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.partner.financial.risk</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr=".//div[@id='account_followup']/.." position="inside">
<div class="col-xs-12 col-md-6 o_setting_box" title="These taxes are set in any new product created.">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label string='Financial Risk'/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted">
Set options applied to financial risk
</div>
<div class="content-group">
<div class="row mt16" title="">
<label string="Maturity Margin" for="invoice_unpaid_margin" class="col-md-3 o_light_label"/>
<field name="invoice_unpaid_margin"/>
</div>
</div>
</div> </div>
</xpath>
</field>
</record>
</div>
</xpath>
</field>
</record>
</odoo> </odoo>

6
partner_financial_risk/views/res_partner_view.xml

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl-3). -->
<?xml version="1.0"?>
<!-- Copyright 2016-2018 Tecnativa - Carlos Dauden
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo> <odoo>
<record id="res_partner_view_risk" model="ir.ui.view"> <record id="res_partner_view_risk" model="ir.ui.view">

3
partner_financial_risk/wizard/__init__.py

@ -1,4 +1 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import parner_risk_exceeded from . import parner_risk_exceeded

5
partner_financial_risk/wizard/parner_risk_exceeded.py

@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Copyright 2016-2018 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import _, api, fields, models from odoo import _, api, fields, models

6
partner_financial_risk/wizard/partner_risk_exceeded_view.xml

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl-3). -->
<?xml version="1.0"?>
<!-- Copyright 2016-2018 Tecnativa - Carlos Dauden
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo> <odoo>
<record id="partner_risk_exceeded_wizard" model="ir.ui.view"> <record id="partner_risk_exceeded_wizard" model="ir.ui.view">
<field name="name">Partner risk exceeded</field> <field name="name">Partner risk exceeded</field>

Loading…
Cancel
Save