odoo-addon-sale-blanket-order 17.0.1.1.2.1__py3-none-any.whl → 17.0.1.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of odoo-addon-sale-blanket-order might be problematic. Click here for more details.
- odoo/addons/sale_blanket_order/README.rst +1 -1
- odoo/addons/sale_blanket_order/__manifest__.py +1 -1
- odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot +0 -7
- odoo/addons/sale_blanket_order/models/blanket_orders.py +10 -17
- odoo/addons/sale_blanket_order/static/description/index.html +1 -1
- odoo/addons/sale_blanket_order/tests/test_blanket_orders.py +50 -0
- odoo/addons/sale_blanket_order/views/sale_blanket_order_views.xml +2 -2
- {odoo_addon_sale_blanket_order-17.0.1.1.2.1.dist-info → odoo_addon_sale_blanket_order-17.0.1.1.4.dist-info}/METADATA +2 -2
- {odoo_addon_sale_blanket_order-17.0.1.1.2.1.dist-info → odoo_addon_sale_blanket_order-17.0.1.1.4.dist-info}/RECORD +11 -11
- {odoo_addon_sale_blanket_order-17.0.1.1.2.1.dist-info → odoo_addon_sale_blanket_order-17.0.1.1.4.dist-info}/WHEEL +0 -0
- {odoo_addon_sale_blanket_order-17.0.1.1.2.1.dist-info → odoo_addon_sale_blanket_order-17.0.1.1.4.dist-info}/top_level.txt +0 -0
|
@@ -11,7 +11,7 @@ Sale Blanket Orders
|
|
|
11
11
|
!! This file is generated by oca-gen-addon-readme !!
|
|
12
12
|
!! changes will be overwritten. !!
|
|
13
13
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
14
|
-
!! source digest: sha256:
|
|
14
|
+
!! source digest: sha256:b8473ecf6de2c61aefe7780d3ff3de2787755564f8b2872591e2d21f6de717b3
|
|
15
15
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
16
16
|
|
|
17
17
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"category": "Sale",
|
|
6
6
|
"license": "AGPL-3",
|
|
7
7
|
"author": "Acsone SA/NV, Odoo Community Association (OCA)",
|
|
8
|
-
"version": "17.0.1.1.
|
|
8
|
+
"version": "17.0.1.1.4",
|
|
9
9
|
"website": "https://github.com/OCA/sale-workflow",
|
|
10
10
|
"summary": "Blanket Orders",
|
|
11
11
|
"depends": ["uom", "sale_management"],
|
|
@@ -649,13 +649,6 @@ msgstr ""
|
|
|
649
649
|
msgid "Price"
|
|
650
650
|
msgstr ""
|
|
651
651
|
|
|
652
|
-
#. module: sale_blanket_order
|
|
653
|
-
#. odoo-python
|
|
654
|
-
#: code:addons/sale_blanket_order/models/blanket_orders.py:0
|
|
655
|
-
#, python-format
|
|
656
|
-
msgid "Price must be greater than zero"
|
|
657
|
-
msgstr ""
|
|
658
|
-
|
|
659
652
|
#. module: sale_blanket_order
|
|
660
653
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order__pricelist_id
|
|
661
654
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__pricelist_id
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Copyright 2018 ACSONE SA/NV
|
|
2
2
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
3
3
|
|
|
4
|
-
from odoo import
|
|
4
|
+
from odoo import _, api, fields, models
|
|
5
5
|
from odoo.exceptions import UserError
|
|
6
6
|
from odoo.tools import float_is_zero
|
|
7
7
|
from odoo.tools.misc import format_date
|
|
@@ -110,7 +110,9 @@ class BlanketOrder(models.Model):
|
|
|
110
110
|
sale_count = fields.Integer(compute="_compute_sale_count")
|
|
111
111
|
|
|
112
112
|
fiscal_position_id = fields.Many2one(
|
|
113
|
-
"account.fiscal.position",
|
|
113
|
+
"account.fiscal.position",
|
|
114
|
+
string="Fiscal Position",
|
|
115
|
+
check_company=True,
|
|
114
116
|
)
|
|
115
117
|
|
|
116
118
|
amount_untaxed = fields.Monetary(
|
|
@@ -419,9 +421,9 @@ class BlanketOrderLine(models.Model):
|
|
|
419
421
|
product_uom = fields.Many2one("uom.uom", string="Unit of Measure")
|
|
420
422
|
price_unit = fields.Float(string="Price", digits="Product Price")
|
|
421
423
|
taxes_id = fields.Many2many(
|
|
422
|
-
"account.tax",
|
|
423
|
-
|
|
424
|
-
|
|
424
|
+
comodel_name="account.tax",
|
|
425
|
+
context={"active_test": False},
|
|
426
|
+
check_company=True,
|
|
425
427
|
)
|
|
426
428
|
date_schedule = fields.Date(string="Scheduled Date")
|
|
427
429
|
original_uom_qty = fields.Float(
|
|
@@ -616,15 +618,9 @@ class BlanketOrderLine(models.Model):
|
|
|
616
618
|
self.name = name
|
|
617
619
|
|
|
618
620
|
fpos = self.order_id.fiscal_position_id
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
self.product_id.taxes_id.filtered(
|
|
623
|
-
lambda r: r.company_id.id == company_id
|
|
624
|
-
)
|
|
625
|
-
)
|
|
626
|
-
else:
|
|
627
|
-
self.taxes_id = fpos.map_tax(self.product_id.taxes_id)
|
|
621
|
+
self.taxes_id = fpos.map_tax(
|
|
622
|
+
self.product_id.taxes_id._filter_taxes_by_company(self.company_id)
|
|
623
|
+
)
|
|
628
624
|
|
|
629
625
|
@api.depends(
|
|
630
626
|
"sale_lines.order_id.state",
|
|
@@ -680,9 +676,6 @@ class BlanketOrderLine(models.Model):
|
|
|
680
676
|
def _validate(self):
|
|
681
677
|
try:
|
|
682
678
|
for line in self:
|
|
683
|
-
assert (
|
|
684
|
-
not line.display_type and line.price_unit > 0.0
|
|
685
|
-
) or line.display_type, _("Price must be greater than zero")
|
|
686
679
|
assert (
|
|
687
680
|
not line.display_type and line.original_uom_qty > 0.0
|
|
688
681
|
) or line.display_type, _("Quantity must be greater than zero")
|
|
@@ -372,7 +372,7 @@ ul.auto-toc {
|
|
|
372
372
|
!! This file is generated by oca-gen-addon-readme !!
|
|
373
373
|
!! changes will be overwritten. !!
|
|
374
374
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
375
|
-
!! source digest: sha256:
|
|
375
|
+
!! source digest: sha256:b8473ecf6de2c61aefe7780d3ff3de2787755564f8b2872591e2d21f6de717b3
|
|
376
376
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
377
377
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/sale-workflow/tree/17.0/sale_blanket_order"><img alt="OCA/sale-workflow" src="https://img.shields.io/badge/github-OCA%2Fsale--workflow-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/sale-workflow-17-0/sale-workflow-17-0-sale_blanket_order"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/sale-workflow&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
378
378
|
<p>A blanket order is a pre-agreement to sell a certain number of
|
|
@@ -21,6 +21,54 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
21
21
|
{"name": "Test Pricelist", "currency_id": cls.env.ref("base.USD").id}
|
|
22
22
|
)
|
|
23
23
|
|
|
24
|
+
# Taxes
|
|
25
|
+
company_partner = cls.env["res.partner"].create(
|
|
26
|
+
{
|
|
27
|
+
"name": __name__,
|
|
28
|
+
"country_id": cls.env.company.country_id.id,
|
|
29
|
+
}
|
|
30
|
+
)
|
|
31
|
+
company2 = cls.env["res.company"].create(
|
|
32
|
+
{
|
|
33
|
+
"name": __name__,
|
|
34
|
+
"partner_id": company_partner.id,
|
|
35
|
+
},
|
|
36
|
+
)
|
|
37
|
+
cls.env.user.company_ids += company2
|
|
38
|
+
cls.env = cls.env(
|
|
39
|
+
context=dict(
|
|
40
|
+
cls.env.context, allowed_company_ids=[cls.env.company.id, company2.id]
|
|
41
|
+
)
|
|
42
|
+
)
|
|
43
|
+
tax_group1 = cls.env["account.tax.group"].create(
|
|
44
|
+
{
|
|
45
|
+
"name": cls.env.company.name,
|
|
46
|
+
"company_id": cls.env.company.id,
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
tax_group2 = cls.env["account.tax.group"].create(
|
|
50
|
+
{
|
|
51
|
+
"name": company2.name,
|
|
52
|
+
"company_id": company2.id,
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
cls.tax1 = cls.env["account.tax"].create(
|
|
56
|
+
{
|
|
57
|
+
"name": cls.env.company.name,
|
|
58
|
+
"company_id": cls.env.company.id,
|
|
59
|
+
"amount": 10,
|
|
60
|
+
"tax_group_id": tax_group1.id,
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
cls.tax2 = cls.env["account.tax"].create(
|
|
64
|
+
{
|
|
65
|
+
"name": company2.name,
|
|
66
|
+
"company_id": company2.id,
|
|
67
|
+
"amount": 20,
|
|
68
|
+
"tax_group_id": tax_group2.id,
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
|
|
24
72
|
# UoM
|
|
25
73
|
cls.categ_unit = cls.env.ref("uom.product_uom_categ_unit")
|
|
26
74
|
cls.uom_dozen = cls.env["uom.uom"].create(
|
|
@@ -48,6 +96,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
48
96
|
"type": "consu",
|
|
49
97
|
"uom_id": cls.env.ref("uom.product_uom_unit").id,
|
|
50
98
|
"default_code": "PROD_DEL01",
|
|
99
|
+
"taxes_id": [fields.Command.set([cls.tax1.id, cls.tax2.id])],
|
|
51
100
|
}
|
|
52
101
|
)
|
|
53
102
|
cls.product2 = cls.env["product.product"].create(
|
|
@@ -96,6 +145,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
96
145
|
blanket_order.sudo().onchange_partner_id()
|
|
97
146
|
blanket_order.pricelist_id.discount_policy = "without_discount"
|
|
98
147
|
blanket_order.line_ids[0].sudo().onchange_product()
|
|
148
|
+
self.assertEqual(blanket_order.line_ids[0].taxes_id, self.tax1)
|
|
99
149
|
blanket_order.pricelist_id.discount_policy = "with_discount"
|
|
100
150
|
blanket_order.line_ids[0].sudo().onchange_product()
|
|
101
151
|
blanket_order.line_ids[0].sudo()._get_display_price()
|
|
@@ -205,8 +205,8 @@
|
|
|
205
205
|
<field
|
|
206
206
|
name="taxes_id"
|
|
207
207
|
widget="many2many_tags"
|
|
208
|
-
domain="[('type_tax_use','=','sale')]"
|
|
209
|
-
context="{'
|
|
208
|
+
domain="[('type_tax_use', '=', 'sale'), ('company_id', 'parent_of', parent.company_id)]"
|
|
209
|
+
context="{'search_view_ref': 'account.account_tax_view_search'}"
|
|
210
210
|
options="{'no_create': True}"
|
|
211
211
|
invisible="display_type"
|
|
212
212
|
/>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-sale_blanket_order
|
|
3
|
-
Version: 17.0.1.1.
|
|
3
|
+
Version: 17.0.1.1.4
|
|
4
4
|
Requires-Python: >=3.10
|
|
5
5
|
Requires-Dist: odoo>=17.0a,<17.1dev
|
|
6
6
|
Summary: Blanket Orders
|
|
@@ -27,7 +27,7 @@ Sale Blanket Orders
|
|
|
27
27
|
!! This file is generated by oca-gen-addon-readme !!
|
|
28
28
|
!! changes will be overwritten. !!
|
|
29
29
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
30
|
-
!! source digest: sha256:
|
|
30
|
+
!! source digest: sha256:b8473ecf6de2c61aefe7780d3ff3de2787755564f8b2872591e2d21f6de717b3
|
|
31
31
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
32
32
|
|
|
33
33
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
odoo/addons/sale_blanket_order/README.rst,sha256=
|
|
1
|
+
odoo/addons/sale_blanket_order/README.rst,sha256=AW_x9LnicVkzy3KupwIisCSlUodYLA48NMT78CaTmfQ,6916
|
|
2
2
|
odoo/addons/sale_blanket_order/__init__.py,sha256=rKfzYX9RhkkCxgh2f0PJLYN45Kw8T8-fwxw1pbjLuug,108
|
|
3
|
-
odoo/addons/sale_blanket_order/__manifest__.py,sha256=
|
|
3
|
+
odoo/addons/sale_blanket_order/__manifest__.py,sha256=dqNCtsu235B8MB5D0AUsVp3FFRi1VLZZFfoV0MdBRlM,856
|
|
4
4
|
odoo/addons/sale_blanket_order/data/ir_cron.xml,sha256=B6mIBP7TGt_V0-2tb-GtXQrOXr_FY4D7B0qvvCf3qXc,837
|
|
5
5
|
odoo/addons/sale_blanket_order/data/sequence.xml,sha256=xsEzImnYlOTADfACH_eBMFFjdy6nM_WqJTWJ3MN1_eM,416
|
|
6
6
|
odoo/addons/sale_blanket_order/i18n/de.po,sha256=BF5MCjEKcdHUVVZY1Jk7pXh19Q2MjYKsRXUhpE8KQZw,44530
|
|
@@ -9,9 +9,9 @@ odoo/addons/sale_blanket_order/i18n/fr.po,sha256=7grGC0MkhOoK1hq0ALTFDis3MIUA619
|
|
|
9
9
|
odoo/addons/sale_blanket_order/i18n/fr_FR.po,sha256=bmuyuJ9eoz_Y4xPzWrW8HNK8bYpGQD3ehXWmirfhYq4,44420
|
|
10
10
|
odoo/addons/sale_blanket_order/i18n/it.po,sha256=qgmgEjEQRxCGOdKzsFE4b1b37E6H9pDodA70zK-JBoo,44226
|
|
11
11
|
odoo/addons/sale_blanket_order/i18n/pt.po,sha256=Pw0XwrqoF2_3BDpSpHG1sN02Qy0zLjyiBQePpKrgKBk,39155
|
|
12
|
-
odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot,sha256=
|
|
12
|
+
odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot,sha256=bmv0VZokTny4ceyV8OZJE2DydT4lflXauB2g7ydXego,38906
|
|
13
13
|
odoo/addons/sale_blanket_order/models/__init__.py,sha256=7adrBSDps9-KQKNJjoCBKeoWgeF21I62H9yqyQVcZGM,90
|
|
14
|
-
odoo/addons/sale_blanket_order/models/blanket_orders.py,sha256=
|
|
14
|
+
odoo/addons/sale_blanket_order/models/blanket_orders.py,sha256=EYpmhQDOFYHLwhGQn1Dn-qJ1iNgTUdUzflTovWDFNpM,26434
|
|
15
15
|
odoo/addons/sale_blanket_order/models/sale_config_settings.py,sha256=zYTEVPXYmCUp8p-OYyIiGdZajGl07HGNBrrIkxB1GwQ,410
|
|
16
16
|
odoo/addons/sale_blanket_order/models/sale_orders.py,sha256=5Iv1Ku8fT02Sv9VDsBQE_sve__WLmJ7Aa7cqxLp1Cxo,7069
|
|
17
17
|
odoo/addons/sale_blanket_order/readme/CONTEXT.md,sha256=wOxt02O7J6yLZOTTC6V-f5k0IIXEmxRzAM88lJQrM4o,633
|
|
@@ -30,18 +30,18 @@ odoo/addons/sale_blanket_order/static/description/BO_menu.png,sha256=TWKnQPgzBgN
|
|
|
30
30
|
odoo/addons/sale_blanket_order/static/description/PO_BOLine.png,sha256=O8dfvlVOqDcmrKrHtWw5J1gm76fOQ53YCtu9_ujb4bs,37234
|
|
31
31
|
odoo/addons/sale_blanket_order/static/description/PO_from_BO.png,sha256=lmRWLs1DYkXmZfRVn_Hg2X8nEfazH2eVZ8unVlcdj-0,27671
|
|
32
32
|
odoo/addons/sale_blanket_order/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
|
33
|
-
odoo/addons/sale_blanket_order/static/description/index.html,sha256=
|
|
33
|
+
odoo/addons/sale_blanket_order/static/description/index.html,sha256=wtUruG6OPTUQGyOOQV5n1YNhIiZbI7LIkRUTkaAaM-A,18242
|
|
34
34
|
odoo/addons/sale_blanket_order/tests/__init__.py,sha256=0z5WGDe8esOreObf1dM01uMp-O3GmL20PeIvqK0usXY,130
|
|
35
|
-
odoo/addons/sale_blanket_order/tests/test_blanket_orders.py,sha256=
|
|
35
|
+
odoo/addons/sale_blanket_order/tests/test_blanket_orders.py,sha256=erGZvB6g5oANAPC-TzRxz5b4zV6EVuGg4llln1Bvsqo,17890
|
|
36
36
|
odoo/addons/sale_blanket_order/tests/test_sale_order.py,sha256=N40dy7MTXFcaOCoJ30b-UCEk0k8DwehKrE9bliTdrFg,7251
|
|
37
37
|
odoo/addons/sale_blanket_order/views/sale_blanket_order_line_views.xml,sha256=i_QyeuodE8MJ13InfS-DJLZ8uOl5n2nGH5_nuz6lSHU,7741
|
|
38
|
-
odoo/addons/sale_blanket_order/views/sale_blanket_order_views.xml,sha256=
|
|
38
|
+
odoo/addons/sale_blanket_order/views/sale_blanket_order_views.xml,sha256=1F3HVwKnnrsIGKN01Yskh0qw7VSG1zvl2kK_AwlImFo,17698
|
|
39
39
|
odoo/addons/sale_blanket_order/views/sale_config_settings.xml,sha256=h9cVMWvDbnZZszQU7BrIKuUtxw-vQvth8PXCvkWfxUw,1116
|
|
40
40
|
odoo/addons/sale_blanket_order/views/sale_order_views.xml,sha256=SvYFH0wPdjrSM12hWgut6-dbionc0Af88jRApUwOnMM,1683
|
|
41
41
|
odoo/addons/sale_blanket_order/wizard/__init__.py,sha256=4P5jq1IlE7JDNFP0ly3-alAHbqdIYf6fLjQjotKrG08,99
|
|
42
42
|
odoo/addons/sale_blanket_order/wizard/create_sale_orders.py,sha256=dWXhWxY0y920p0Wa8c3E9sw6rMOT2XhJkFk0UacsEgE,8061
|
|
43
43
|
odoo/addons/sale_blanket_order/wizard/create_sale_orders.xml,sha256=nh0uzoJn6P_Wx0WNYgruxN5P3JDGOhMluzMGOO3uXJQ,2637
|
|
44
|
-
odoo_addon_sale_blanket_order-17.0.1.1.
|
|
45
|
-
odoo_addon_sale_blanket_order-17.0.1.1.
|
|
46
|
-
odoo_addon_sale_blanket_order-17.0.1.1.
|
|
47
|
-
odoo_addon_sale_blanket_order-17.0.1.1.
|
|
44
|
+
odoo_addon_sale_blanket_order-17.0.1.1.4.dist-info/METADATA,sha256=qu6m1gJklx_tidWmKQzMqHl-lwRfNttl4Zh7OhN_cgQ,7463
|
|
45
|
+
odoo_addon_sale_blanket_order-17.0.1.1.4.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
|
|
46
|
+
odoo_addon_sale_blanket_order-17.0.1.1.4.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
47
|
+
odoo_addon_sale_blanket_order-17.0.1.1.4.dist-info/RECORD,,
|
|
File without changes
|