Skip to content

Commit

Permalink
[17.0][MIG] sale_financial_risk: Migration to 17.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sbiosca-s73 committed May 2, 2024
1 parent e0e9f31 commit 3c094a8
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 46 deletions.
2 changes: 1 addition & 1 deletion sale_financial_risk/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{
"name": "Sale Financial Risk",
"summary": "Manage partner risk in sales orders",
"version": "16.0.1.1.2",
"version": "17.0.1.0.0",
"category": "Sales Management",
"license": "AGPL-3",
"author": "Tecnativa, Odoo Community Association (OCA)",
Expand Down
13 changes: 6 additions & 7 deletions sale_financial_risk/hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,19 @@
logger = logging.getLogger(__name__)


def pre_init_hook(cr):
def pre_init_hook(env):
"""
The objective of this hook is to speed up the installation
of the module on an existing Odoo instance.
"""
create_risk_partner_id_column(cr)
create_risk_partner_id_column(env)


def create_risk_partner_id_column(cr):
if not sql.column_exists(cr, "sale_order_line", "risk_partner_id"):
sql.create_column(cr, "sale_order_line", "risk_partner_id", "int4")

def create_risk_partner_id_column(env):
if not sql.column_exists(env.cr, "sale_order_line", "risk_partner_id"):
sql.create_column(env.cr, "sale_order_line", "risk_partner_id", "int4")
logger.info("Computing field risk_partner_id on sale.order.line")
cr.execute(
env.cr.execute(
"""
UPDATE sale_order_line sol
SET risk_partner_id = p.commercial_partner_id
Expand Down
2 changes: 1 addition & 1 deletion sale_financial_risk/models/res_partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def _compute_risk_sale_order(self):
domain=self._get_risk_sale_order_domain(),
fields=["risk_partner_id", "company_id", "risk_amount"],
groupby=["risk_partner_id", "company_id"],
orderby="id",
orderby="risk_partner_id, company_id",
lazy=False,
)
for group in orders_group:
Expand Down
18 changes: 9 additions & 9 deletions sale_financial_risk/tests/test_partner_sale_risk.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def create_sale_order(cls, currency, company):

def test_sale_order(self):
self.sale_order.action_confirm()
self.assertAlmostEqual(self.partner.risk_sale_order, 100.0)
self.assertAlmostEqual(self.partner.risk_sale_order, 115.0)
self.assertFalse(self.partner.risk_exception)
self.partner.risk_sale_order_limit = 99.0
self.partner.risk_sale_order_include = True
Expand All @@ -77,11 +77,11 @@ def test_sale_order(self):
wiz_dic = sale_order2.action_confirm()
wiz = self.env[wiz_dic["res_model"]].browse(wiz_dic["res_id"])
self.assertEqual(
wiz.exception_msg, "This sale order exceeds the financial risk.\n"
wiz.exception_msg, "Financial risk exceeded.\n"
)
self.assertTrue(self.partner.risk_allow_edit)
wiz.button_continue()
self.assertAlmostEqual(self.partner.risk_sale_order, 200.0)
self.assertAlmostEqual(self.partner.risk_sale_order, 230.0)

def test_sale_order_auto_done(self):
self.env["ir.config_parameter"].create(
Expand All @@ -95,7 +95,7 @@ def test_sale_order_auto_done(self):
)
self.sale_order.action_confirm()
self.partner.risk_sale_order_include = True
self.assertAlmostEqual(self.partner.risk_sale_order, 100.0)
self.assertAlmostEqual(self.partner.risk_sale_order, 115.0)
self.assertFalse(self.partner.risk_exception)
self.partner.risk_sale_order_limit = 99.0
self.assertTrue(self.partner.risk_exception)
Expand All @@ -115,16 +115,16 @@ def test_sale_order_auto_done(self):
wiz_dic = sale_order2.action_confirm()
wiz = self.env[wiz_dic["res_model"]].browse(wiz_dic["res_id"])
self.assertEqual(
wiz.exception_msg, "This sale order exceeds the financial risk.\n"
wiz.exception_msg, "Financial risk exceeded.\n"
)
self.assertTrue(self.partner.risk_allow_edit)
wiz.button_continue()
self.assertAlmostEqual(self.partner.risk_sale_order, 200.0)
self.assertAlmostEqual(self.partner.risk_sale_order, 230.0)

def test_compute_risk_amount(self):
self.sale_order.action_confirm()
# Now the amount to be invoiced must 100
self.assertEqual(self.partner.risk_sale_order, 100.0)
# Now the amount to be invoiced must 115
self.assertEqual(self.partner.risk_sale_order, 115.0)
self.assertFalse(self.partner.risk_exception)
# If we set a risk_sale_order_limit to 99, risk_exception must be True
self.partner.risk_sale_order_limit = 99.0
Expand All @@ -138,7 +138,7 @@ def test_compute_risk_amount(self):
.create({})
)
inv_wiz.create_invoices()
self.assertAlmostEqual(self.partner.risk_invoice_draft, 100.0)
self.assertAlmostEqual(self.partner.risk_invoice_draft, 115.0)
self.assertAlmostEqual(self.partner.risk_sale_order, 0)
invoice = self.sale_order.invoice_ids
invoice.with_context(bypass_risk=True).action_post()
Expand Down
30 changes: 15 additions & 15 deletions sale_financial_risk/tests/test_payment_financial_risk.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,22 +66,22 @@ def test_payment_risk_bypass(self):
"odoo.addons.payment.controllers.portal.PaymentPortal"
"._compute_show_tokenize_input_mapping"
) as patched:
tx_context = self._get_tx_checkout_context(**route_values)
patched.assert_called_once_with(ANY, logged_in=ANY, sale_order_id=ANY)
route_values.update(
{
"flow": "direct",
"payment_option_id": self.provider.id,
"tokenization_requested": False,
"validation_route": False,
"reference_prefix": None, # Force empty prefix to fallback on SO reference
"landing_route": tx_context["landing_route"],
"amount": tx_context["amount"],
"currency_id": tx_context["currency_id"],
}
)
tx_context = self._get_portal_pay_context(**route_values)
patched.assert_called_once_with(ANY, sale_order_id=ANY)
tx_route_values = {
'provider_id': self.provider.id,
'payment_method_id': self.payment_method_id,
'token_id': None,
'amount': tx_context['amount'],
'flow': 'direct',
'tokenization_requested': False,
'landing_route': tx_context['landing_route'],
'access_token': tx_context['access_token'],
}
with mute_logger("odoo.addons.payment.models.payment_transaction"):
processing_values = self._get_processing_values(**route_values)
processing_values = self._get_processing_values(
tx_route=tx_context['transaction_route'], **tx_route_values
)
tx_sudo = self._get_tx(processing_values["reference"])
# Check validation of transaction correctly confirms the SO
self.assertEqual(self.order.state, "draft")
Expand Down
15 changes: 4 additions & 11 deletions sale_financial_risk/views/res_config_settings.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.credit.control</field>
Expand All @@ -12,20 +12,13 @@
expr="//field[@name='allow_overrisk_invoice_validation']/../.."
position="inside"
>
<div class="o_setting_left_pane">

<setting id="include_risk_sale_order_done" string="Include orders in done state">
<field name="include_risk_sale_order_done" />
</div>
<div class="o_setting_right_pane">
<label
string="Include orders in done state"
for="include_risk_sale_order_done"
/>
<div class="text-muted">
Include locked sale orders into risk calculation
</div>
</div>
</setting>
</xpath>
</field>
</record>
</odoo>
</odoo>
4 changes: 2 additions & 2 deletions sale_financial_risk/views/res_partner_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<field name="risk_invoice_draft_include" position="before">
<field
name="risk_sale_order_include"
attrs="{'readonly': [('risk_allow_edit', '=', False)]}"
readonly="not risk_allow_edit"
/>
<button
name="open_risk_pivot_info"
Expand All @@ -29,7 +29,7 @@
<field name="risk_invoice_draft_limit" position="before">
<field
name="risk_sale_order_limit"
attrs="{'readonly': [('risk_allow_edit', '=', False)]}"
readonly="not risk_allow_edit"
widget='monetary'
options="{'currency_field': 'risk_currency_id'}"
/>
Expand Down

0 comments on commit 3c094a8

Please sign in to comment.