diff --git a/excel_import_export_demo/__manifest__.py b/excel_import_export_demo/__manifest__.py
index 6f2c47433..03b5f8412 100644
--- a/excel_import_export_demo/__manifest__.py
+++ b/excel_import_export_demo/__manifest__.py
@@ -1,28 +1,29 @@
# Copyright 2019 Ecosoft Co., Ltd (http://ecosoft.co.th/)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html)
-{'name': 'Excel Import/Export/Report Demo',
- 'version': '12.0.1.0.0',
- 'author': 'Ecosoft,Odoo Community Association (OCA)',
- 'license': 'AGPL-3',
- 'website': 'https://github.com/OCA/server-tools/',
- 'category': 'Tools',
- 'depends': ['excel_import_export',
- 'sale_management'],
- 'data': ['import_export_sale_order/actions.xml',
- 'import_export_sale_order/templates.xml',
- 'report_sale_order/report_sale_order.xml',
- 'report_sale_order/templates.xml',
- 'import_sale_orders/menu_action.xml',
- 'import_sale_orders/templates.xml',
- # Use report action
- 'report_action/sale_order/report.xml',
- 'report_action/sale_order/templates.xml',
- 'report_action/partner_list/report.xml',
- 'report_action/partner_list/templates.xml',
- 'report_action/partner_list/report_partner_list.xml',
- ],
- 'installable': True,
- 'development_status': 'alpha',
- 'maintainers': ['kittiu'],
- }
+{
+ "name": "Excel Import/Export/Report Demo",
+ "version": "12.0.1.0.0",
+ "author": "Ecosoft,Odoo Community Association (OCA)",
+ "license": "AGPL-3",
+ "website": "https://github.com/OCA/server-tools/",
+ "category": "Tools",
+ "depends": ["excel_import_export", "sale_management"],
+ "data": [
+ "import_export_sale_order/actions.xml",
+ "import_export_sale_order/templates.xml",
+ "report_sale_order/report_sale_order.xml",
+ "report_sale_order/templates.xml",
+ "import_sale_orders/menu_action.xml",
+ "import_sale_orders/templates.xml",
+ # Use report action
+ "report_action/sale_order/report.xml",
+ "report_action/sale_order/templates.xml",
+ "report_action/partner_list/report.xml",
+ "report_action/partner_list/templates.xml",
+ "report_action/partner_list/report_partner_list.xml",
+ ],
+ "installable": True,
+ "development_status": "alpha",
+ "maintainers": ["kittiu"],
+}
diff --git a/excel_import_export_demo/import_export_sale_order/actions.xml b/excel_import_export_demo/import_export_sale_order/actions.xml
index bbff83122..8c67e720d 100644
--- a/excel_import_export_demo/import_export_sale_order/actions.xml
+++ b/excel_import_export_demo/import_export_sale_order/actions.xml
@@ -1,10 +1,10 @@
-
+
-
-
-
+
-
+ }"
+ />
diff --git a/excel_import_export_demo/import_export_sale_order/templates.xml b/excel_import_export_demo/import_export_sale_order/templates.xml
index e7f1255ba..eec0666d8 100644
--- a/excel_import_export_demo/import_export_sale_order/templates.xml
+++ b/excel_import_export_demo/import_export_sale_order/templates.xml
@@ -1,9 +1,8 @@
-
+
-
sale.order
sale_order.xlsx
@@ -44,9 +43,7 @@
}
-
-
+
-
diff --git a/excel_import_export_demo/import_sale_orders/menu_action.xml b/excel_import_export_demo/import_sale_orders/menu_action.xml
index 2eed76e3b..4c0c0e994 100644
--- a/excel_import_export_demo/import_sale_orders/menu_action.xml
+++ b/excel_import_export_demo/import_sale_orders/menu_action.xml
@@ -1,9 +1,8 @@
-
+
-
Sample Import Sale Order
import.xlsx.wizard
@@ -16,10 +15,10 @@
('gname', '=', False)], }
-
-
-
+ sequence="30"
+ />
diff --git a/excel_import_export_demo/import_sale_orders/templates.xml b/excel_import_export_demo/import_sale_orders/templates.xml
index b5fad027c..b5a192bc0 100644
--- a/excel_import_export_demo/import_sale_orders/templates.xml
+++ b/excel_import_export_demo/import_sale_orders/templates.xml
@@ -1,15 +1,14 @@
-
+
-
sale.order
import_sale_order.xlsx
Import Sale Order Template
Sample Import Sales Order Tempalte for testing
-
+
{
'__IMPORT__': {
@@ -30,9 +29,7 @@
}
-
-
+
-
diff --git a/excel_import_export_demo/report_action/partner_list/report.xml b/excel_import_export_demo/report_action/partner_list/report.xml
index 71d2286c1..f87f252a3 100644
--- a/excel_import_export_demo/report_action/partner_list/report.xml
+++ b/excel_import_export_demo/report_action/partner_list/report.xml
@@ -1,10 +1,11 @@
-
diff --git a/excel_import_export_demo/report_action/partner_list/report_partner_list.py b/excel_import_export_demo/report_action/partner_list/report_partner_list.py
index ac248ac4d..c15e49942 100644
--- a/excel_import_export_demo/report_action/partner_list/report_partner_list.py
+++ b/excel_import_export_demo/report_action/partner_list/report_partner_list.py
@@ -1,27 +1,21 @@
# Copyright 2019 Ecosoft Co., Ltd (http://ecosoft.co.th/)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html)
-from odoo import models, fields, api
+from odoo import api, fields, models
class ReportPartnerList(models.TransientModel):
- _name = 'report.partner.list'
- _description = 'Wizard for report.partner.list'
+ _name = "report.partner.list"
+ _description = "Wizard for report.partner.list"
- partner_ids = fields.Many2many(
- comodel_name='res.partner',
- )
- supplier = fields.Boolean(
- default=True,
- )
- customer = fields.Boolean(
- default=True,
- )
+ partner_ids = fields.Many2many(comodel_name="res.partner",)
+ supplier = fields.Boolean(default=True,)
+ customer = fields.Boolean(default=True,)
results = fields.Many2many(
- 'res.partner',
- string='Results',
- compute='_compute_results',
- help='Use compute fields, so there is nothing store in database',
+ "res.partner",
+ string="Results",
+ compute="_compute_results",
+ help="Use compute fields, so there is nothing store in database",
)
@api.multi
@@ -30,8 +24,11 @@ class ReportPartnerList(models.TransientModel):
before export to excel by report_excel action
"""
self.ensure_one()
- domain = ['|', ('supplier', '=', self.supplier),
- ('customer', '=', self.customer)]
+ domain = [
+ "|",
+ ("supplier", "=", self.supplier),
+ ("customer", "=", self.customer),
+ ]
if self.partner_ids:
- domain.append(('id', 'in', self.partner_ids.ids))
- self.results = self.env['res.partner'].search(domain, order='id')
+ domain.append(("id", "in", self.partner_ids.ids))
+ self.results = self.env["res.partner"].search(domain, order="id")
diff --git a/excel_import_export_demo/report_action/partner_list/report_partner_list.xml b/excel_import_export_demo/report_action/partner_list/report_partner_list.xml
index 48720dd99..15871159e 100644
--- a/excel_import_export_demo/report_action/partner_list/report_partner_list.xml
+++ b/excel_import_export_demo/report_action/partner_list/report_partner_list.xml
@@ -1,6 +1,5 @@
-
partner.list.wizard
report.partner.list
@@ -8,24 +7,25 @@
-
Partner List Report
report.partner.list
@@ -33,11 +33,10 @@
form
new
-
-
-
diff --git a/excel_import_export_demo/report_action/partner_list/templates.xml b/excel_import_export_demo/report_action/partner_list/templates.xml
index f716c8f32..8aa05e526 100644
--- a/excel_import_export_demo/report_action/partner_list/templates.xml
+++ b/excel_import_export_demo/report_action/partner_list/templates.xml
@@ -1,11 +1,12 @@
-
+
-
report.partner.list
partner_list.xlsx
Partner List Report Template
- Sample Partner List Report Template for testing
+ Sample Partner List Report Template for testing
{
'__EXPORT__': {
@@ -21,9 +22,7 @@
}
-
-
+
-
diff --git a/excel_import_export_demo/report_action/sale_order/report.xml b/excel_import_export_demo/report_action/sale_order/report.xml
index 38301b657..806286ceb 100644
--- a/excel_import_export_demo/report_action/sale_order/report.xml
+++ b/excel_import_export_demo/report_action/sale_order/report.xml
@@ -1,13 +1,12 @@
-
-
-
diff --git a/excel_import_export_demo/report_action/sale_order/templates.xml b/excel_import_export_demo/report_action/sale_order/templates.xml
index c46a64a59..fc2d21d85 100644
--- a/excel_import_export_demo/report_action/sale_order/templates.xml
+++ b/excel_import_export_demo/report_action/sale_order/templates.xml
@@ -1,6 +1,5 @@
-
+
-
sale.order
sale_order_form.xlsx
@@ -28,9 +27,7 @@
}
-
-
+
-
diff --git a/excel_import_export_demo/report_sale_order/report_sale_order.py b/excel_import_export_demo/report_sale_order/report_sale_order.py
index 215748968..a9ddf7583 100644
--- a/excel_import_export_demo/report_sale_order/report_sale_order.py
+++ b/excel_import_export_demo/report_sale_order/report_sale_order.py
@@ -1,25 +1,22 @@
# Copyright 2019 Ecosoft Co., Ltd (http://ecosoft.co.th/)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html)
-from openerp import models, fields, api
+from openerp import api, fields, models
class ReportSaleOrder(models.TransientModel):
- _name = 'report.sale.order'
- _description = 'Wizard for report.sale.order'
- _inherit = 'xlsx.report'
+ _name = "report.sale.order"
+ _description = "Wizard for report.sale.order"
+ _inherit = "xlsx.report"
# Search Criteria
- partner_id = fields.Many2one(
- 'res.partner',
- string='Partner',
- )
+ partner_id = fields.Many2one("res.partner", string="Partner",)
# Report Result, sale.order
results = fields.Many2many(
- 'sale.order',
- string='Results',
- compute='_compute_results',
- help='Use compute fields, so there is nothing stored in database',
+ "sale.order",
+ string="Results",
+ compute="_compute_results",
+ help="Use compute fields, so there is nothing stored in database",
)
@api.multi
@@ -28,8 +25,8 @@ class ReportSaleOrder(models.TransientModel):
before export to excel, by using xlsx.export
"""
self.ensure_one()
- Result = self.env['sale.order']
+ Result = self.env["sale.order"]
domain = []
if self.partner_id:
- domain += [('partner_id', '=', self.partner_id.id)]
+ domain += [("partner_id", "=", self.partner_id.id)]
self.results = Result.search(domain)
diff --git a/excel_import_export_demo/report_sale_order/report_sale_order.xml b/excel_import_export_demo/report_sale_order/report_sale_order.xml
index 92b1a147d..85c6b8c3f 100644
--- a/excel_import_export_demo/report_sale_order/report_sale_order.xml
+++ b/excel_import_export_demo/report_sale_order/report_sale_order.xml
@@ -1,25 +1,23 @@
-
+
-
report.sale.order
report.sale.order
-
+
primary
-
+
-
Sample Sales Report
report.sale.order
@@ -32,10 +30,10 @@
('gname', '=', False)]}
-
-
-
+ sequence="20"
+ />
diff --git a/excel_import_export_demo/report_sale_order/templates.xml b/excel_import_export_demo/report_sale_order/templates.xml
index 45ee33c6d..bec041b09 100644
--- a/excel_import_export_demo/report_sale_order/templates.xml
+++ b/excel_import_export_demo/report_sale_order/templates.xml
@@ -1,9 +1,8 @@
-
+
-
report.sale.order
report_sale_order.xlsx
@@ -28,9 +27,7 @@
}
-
-
+
-
diff --git a/excel_import_export_demo/tests/test_common.py b/excel_import_export_demo/tests/test_common.py
index 2235ef78f..f86386a0a 100644
--- a/excel_import_export_demo/tests/test_common.py
+++ b/excel_import_export_demo/tests/test_common.py
@@ -4,56 +4,54 @@ from odoo.tests.common import SingleTransactionCase
class TestExcelImportExport(SingleTransactionCase):
-
@classmethod
def setUpClass(cls):
super(TestExcelImportExport, cls).setUpClass()
@classmethod
def setUpXLSXTemplate(cls):
- cls.template_obj = cls.env['xlsx.template']
+ cls.template_obj = cls.env["xlsx.template"]
# Create xlsx.template using input_instruction
input_instruction = {
- '__EXPORT__': {
- 'sale_order': {
- '_HEAD_': {
- 'B2': 'partner_id.display_name${value or ""}'
- '#{align=left;style=text}',
- 'B3': 'name${value or ""}#{align=left;style=text}',
+ "__EXPORT__": {
+ "sale_order": {
+ "_HEAD_": {
+ "B2": 'partner_id.display_name${value or ""}'
+ "#{align=left;style=text}",
+ "B3": 'name${value or ""}#{align=left;style=text}',
+ },
+ "order_line": {
+ "A6": 'product_id.display_name${value or ""}' "#{style=text}",
+ "B6": 'name${value or ""}#{style=text}',
+ "C6": "product_uom_qty${value or 0}#{style=number}",
+ "D6": 'product_uom.name${value or ""}#{style=text}',
+ "E6": "price_unit${value or 0}#{style=number}",
+ "F6": 'tax_id${value and ","'
+ '.join([x.display_name for x in value]) or ""}',
+ "G6": "price_subtotal${value or 0}#{style=number}",
},
- 'order_line': {
- 'A6': 'product_id.display_name${value or ""}'
- '#{style=text}',
- 'B6': 'name${value or ""}#{style=text}',
- 'C6': 'product_uom_qty${value or 0}#{style=number}',
- 'D6': 'product_uom.name${value or ""}#{style=text}',
- 'E6': 'price_unit${value or 0}#{style=number}',
- 'F6': 'tax_id${value and ","'
- '.join([x.display_name for x in value]) or ""}',
- 'G6': 'price_subtotal${value or 0}#{style=number}',
- }
}
},
- '__IMPORT__': {
- 'sale_order': {
- 'order_line': {
- 'A6': 'product_id',
- 'B6': 'name',
- 'C6': 'product_uom_qty',
- 'D6': 'product_uom',
- 'E6': 'price_unit',
- 'F6': 'tax_id',
+ "__IMPORT__": {
+ "sale_order": {
+ "order_line": {
+ "A6": "product_id",
+ "B6": "name",
+ "C6": "product_uom_qty",
+ "D6": "product_uom",
+ "E6": "price_unit",
+ "F6": "tax_id",
}
}
},
# '__POST_IMPORT__': '${object.post_import_do_something()}',
}
vals = {
- 'res_model': 'sale.order',
- 'fname': 'sale_order.xlsx',
- 'name': 'Sale Order Template',
- 'description': 'Sample Sales Order Tempalte for testing',
- 'input_instruction': str(input_instruction),
+ "res_model": "sale.order",
+ "fname": "sale_order.xlsx",
+ "name": "Sale Order Template",
+ "description": "Sample Sales Order Tempalte for testing",
+ "input_instruction": str(input_instruction),
}
cls.sample_template = cls.template_obj.create(vals)
@@ -62,69 +60,77 @@ class TestExcelImportExport(SingleTransactionCase):
cls.setUpPrepSaleOrder()
# Create a Sales Order
product_line = {
- 'name': cls.product_order.name,
- 'product_id': cls.product_order.id,
- 'product_uom_qty': 2,
- 'product_uom': cls.product_order.uom_id.id,
- 'price_unit': cls.product_order.list_price,
- 'tax_id': False,
+ "name": cls.product_order.name,
+ "product_id": cls.product_order.id,
+ "product_uom_qty": 2,
+ "product_uom": cls.product_order.uom_id.id,
+ "price_unit": cls.product_order.list_price,
+ "tax_id": False,
}
- cls.sale_order = cls.env['sale.order'].create({
- 'partner_id': cls.partner.id,
- 'order_line': [(0, 0, product_line), (0, 0, product_line)],
- })
+ cls.sale_order = cls.env["sale.order"].create(
+ {
+ "partner_id": cls.partner.id,
+ "order_line": [(0, 0, product_line), (0, 0, product_line)],
+ }
+ )
@classmethod
def setUpManySaleOrder(cls):
cls.setUpPrepSaleOrder()
# Create a Sales Order
product_line = {
- 'name': cls.product_order.name,
- 'product_id': cls.product_order.id,
- 'product_uom_qty': 2,
- 'product_uom': cls.product_order.uom_id.id,
- 'price_unit': cls.product_order.list_price,
- 'tax_id': False,
+ "name": cls.product_order.name,
+ "product_id": cls.product_order.id,
+ "product_uom_qty": 2,
+ "product_uom": cls.product_order.uom_id.id,
+ "price_unit": cls.product_order.list_price,
+ "tax_id": False,
}
for i in range(10):
- cls.env['sale.order'].create({
- 'partner_id': cls.partner.id,
- 'order_line': [(0, 0, product_line), (0, 0, product_line)],
- })
+ cls.env["sale.order"].create(
+ {
+ "partner_id": cls.partner.id,
+ "order_line": [(0, 0, product_line), (0, 0, product_line)],
+ }
+ )
@classmethod
def setUpPrepSaleOrder(cls):
- categ_ids = cls.env['res.partner.category'].search([]).ids
- cls.partner = cls.env['res.partner'].create({
- 'name': 'Test Partner',
- 'category_id': [(6, 0, categ_ids)],
- })
+ categ_ids = cls.env["res.partner.category"].search([]).ids
+ cls.partner = cls.env["res.partner"].create(
+ {"name": "Test Partner", "category_id": [(6, 0, categ_ids)],}
+ )
# Create a Product
- user_type_income = \
- cls.env.ref('account.data_account_type_direct_costs')
- cls.account_income_product = cls.env['account.account'].create({
- 'code': 'INCOME_PROD111',
- 'name': 'Icome - Test Account',
- 'user_type_id': user_type_income.id,
- })
+ user_type_income = cls.env.ref("account.data_account_type_direct_costs")
+ cls.account_income_product = cls.env["account.account"].create(
+ {
+ "code": "INCOME_PROD111",
+ "name": "Icome - Test Account",
+ "user_type_id": user_type_income.id,
+ }
+ )
# Create category
- cls.product_category = cls.env['product.category'].create({
- 'name': 'Product Category with Income account',
- 'property_account_income_categ_id': cls.account_income_product.id
- })
+ cls.product_category = cls.env["product.category"].create(
+ {
+ "name": "Product Category with Income account",
+ "property_account_income_categ_id": cls.account_income_product.id,
+ }
+ )
# Products
- uom_unit = cls.env.ref('uom.product_uom_unit')
- cls.product_order = cls.env['product.product'].create({
- 'name': "Test Product",
- 'standard_price': 235.0,
- 'list_price': 280.0,
- 'type': 'consu',
- 'uom_id': uom_unit.id,
- 'uom_po_id': uom_unit.id,
- 'invoice_policy': 'order',
- 'expense_policy': 'no',
- 'default_code': 'PROD_ORDER',
- 'service_type': 'manual',
- 'taxes_id': False,
- 'categ_id': cls.product_category.id,
- })
+ uom_unit = cls.env.ref("uom.product_uom_unit")
+ cls.product_order = cls.env["product.product"].create(
+ {
+ "name": "Test Product",
+ "standard_price": 235.0,
+ "list_price": 280.0,
+ "type": "consu",
+ "uom_id": uom_unit.id,
+ "uom_po_id": uom_unit.id,
+ "invoice_policy": "order",
+ "expense_policy": "no",
+ "default_code": "PROD_ORDER",
+ "service_type": "manual",
+ "taxes_id": False,
+ "categ_id": cls.product_category.id,
+ }
+ )
diff --git a/excel_import_export_demo/tests/test_xlsx_import_export.py b/excel_import_export_demo/tests/test_xlsx_import_export.py
index 8a6aa158a..1c0c278e6 100644
--- a/excel_import_export_demo/tests/test_xlsx_import_export.py
+++ b/excel_import_export_demo/tests/test_xlsx_import_export.py
@@ -1,11 +1,11 @@
# Copyright 2019 Ecosoft Co., Ltd (http://ecosoft.co.th/)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html)
-from .test_common import TestExcelImportExport
from odoo.tests.common import Form
+from .test_common import TestExcelImportExport
+
class TestXLSXImportExport(TestExcelImportExport):
-
@classmethod
def setUpClass(cls):
super(TestExcelImportExport, cls).setUpClass()
@@ -15,38 +15,48 @@ class TestXLSXImportExport(TestExcelImportExport):
# Create Sales Order
self.setUpSaleOrder()
# ----------- EXPORT ---------------
- ctx = {'active_model': 'sale.order',
- 'active_id': self.sale_order.id,
- 'template_domain': [('res_model', '=', 'sale.order'),
- ('fname', '=', 'sale_order.xlsx'),
- ('gname', '=', False)], }
- f = Form(self.env['export.xlsx.wizard'].with_context(ctx))
+ ctx = {
+ "active_model": "sale.order",
+ "active_id": self.sale_order.id,
+ "template_domain": [
+ ("res_model", "=", "sale.order"),
+ ("fname", "=", "sale_order.xlsx"),
+ ("gname", "=", False),
+ ],
+ }
+ f = Form(self.env["export.xlsx.wizard"].with_context(ctx))
export_wizard = f.save()
# Test whether it loads correct template
- self.assertEqual(export_wizard.template_id,
- self.env.ref('excel_import_export_demo.'
- 'sale_order_xlsx_template'))
+ self.assertEqual(
+ export_wizard.template_id,
+ self.env.ref("excel_import_export_demo." "sale_order_xlsx_template"),
+ )
# Export excel
export_wizard.action_export()
self.assertTrue(export_wizard.data)
self.export_file = export_wizard.data
# ----------- IMPORT ---------------
- ctx = {'active_model': 'sale.order',
- 'active_id': self.sale_order.id,
- 'template_domain': [('res_model', '=', 'sale.order'),
- ('fname', '=', 'sale_order.xlsx'),
- ('gname', '=', False)],
- 'template_context': {'state': 'draft'}, }
- with Form(self.env['import.xlsx.wizard'].with_context(ctx)) as f:
+ ctx = {
+ "active_model": "sale.order",
+ "active_id": self.sale_order.id,
+ "template_domain": [
+ ("res_model", "=", "sale.order"),
+ ("fname", "=", "sale_order.xlsx"),
+ ("gname", "=", False),
+ ],
+ "template_context": {"state": "draft"},
+ }
+ with Form(self.env["import.xlsx.wizard"].with_context(ctx)) as f:
f.import_file = self.export_file
import_wizard = f.save()
# Test sample template
import_wizard.get_import_sample()
self.assertTrue(import_wizard.datas)
# Test whether it loads correct template
- self.assertEqual(import_wizard.template_id,
- self.env.ref('excel_import_export_demo.'
- 'sale_order_xlsx_template'))
+ self.assertEqual(
+ import_wizard.template_id,
+ self.env.ref("excel_import_export_demo." "sale_order_xlsx_template"),
+ )
# Import Excel
import_wizard.action_import()
diff --git a/excel_import_export_demo/tests/test_xlsx_report.py b/excel_import_export_demo/tests/test_xlsx_report.py
index 22ba2db9c..86d23d337 100644
--- a/excel_import_export_demo/tests/test_xlsx_report.py
+++ b/excel_import_export_demo/tests/test_xlsx_report.py
@@ -1,11 +1,11 @@
# Copyright 2019 Ecosoft Co., Ltd (http://ecosoft.co.th/)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html)
-from .test_common import TestExcelImportExport
from odoo.tests.common import Form
+from .test_common import TestExcelImportExport
+
class TestXLSXReport(TestExcelImportExport):
-
@classmethod
def setUpClass(cls):
super(TestXLSXReport, cls).setUpClass()
@@ -14,16 +14,21 @@ class TestXLSXReport(TestExcelImportExport):
""" Test Report from Sales Order """
# Create Many Sales Orders
self.setUpManySaleOrder()
- ctx = {'template_domain': [('res_model', '=', 'report.sale.order'),
- ('fname', '=', 'report_sale_order.xlsx'),
- ('gname', '=', False)], }
- with Form(self.env['report.sale.order'].with_context(ctx)) as f:
+ ctx = {
+ "template_domain": [
+ ("res_model", "=", "report.sale.order"),
+ ("fname", "=", "report_sale_order.xlsx"),
+ ("gname", "=", False),
+ ],
+ }
+ with Form(self.env["report.sale.order"].with_context(ctx)) as f:
f.partner_id = self.partner
report_wizard = f.save()
# Test whether it loads correct template
- self.assertEqual(report_wizard.template_id,
- self.env.ref('excel_import_export_demo.'
- 'report_sale_order_template'))
+ self.assertEqual(
+ report_wizard.template_id,
+ self.env.ref("excel_import_export_demo." "report_sale_order_template"),
+ )
# Report excel
report_wizard.report_xlsx()
self.assertTrue(report_wizard.data)
diff --git a/excel_import_export_demo/tests/test_xlsx_template.py b/excel_import_export_demo/tests/test_xlsx_template.py
index 730605c18..8c269a977 100644
--- a/excel_import_export_demo/tests/test_xlsx_template.py
+++ b/excel_import_export_demo/tests/test_xlsx_template.py
@@ -1,11 +1,11 @@
# Copyright 2019 Ecosoft Co., Ltd (http://ecosoft.co.th/)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html)
from ast import literal_eval
+
from .test_common import TestExcelImportExport
class TestXLSXTemplate(TestExcelImportExport):
-
@classmethod
def setUpClass(cls):
super(TestExcelImportExport, cls).setUpClass()
@@ -17,46 +17,44 @@ class TestXLSXTemplate(TestExcelImportExport):
self.assertDictEqual(
instruction_dict,
{
- '__EXPORT__': {
- 'sale_order': {
- '_HEAD_': {
- 'B2': 'partner_id.display_name${value or ""}'
- '#{align=left;style=text}#??',
- 'B3': 'name${value or ""}'
- '#{align=left;style=text}#??'},
- 'order_line': {
- 'A6': 'product_id.display_name${value or ""}'
- '#{style=text}#??',
- 'B6': 'name${value or ""}#{style=text}#??',
- 'C6': 'product_uom_qty${value or 0}'
- '#{style=number}#??',
- 'D6': 'product_uom.name${value or ""}'
- '#{style=text}#??',
- 'E6': 'price_unit${value or 0}#{style=number}#??',
- 'F6': 'tax_id${value and ",".join([x.display_name '
- 'for x in value]) or ""}#{}#??',
- 'G6': 'price_subtotal${value or 0}'
- '#{style=number}#??'
+ "__EXPORT__": {
+ "sale_order": {
+ "_HEAD_": {
+ "B2": 'partner_id.display_name${value or ""}'
+ "#{align=left;style=text}#??",
+ "B3": 'name${value or ""}' "#{align=left;style=text}#??",
+ },
+ "order_line": {
+ "A6": 'product_id.display_name${value or ""}'
+ "#{style=text}#??",
+ "B6": 'name${value or ""}#{style=text}#??',
+ "C6": "product_uom_qty${value or 0}" "#{style=number}#??",
+ "D6": 'product_uom.name${value or ""}' "#{style=text}#??",
+ "E6": "price_unit${value or 0}#{style=number}#??",
+ "F6": 'tax_id${value and ",".join([x.display_name '
+ 'for x in value]) or ""}#{}#??',
+ "G6": "price_subtotal${value or 0}" "#{style=number}#??",
+ },
+ }
+ },
+ "__IMPORT__": {
+ "sale_order": {
+ "order_line": {
+ "A6": "product_id",
+ "B6": "name",
+ "C6": "product_uom_qty",
+ "D6": "product_uom",
+ "E6": "price_unit",
+ "F6": "tax_id",
}
}
},
- '__IMPORT__': {
- 'sale_order': {
- 'order_line': {
- 'A6': 'product_id',
- 'B6': 'name',
- 'C6': 'product_uom_qty',
- 'D6': 'product_uom',
- 'E6': 'price_unit',
- 'F6': 'tax_id',
- }
- }
- },
- '__POST_IMPORT__': False
- }
+ "__POST_IMPORT__": False,
+ },
)
# Finally load excel file into this new template
self.assertFalse(self.sample_template.datas) # Not yet loaded
- self.template_obj.load_xlsx_template([self.sample_template.id],
- addon='excel_import_export_demo')
+ self.template_obj.load_xlsx_template(
+ [self.sample_template.id], addon="excel_import_export_demo"
+ )
self.assertTrue(self.sample_template.datas) # Loaded successfully