From fa076605bed94438c20fc9a93ef28ebf17bf9d56 Mon Sep 17 00:00:00 2001 From: Ernesto Tejeda Date: Tue, 1 Dec 2020 10:19:34 -0500 Subject: [PATCH] [IMP] website_rma: black, isort, prettier --- website_rma/__manifest__.py | 5 +- website_rma/controllers/main.py | 42 ++-- website_rma/data/ir_model_data.xml | 13 +- website_rma/data/website_data.xml | 6 +- website_rma/models/ir_model.py | 6 +- website_rma/static/src/js/website_rma.js | 26 +-- website_rma/static/src/js/website_rma.tour.js | 27 +-- website_rma/tests/test_website_rma.py | 39 ++-- website_rma/views/assets.xml | 12 +- website_rma/views/request_rma_form.xml | 181 ++++++++++++------ .../views/website_rma_portal_templates.xml | 13 +- website_rma/views/website_templates.xml | 17 +- 12 files changed, 241 insertions(+), 146 deletions(-) diff --git a/website_rma/__manifest__.py b/website_rma/__manifest__.py index 0cacb46d..6732904e 100644 --- a/website_rma/__manifest__.py +++ b/website_rma/__manifest__.py @@ -10,10 +10,7 @@ "author": "Tecnativa, Odoo Community Association (OCA)", "maintainers": ["ernestotejeda"], "license": "AGPL-3", - "depends": [ - "rma", - "website_form", - ], + "depends": ["rma", "website_form",], "data": [ "data/ir_model_data.xml", "views/assets.xml", diff --git a/website_rma/controllers/main.py b/website_rma/controllers/main.py index d1ac3b00..58dcbff7 100644 --- a/website_rma/controllers/main.py +++ b/website_rma/controllers/main.py @@ -1,46 +1,56 @@ # Copyright 2020 Tecnativa - Ernesto Tejeda # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import json + from odoo import http -from odoo.addons.website_form.controllers.main import WebsiteForm from odoo.http import request +from odoo.addons.website_form.controllers.main import WebsiteForm + class WebsiteForm(WebsiteForm): - def insert_record(self, request, model, values, custom, meta=None): - if model.model == 'rma': - values['partner_id'] = request.env.user.partner_id.id + if model.model == "rma": + values["partner_id"] = request.env.user.partner_id.id res = super(WebsiteForm, self).insert_record( - request, model, values, custom, meta) + request, model, values, custom, meta + ) # Add the customer to the followers, the same as when creating # an RMA from a sales order in the portal. - rma = request.env['rma'].browse(res).sudo() + rma = request.env["rma"].browse(res).sudo() rma.message_subscribe([rma.partner_id.id]) return res class WebsiteRMA(http.Controller): - def _get_website_rma_product_domain(self, q): """Domain used for the products to be shown in selection of the web form. """ return [ - ('name', '=ilike', "%{}%".format(q or '')), + ("name", "=ilike", "%{}%".format(q or "")), ("sale_ok", "=", True), ] - @http.route(['/requestrma'], type='http', auth="user", website=True) + @http.route(["/requestrma"], type="http", auth="user", website=True) def request_rma(self, **kw): return http.request.render("website_rma.request_rma", {}) - @http.route('/website_rma/get_products', type='http', auth="user", - methods=['GET'], website=True) - def rma_product_read(self, q='', l=25, **post): - data = request.env['product.product'].sudo().search_read( - domain=self._get_website_rma_product_domain(q), - fields=['id', 'display_name', 'uom_id'], - limit=int(l), + @http.route( + "/website_rma/get_products", + type="http", + auth="user", + methods=["GET"], + website=True, + ) + def rma_product_read(self, q="", l=25, **post): + data = ( + request.env["product.product"] + .sudo() + .search_read( + domain=self._get_website_rma_product_domain(q), + fields=["id", "display_name", "uom_id"], + limit=int(l), + ) ) return json.dumps(data) diff --git a/website_rma/data/ir_model_data.xml b/website_rma/data/ir_model_data.xml index ab7e9f15..931d9ce2 100644 --- a/website_rma/data/ir_model_data.xml +++ b/website_rma/data/ir_model_data.xml @@ -1,17 +1,21 @@ - + - + True Request RMA rma - + ]" + /> diff --git a/website_rma/data/website_data.xml b/website_rma/data/website_data.xml index b7842fc2..3acb3276 100644 --- a/website_rma/data/website_data.xml +++ b/website_rma/data/website_data.xml @@ -1,13 +1,13 @@ - + /requestrma-thank-you - + True - + diff --git a/website_rma/models/ir_model.py b/website_rma/models/ir_model.py index eb174be7..26b26b1c 100644 --- a/website_rma/models/ir_model.py +++ b/website_rma/models/ir_model.py @@ -5,7 +5,7 @@ from odoo import api, models class IrModel(models.Model): - _inherit = 'ir.model' + _inherit = "ir.model" @api.model def get_authorized_fields(self, model_name): @@ -17,7 +17,7 @@ class IrModel(models.Model): readonly always. """ res = super().get_authorized_fields(model_name) - if model_name == 'rma': - auth_fields = ['product_uom_qty', 'product_uom', 'partner_id'] + if model_name == "rma": + auth_fields = ["product_uom_qty", "product_uom", "partner_id"] res.update(self.env[model_name].fields_get(auth_fields)) return res diff --git a/website_rma/static/src/js/website_rma.js b/website_rma/static/src/js/website_rma.js index 2785b214..ff11c323 100644 --- a/website_rma/static/src/js/website_rma.js +++ b/website_rma/static/src/js/website_rma.js @@ -1,23 +1,23 @@ /* Copyright 2020 Tecnativa - Ernesto Tejeda /* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). */ -odoo.define('website_rma.website_rma', function(require) { +odoo.define("website_rma.website_rma", function(require) { "use strict"; - require('web.dom_ready'); + require("web.dom_ready"); $("#rma_request_form input[name='product_id']").select2({ - width: '100%', - placeholder: 'Select a product', + width: "100%", + placeholder: "Select a product", allowClear: true, selection_data: false, ajax: { - url: '/website_rma/get_products', - dataType: 'json', + url: "/website_rma/get_products", + dataType: "json", data: function(term) { return { q: term, - l: 50 + l: 50, }; }, results: function(data) { @@ -27,18 +27,18 @@ odoo.define('website_rma.website_rma', function(require) { id: x.id, text: x.display_name, uom_id: x.uom_id[0], - uom_name: x.uom_id[1] + uom_name: x.uom_id[1], }); }); return {results: res}; - } + }, }, }); // Set UoM on selected onchange - $("#rma_request_form input[name='product_id']").change(function(){ - var select2_data = $(this).select2('data'); - var uom_id = select2_data ? select2_data['uom_id'] : '' - var uom_name = select2_data ? select2_data['uom_name'] : '' + $("#rma_request_form input[name='product_id']").change(function() { + var select2_data = $(this).select2("data"); + var uom_id = select2_data ? select2_data.uom_id : ""; + var uom_name = select2_data ? select2_data.uom_name : ""; $("input[name='product_uom']").val(uom_id); $("input[name='product_uom_name']").val(uom_name); }); diff --git a/website_rma/static/src/js/website_rma.tour.js b/website_rma/static/src/js/website_rma.tour.js index 56ba399f..4a5d3133 100644 --- a/website_rma/static/src/js/website_rma.tour.js +++ b/website_rma/static/src/js/website_rma.tour.js @@ -1,17 +1,18 @@ /* Copyright 2020 Tecnativa - Ernesto Tejeda /* License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). */ -odoo.define('website_sale_vat_required.tour', function(require) { +odoo.define("website_sale_vat_required.tour", function(require) { "use strict"; var tour = require("web_tour.tour"); var base = require("web_editor.base"); - tour.register("request_rma", + tour.register( + "request_rma", { test: true, url: "/my", - wait_for: base.ready() + wait_for: base.ready(), }, [ { @@ -19,27 +20,29 @@ odoo.define('website_sale_vat_required.tour', function(require) { trigger: ".o_portal_my_home a[href='/requestrma']", }, { - content: 'Click on request button with the form empty', + content: "Click on request button with the form empty", trigger: "a.o_website_form_send", }, { - content: 'Fill form', + content: "Fill form", trigger: "#rma_request_form", extra_trigger: "#rma_request_form", - run: function (actions) { - $("select[name='operation_id'] > option:eq(1)").prop('selected', true); + run: function(actions) { + $("select[name='operation_id'] > option:eq(1)").prop( + "selected", + true + ); $("textarea[name='description']").val("RMA test from website form"); - - } + }, }, { - content: 'Click on request button with the form empty', + content: "Click on request button with the form empty", trigger: "a.o_website_form_send", }, { content: "Click on RMA form page link", trigger: "div#request_rma_thanks", - } + }, ] - ) + ); }); diff --git a/website_rma/tests/test_website_rma.py b/website_rma/tests/test_website_rma.py index eea806f4..0d3f840f 100644 --- a/website_rma/tests/test_website_rma.py +++ b/website_rma/tests/test_website_rma.py @@ -5,25 +5,24 @@ from odoo.tests.common import Form, HttpCase class TestWebsiteRma(HttpCase): - def setUp(self): super().setUp() - self.product = self.env['product.product'].create({ - 'name': 'Website rma 1', - 'type': 'product', - }) - picking_type = self.env['stock.picking.type'].search( + self.product = self.env["product.product"].create( + {"name": "Website rma 1", "type": "product",} + ) + picking_type = self.env["stock.picking.type"].search( [ - ('code', '=', 'outgoing'), - '|', - ('warehouse_id.company_id', '=', self.env.user.company_id.id), - ('warehouse_id', '=', False) + ("code", "=", "outgoing"), + "|", + ("warehouse_id.company_id", "=", self.env.user.company_id.id), + ("warehouse_id", "=", False), ], limit=1, ) picking_form = Form( - recordp=self.env['stock.picking'].with_context( - default_picking_type_id=picking_type.id), + recordp=self.env["stock.picking"].with_context( + default_picking_type_id=picking_type.id + ), view="stock.view_picking_form", ) picking_form.partner_id = self.env.user.partner_id @@ -38,14 +37,14 @@ class TestWebsiteRma(HttpCase): def test_website_form_request_rma(self): self.browser_js( url_path="/my", - code="odoo.__DEBUG__.services['web_tour.tour']" - ".run('request_rma')", - ready="odoo.__DEBUG__.services['web_tour.tour']" - ".tours.request_rma.ready", + code="odoo.__DEBUG__.services['web_tour.tour']" ".run('request_rma')", + ready="odoo.__DEBUG__.services['web_tour.tour']" ".tours.request_rma.ready", login="admin", ) - rma = self.env['rma'].search([ - ('operation_id', '!=', False), - ('description', '=', "RMA test from website form"), - ]) + rma = self.env["rma"].search( + [ + ("operation_id", "!=", False), + ("description", "=", "RMA test from website form"), + ] + ) self.assertTrue(bool(rma)) diff --git a/website_rma/views/assets.xml b/website_rma/views/assets.xml index ab0bedbe..4f5ec696 100644 --- a/website_rma/views/assets.xml +++ b/website_rma/views/assets.xml @@ -1,11 +1,17 @@ - +