Skip to content

Commit

Permalink
[MIG] sale_order_type: Migration to 16.0
Browse files Browse the repository at this point in the history
  • Loading branch information
augusto-weiss committed Nov 8, 2022
1 parent f18772f commit dd0d13a
Show file tree
Hide file tree
Showing 9 changed files with 38 additions and 43 deletions.
2 changes: 1 addition & 1 deletion sale_order_type/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

{
"name": "Sale Order Type",
"version": "15.0.2.0.1",
"version": "16.0.1.0.0",
"category": "Sales Management",
"author": "Grupo Vermon,"
"AvanzOSC,"
Expand Down
2 changes: 1 addition & 1 deletion sale_order_type/demo/sale_order_demo.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<odoo noupdate="1">
<record model="sale.order" id="sale.sale_order_1">
<record id="sale.sale_order_1" model="sale.order">
<field name="type_id" ref="normal_sale_type" />
</record>
<record model="sale.order" id="sale.sale_order_2">
Expand Down
22 changes: 7 additions & 15 deletions sale_order_type/models/sale.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,14 @@ def _default_type_id(self):
def _default_sequence_id(self):
"""We get the sequence in same way the core next_by_code method does so we can
get the proper default sequence"""
force_company = self.env.context.get("force_company")
if not force_company:
force_company = self.company_id.id or self.env.company.id
force_company = self.env.context.get("allowed_company_ids")
return self.env["ir.sequence"].search(
[("code", "=", "sale.order"), ("company_id", "in", [force_company, False])],
[
("code", "=", "sale.order"),
"|",
("company_id", "in", force_company),
("company_id", "=", False),
],
order="company_id",
limit=1,
)
Expand Down Expand Up @@ -145,14 +148,3 @@ def _prepare_invoice(self):
if self.type_id:
res["sale_type_id"] = self.type_id.id
return res


class SaleOrderLine(models.Model):
_inherit = "sale.order.line"

@api.onchange("product_id")
def product_id_change(self):
res = super(SaleOrderLine, self).product_id_change()
if self.order_id.type_id.route_id:
self.update({"route_id": self.order_id.type_id.route_id})
return res
2 changes: 1 addition & 1 deletion sale_order_type/models/sale_order_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def default_picking_policy(self):
)
incoterm_id = fields.Many2one(comodel_name="account.incoterms", string="Incoterm")
route_id = fields.Many2one(
"stock.location.route",
"stock.route",
string="Route",
domain=[("sale_selectable", "=", True)],
ondelete="restrict",
Expand Down
13 changes: 9 additions & 4 deletions sale_order_type/reports/sale_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,12 @@ class SaleReport(models.Model):

# flake8: noqa
# pylint:disable=dangerous-default-value
def _query(self, with_clause="", fields={}, groupby="", from_clause=""):
fields["type_id"] = ", s.type_id as type_id"
groupby += ", s.type_id"
return super(SaleReport, self)._query(with_clause, fields, groupby, from_clause)
def _select_additional_fields(self):
res = super()._select_additional_fields()
res["type_id"] = "s.type_id"
return res

def _group_by_sale(self):
res = super()._group_by_sale()
res += """, s.type_id"""
return res
15 changes: 6 additions & 9 deletions sale_order_type/tests/test_sale_order_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@ def setUp(self):
default_move_type="out_invoice"
)
self.account_model = self.env["account.account"]
self.user_type_id = self.env.ref("account.data_account_type_revenue")
self.account = self.account_model.create(
{"code": "410000", "name": "Income", "user_type_id": self.user_type_id.id}
{"code": "410000", "name": "Income", "account_type": "income"}
)
self.partner = self.env.ref("base.res_partner_1")
self.partner_child_1 = self.env["res.partner"].create(
Expand Down Expand Up @@ -85,13 +84,13 @@ def setUp(self):
{
"name": "Test Sequence default",
"sequence_id": self.env["sale.order"]
.with_context(force_company=self.env.company.id)
.with_company(self.env.company.id)
._default_sequence_id()
.id,
}
)
self.partner.sale_type = self.sale_type
self.sale_route = self.env["stock.location.route"].create(
self.sale_route = self.env["stock.route"].create(
{
"name": "SO -> Customer",
"product_selectable": True,
Expand All @@ -107,7 +106,9 @@ def setUp(self):
"location_src_id": self.ref(
"stock.stock_location_components"
),
"location_id": self.ref("stock.stock_location_customers"),
"location_dest_id": self.ref(
"stock.stock_location_customers"
),
},
)
],
Expand Down Expand Up @@ -202,7 +203,6 @@ def test_sale_order_flow_route(self):

def test_sale_order_in_draft_state_update_name(self):
order = self.create_sale_order()
order.onchange_partner_id()
order.onchange_type_id()
self.assertEqual(order.type_id, self.sale_type)
self.assertEqual(order.state, "draft")
Expand All @@ -215,15 +215,13 @@ def test_sale_order_in_draft_state_update_name(self):

def test_sale_order_in_sent_state_update_name(self):
order = self.create_sale_order()
order.onchange_partner_id()
order.onchange_type_id()
self.assertEqual(order.type_id, self.sale_type)
self.assertEqual(order.state, "draft")
self.assertTrue(order.name.startswith("TSO"))
# send quotation
order.action_quotation_sent()
self.assertTrue(order.state == "sent", "Sale: state after sending is wrong")
# change order type on sale order
order.type_id = self.sale_type_quot
order.onchange_type_id()
self.assertEqual(order.type_id, self.sale_type_quot)
Expand Down Expand Up @@ -259,7 +257,6 @@ def test_sequence_default(self):
from the same sequence"""
self.partner.sale_type = self.default_sale_type_id
order = self.create_sale_order()
order.onchange_partner_id()
name = order.name
order.type_id = self.sale_type_sequence_default
self.assertEqual(name, order.name, "The sequence shouldn't change!")
3 changes: 3 additions & 0 deletions sale_order_type/views/account_move_views.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
attrs="{'invisible': [('move_type', 'not in', ['out_invoice', 'out_refund'])]}"
/>
</label>
<xpath expr="//notebook//tree//field[@name='sequence']" position="before">
<field name="account_id" invisible="1" />
</xpath>
</field>
</record>
</odoo>
16 changes: 8 additions & 8 deletions sale_order_type/views/sale_order_type_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,21 @@
bg_color="bg-danger"
attrs="{'invisible': [('active', '=', True)]}"
/>
<group>
<div class="oe_title">
<label for="name" class="oe_edit_only" />
<h1>
<field name="name" />
</h1>
</div>
</group>
<div class="oe_title">
<label for="name" class="oe_edit_only" />
<h1>
<field name="name" />
</h1>
</div>
<group>
<group>
<field name="warehouse_id" invisible="1" />
<field
name="warehouse_id"
options="{'no_create': True}"
groups="stock.group_stock_multi_warehouses"
/>
<field name="company_id" invisible="1" />
<field
name="company_id"
groups="base.group_multi_company"
Expand Down
6 changes: 2 additions & 4 deletions sale_order_type/wizards/sale_make_invoice_advance.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@
class SaleAdvancePaymentInv(models.TransientModel):
_inherit = "sale.advance.payment.inv"

def _prepare_invoice_values(self, order, name, amount, so_line):
res = super(SaleAdvancePaymentInv, self)._prepare_invoice_values(
order, name, amount, so_line
)
def _prepare_invoice_values(self, order, so_line):
res = super(SaleAdvancePaymentInv, self)._prepare_invoice_values(order, so_line)
if order.type_id.journal_id:
res["journal_id"] = order.type_id.journal_id.id
if order.type_id:
Expand Down

0 comments on commit dd0d13a

Please sign in to comment.