From 9a29ebbc74baa84675bd1a2cbae0457727b348db Mon Sep 17 00:00:00 2001 From: Remi <remi@le-filament.com> Date: Mon, 1 Apr 2019 14:47:37 +0200 Subject: [PATCH] Fix according to coding rules --- __init__.py | 2 +- __manifest__.py | 11 +- models/__init__.py | 2 +- models/sale.py | 22 ++-- views/lefilament_sales_view.xml | 182 ++++++++++++++------------------ 5 files changed, 100 insertions(+), 119 deletions(-) diff --git a/__init__.py b/__init__.py index a5e7e1d..cde864b 100644 --- a/__init__.py +++ b/__init__.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -import models \ No newline at end of file +from . import models diff --git a/__manifest__.py b/__manifest__.py index 78722d9..f6c3591 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- { 'name': 'Le Filament - Sales', @@ -6,17 +7,15 @@ 'version': '10.0.1.0', 'license': 'AGPL-3', 'description': """ - Module Sales Le Filament This module depends upon *sale* module. - This module provides: - - Updated quotation tree view to display untaxed amount instead of taxed amount - - Updated sale order tree view to display untaxed amount instead of taxed amount - - Updated sale order tree view to display amount that remains to be invoiced + This module provides updated tree views : + - quotation to display untaxed amount instead of taxed amount + - sale order to display untaxed amount instead of taxed amount + - sale order to display amount that remains to be invoiced """, - 'author': 'LE FILAMENT', 'category': 'Sales', 'depends': ['sale'], diff --git a/models/__init__.py b/models/__init__.py index a83bd12..78a9604 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -import sale +from . import sale diff --git a/models/sale.py b/models/sale.py index c2f562d..280eae9 100644 --- a/models/sale.py +++ b/models/sale.py @@ -3,7 +3,8 @@ # © 2018 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import api, fields, models, _ +from odoo import api, fields, models + class SaleOrder(models.Model): _name = "sale.order" @@ -14,21 +15,28 @@ class SaleOrder(models.Model): @api.depends('order_line.invoice_status') def _remain_to_invoice(self): """ - Compute the amount (untaxed) that remains to be invoiced from sale order + Compute the amount (untaxed) that remains to be invoiced + from sale order """ for order in self: if order.invoice_status == ('to invoice'): - line_to_invoice = [line for line in order.order_line if line.invoice_status != 'no'] + line_to_invoice = [line for line in order.order_line + if line.invoice_status != 'no'] - untaxed_amount_to_invoice = order.amount_untaxed + untaxed_amount_to_invoice = order.amount_untaxed for line in line_to_invoice: - untaxed_amount_to_invoice -= line.qty_invoiced * line.price_unit + untaxed_amount_to_invoice -= (line.qty_invoiced + * line.price_unit) else: untaxed_amount_to_invoice = 0.0 order.update({ 'untaxed_amount_to_invoice': untaxed_amount_to_invoice }) - - untaxed_amount_to_invoice = fields.Monetary(string='Remains to invoice (untaxed)', compute='_remain_to_invoice', store=True, readonly=True, track_visibility='always') + untaxed_amount_to_invoice = fields.Monetary( + string='Remains to invoice (untaxed)', + compute='_remain_to_invoice', + store=True, + readonly=True, + track_visibility='always') diff --git a/views/lefilament_sales_view.xml b/views/lefilament_sales_view.xml index f29799c..ca6202e 100644 --- a/views/lefilament_sales_view.xml +++ b/views/lefilament_sales_view.xml @@ -1,111 +1,85 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> + <record id="lf_view_sale_order_calendar" model="ir.ui.view"> + <field name="inherit_id" ref="sale.view_sale_order_calendar"/> + <field name="name">sale.order.calendar</field> + <field name="model">sale.order</field> + <field name="arch" type="xml"> + <xpath expr="//field[@name='amount_total']" position="replace"> + <field name="amount_untaxed" widget="monetary"/> + </xpath> + </field> + </record> + <record model="ir.ui.view" id="lf_view_sale_order_graph"> + <field name="inherit_id" ref="sale.view_sale_order_graph"/> + <field name="name">sale.order.graph</field> + <field name="model">sale.order</field> + <field name="arch" type="xml"> + <xpath expr="//field[@name='amount_total']" position="replace"> + <field name="amount_untaxed" type="measure"/> + </xpath> + </field> + </record> + <record model="ir.ui.view" id="lf_view_sale_order_pivot"> + <field name="inherit_id" ref="sale.view_sale_order_pivot"/> + <field name="name">sale.order.pivot</field> + <field name="model">sale.order</field> + <field name="arch" type="xml"> + <xpath expr="//field[@name='amount_total']" position="replace"> + <field name="amount_untaxed" type="measure"/> + </xpath> + </field> + </record> - <record id="lf_view_sale_order_calendar" model="ir.ui.view"> - <field name="inherit_id" ref="sale.view_sale_order_calendar"/> - <field name="name">sale.order.calendar</field> - <field name="model">sale.order</field> - <field name="arch" type="xml"> - <xpath expr="//field[@name='amount_total']" position="replace"> - <field name="amount_untaxed" widget="monetary"/> - </xpath> - </field> - </record> - <record model="ir.ui.view" id="lf_view_sale_order_graph"> - <field name="inherit_id" ref="sale.view_sale_order_graph"/> - <field name="name">sale.order.graph</field> - <field name="model">sale.order</field> - <field name="arch" type="xml"> - <xpath expr="//field[@name='amount_total']" position="replace"> - <field name="amount_untaxed" type="measure"/> - </xpath> - </field> - </record> - <record model="ir.ui.view" id="lf_view_sale_order_pivot"> - <field name="inherit_id" ref="sale.view_sale_order_pivot"/> - <field name="name">sale.order.pivot</field> - <field name="model">sale.order</field> - <field name="arch" type="xml"> - <xpath expr="//field[@name='amount_total']" position="replace"> - <field name="amount_untaxed" type="measure"/> - </xpath> - </field> - </record> + <!-- Sales Orders Kanban View --> + <record model="ir.ui.view" id="lf_view_sale_order_kanban"> + <field name="inherit_id" ref="sale.view_sale_order_kanban"/> + <field name="name">sale.order.kanban</field> + <field name="model">sale.order</field> + <field name="arch" type="xml"> + <xpath expr="//field[@name='amount_total']" position="replace"> + <field name="amount_untaxed"/> + </xpath> + <xpath expr="//div//field[@name='amount_total']" position="replace"> + <field name="amount_untaxed" widget="monetary"/> + </xpath> + </field> + </record> - <!-- Sales Orders Kanban View --> - <record model="ir.ui.view" id="lf_view_sale_order_kanban"> - <field name="inherit_id" ref="sale.view_sale_order_kanban"/> - <field name="name">sale.order.kanban</field> - <field name="model">sale.order</field> - <field name="arch" type="xml"> - <xpath expr="//field[@name='amount_total']" position="replace"> - <field name="amount_untaxed"/> - </xpath> - <xpath expr="//div//field[@name='amount_total']" position="replace"> - <field name="amount_untaxed" widget="monetary"/> - </xpath> - </field> - </record> + <record id="lf_view_order_tree" model="ir.ui.view"> + <field name="inherit_id" ref="sale.view_order_tree"/> + <field name="name">sale.order.tree</field> + <field name="model">sale.order</field> + <field name="arch" type="xml"> + <xpath expr="//field[@name='amount_total']" position="replace"> + <field name="amount_untaxed" widget="monetary" sum="Total Untaxed" /> + <field name="untaxed_amount_to_invoice" widget="monetary" sum="Total to invoice untaxed" /> + </xpath> + </field> + </record> - <record id="lf_view_order_tree" model="ir.ui.view"> - <field name="inherit_id" ref="sale.view_order_tree"/> - <field name="name">sale.order.tree</field> - <field name="model">sale.order</field> - <field name="arch" type="xml"> - <xpath expr="//field[@name='amount_total']" position="replace"> - <field name="amount_untaxed" widget="monetary" sum="Total Untaxed" /> - <field name="untaxed_amount_to_invoice" widget="monetary" sum="Total to invoice untaxed" /> - </xpath> - </field> - </record> - - <record id="lf_view_quotation_tree" model="ir.ui.view"> - <field name="inherit_id" ref="sale.view_quotation_tree"/> - <field name="name">sale.order.tree</field> - <field name="model">sale.order</field> - <field name="arch" type="xml"> - <xpath expr="//field[@name='amount_total']" position="replace"> - <field name="amount_untaxed" widget="monetary" sum="Total Untaxed" /> - </xpath> - </field> - </record> - - <!-- inherited view to make the order lines list in the form non-editable - for the members of some usability groups --> - <record id="view_order_form_editable_list" model="ir.ui.view"> - <field name="name">sale.order.form.editable.list</field> - <field name="model">sale.order</field> - <field name="inherit_id" ref="sale.view_order_form"/> - <field name="groups_id" eval="[(4, ref('product.group_stock_packaging')), (4, ref('sale.group_mrp_properties'))]"/> - <field name="arch" type="xml"> - <xpath expr="//field[@name='order_line']/tree" position="attributes"> - <attribute name="editable"/> - </xpath> - </field> - </record> - -<!-- - <record id="action_quotations" model="ir.actions.act_window"> - <field name="name">Quotations</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">sale.order</field> - <field name="view_type">form</field> - <field name="view_id" ref="view_quotation_tree"/> - <field name="view_mode">tree,kanban,form,calendar,pivot,graph</field> - <field name="search_view_id" ref="sale_order_view_search_inherit_quotation"/> - <field name="context">{'hide_sale': True}</field> - <field name="help" type="html"> - <p class="oe_view_nocontent_create"> - Create a Quotation, the first step of a new sale. - </p><p> - Your next actions should flow efficiently: confirm the Quotation - to a Sale Order, then create the Invoice and collect the Payment. - </p><p> - Note that once a Quotation becomes a Sale Order, it will be moved - from the Quotations list to the Sales Order list. - </p> - </field> - </record> ---> + <record id="lf_view_quotation_tree" model="ir.ui.view"> + <field name="inherit_id" ref="sale.view_quotation_tree"/> + <field name="name">sale.order.tree</field> + <field name="model">sale.order</field> + <field name="arch" type="xml"> + <xpath expr="//field[@name='amount_total']" position="replace"> + <field name="amount_untaxed" widget="monetary" sum="Total Untaxed" /> + </xpath> + </field> + </record> + <!-- inherited view to make the order lines list in the form non-editable + for the members of some usability groups --> + <record id="view_order_form_editable_list" model="ir.ui.view"> + <field name="name">sale.order.form.editable.list</field> + <field name="model">sale.order</field> + <field name="inherit_id" ref="sale.view_order_form"/> + <field name="groups_id" eval="[(4, ref('product.group_stock_packaging')), (4, ref('sale.group_mrp_properties'))]"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='order_line']/tree" position="attributes"> + <attribute name="editable"/> + </xpath> + </field> + </record> </odoo> -- GitLab