[IMP] pre-commit: first run on whole repo

This commit is contained in:
Kevin Khao
2021-11-26 18:54:38 +03:00
parent a04b8980e1
commit 167aefee13
289 changed files with 6020 additions and 4170 deletions

View File

@@ -2,54 +2,55 @@
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models, fields, api, _
from odoo import _, api, fields, models
from odoo.exceptions import UserError
from odoo.addons.base.models.res_partner import WARNING_MESSAGE
class SaleConfirm(models.TransientModel):
_name = 'sale.confirm'
_description = 'Wizard to confirm a sale order'
_name = "sale.confirm"
_description = "Wizard to confirm a sale order"
sale_id = fields.Many2one(
'sale.order', string='Sale Order', readonly=True)
client_order_ref = fields.Char(string='Customer PO Number')
payment_term_id = fields.Many2one(
'account.payment.term', string='Payment Terms')
sale_id = fields.Many2one("sale.order", string="Sale Order", readonly=True)
client_order_ref = fields.Char(string="Customer PO Number")
payment_term_id = fields.Many2one("account.payment.term", string="Payment Terms")
partner_invoice_id = fields.Many2one(
'res.partner', 'Invoice Address', required=True)
"res.partner", "Invoice Address", required=True
)
show_partner_invoice_id = fields.Many2one(
related='partner_invoice_id',
string='Detailed Invoice Address')
related="partner_invoice_id", string="Detailed Invoice Address"
)
partner_shipping_id = fields.Many2one(
'res.partner', 'Delivery Address', required=True)
"res.partner", "Delivery Address", required=True
)
show_partner_shipping_id = fields.Many2one(
related='partner_shipping_id',
string='Detailed Delivery Address')
sale_warn = fields.Selection(
WARNING_MESSAGE, 'Sale Warning Type', readonly=True)
sale_warn_msg = fields.Text(string='Sale Warning Message', readonly=True)
related="partner_shipping_id", string="Detailed Delivery Address"
)
sale_warn = fields.Selection(WARNING_MESSAGE, "Sale Warning Type", readonly=True)
sale_warn_msg = fields.Text(string="Sale Warning Message", readonly=True)
@api.model
def _prepare_default_get(self, order):
partner = order.partner_id.commercial_partner_id
default = {
'sale_id': order.id,
'client_order_ref': order.client_order_ref,
'payment_term_id': order.payment_term_id.id or False,
'partner_invoice_id': order.partner_invoice_id.id,
'partner_shipping_id': order.partner_shipping_id.id,
'sale_warn_msg': partner.sale_warn_msg,
'sale_warn': partner.sale_warn,
"sale_id": order.id,
"client_order_ref": order.client_order_ref,
"payment_term_id": order.payment_term_id.id or False,
"partner_invoice_id": order.partner_invoice_id.id,
"partner_shipping_id": order.partner_shipping_id.id,
"sale_warn_msg": partner.sale_warn_msg,
"sale_warn": partner.sale_warn,
}
return default
@api.model
def default_get(self, fields):
res = super().default_get(fields)
assert self._context.get('active_model') == 'sale.order',\
'active_model should be sale.order'
order = self.env['sale.order'].browse(self._context.get('active_id'))
assert (
self._context.get("active_model") == "sale.order"
), "active_model should be sale.order"
order = self.env["sale.order"].browse(self._context.get("active_id"))
default = self._prepare_default_get(order)
res.update(default)
return res
@@ -57,20 +58,23 @@ class SaleConfirm(models.TransientModel):
def _prepare_update_so(self):
self.ensure_one()
return {
'client_order_ref': self.client_order_ref,
'payment_term_id': self.payment_term_id.id or False,
'partner_invoice_id': self.partner_invoice_id.id,
'partner_shipping_id': self.partner_shipping_id.id,
}
"client_order_ref": self.client_order_ref,
"payment_term_id": self.payment_term_id.id or False,
"partner_invoice_id": self.partner_invoice_id.id,
"partner_shipping_id": self.partner_shipping_id.id,
}
def confirm(self):
self.ensure_one()
partner = self.sale_id.partner_id.commercial_partner_id
if partner.sale_warn == 'block':
raise UserError(_(
"You cannot confirm this quotation because "
"customer '%s' has a blocker sale warning:\n\n%s")
% (partner.display_name, partner.sale_warn_msg))
if partner.sale_warn == "block":
raise UserError(
_(
"You cannot confirm this quotation because "
"customer '%s' has a blocker sale warning:\n\n%s"
)
% (partner.display_name, partner.sale_warn_msg)
)
vals = self._prepare_update_so()
self.sale_id.write(vals)
# confirm sale order

View File

@@ -1,10 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright 2017-2021 Akretion France (http://www.akretion.com/)
@author: Alexis de Lattre <alexis.delattre@akretion.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo>
<record id="sale_confirm_form" model="ir.ui.view">
@@ -12,33 +11,56 @@
<field name="model">sale.confirm</field>
<field name="arch" type="xml">
<form string="Confirm Order">
<div><p>At this stage, you have received the Purchase Order from the customer and you are about to convert the related quotation to an order.</p></div>
<group name="warn" groups="sale.group_warning_sale" attrs="{'invisible': ['|', ('sale_warn', '=', False), ('sale_warn', '=', 'no-message')]}" string="Warning" col="4">
<field name="sale_warn" nolabel="1"/>
<field name="sale_warn_msg" nolabel="1" colspan="3"/>
<div><p
>At this stage, you have received the Purchase Order from the customer and you are about to convert the related quotation to an order.</p></div>
<group
name="warn"
groups="sale.group_warning_sale"
attrs="{'invisible': ['|', ('sale_warn', '=', False), ('sale_warn', '=', 'no-message')]}"
string="Warning"
col="4"
>
<field name="sale_warn" nolabel="1" />
<field name="sale_warn_msg" nolabel="1" colspan="3" />
</group>
<group name="main" attrs="{'invisible': [('sale_warn', '=', 'block')]}">
<field name="sale_id" invisible="1"/>
<field name="client_order_ref"/>
<field name="partner_invoice_id" context="{'default_type': 'invoice'}"
groups="sale.group_delivery_invoice_address"/>
<field name="sale_id" invisible="1" />
<field name="client_order_ref" />
<field
name="partner_invoice_id"
context="{'default_type': 'invoice'}"
groups="sale.group_delivery_invoice_address"
/>
<!-- partner_invoice_id can't show the full address because
we are in edit mode -->
<field name="show_partner_invoice_id" options="{'always_reload': True}"
context="{'show_address': 1}"
groups="sale.group_delivery_invoice_address"/>
<field name="partner_shipping_id"
context="{'default_type': 'delivery'}"
groups="sale.group_delivery_invoice_address"/>
<field name="show_partner_shipping_id" options="{'always_reload': True}"
context="{'show_address': 1}"
groups="sale.group_delivery_invoice_address"/>
<field name="payment_term_id"/>
<field
name="show_partner_invoice_id"
options="{'always_reload': True}"
context="{'show_address': 1}"
groups="sale.group_delivery_invoice_address"
/>
<field
name="partner_shipping_id"
context="{'default_type': 'delivery'}"
groups="sale.group_delivery_invoice_address"
/>
<field
name="show_partner_shipping_id"
options="{'always_reload': True}"
context="{'show_address': 1}"
groups="sale.group_delivery_invoice_address"
/>
<field name="payment_term_id" />
</group>
<footer>
<button type="object" name="confirm"
string="Confirm Sale" class="btn-primary" attrs="{'invisible': [('sale_warn', '=', 'block')]}"/>
<button special="cancel" string="Annuler" class="btn-default"/>
<button
type="object"
name="confirm"
string="Confirm Sale"
class="btn-primary"
attrs="{'invisible': [('sale_warn', '=', 'block')]}"
/>
<button special="cancel" string="Annuler" class="btn-default" />
</footer>
</form>
</field>