mirror of
https://github.com/bringout/oca-ocb-sale.git
synced 2026-04-26 23:52:05 +02:00
19.0 vanilla
This commit is contained in:
parent
79f83631d5
commit
73afc09215
6267 changed files with 1534193 additions and 1130106 deletions
32
odoo-bringout-oca-ocb-sale/sale/wizard/mass_cancel_orders.py
Normal file
32
odoo-bringout-oca-ocb-sale/sale/wizard/mass_cancel_orders.py
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class SaleMassCancelOrders(models.TransientModel):
|
||||
_name = 'sale.mass.cancel.orders'
|
||||
_description = "Cancel multiple quotations"
|
||||
|
||||
sale_order_ids = fields.Many2many(
|
||||
string="Sale orders to cancel",
|
||||
comodel_name='sale.order',
|
||||
default=lambda self: self.env.context.get('active_ids'),
|
||||
relation='sale_order_mass_cancel_wizard_rel',
|
||||
)
|
||||
sale_orders_count = fields.Integer(compute='_compute_sale_orders_count')
|
||||
has_confirmed_order = fields.Boolean(compute='_compute_has_confirmed_order')
|
||||
|
||||
@api.depends('sale_order_ids')
|
||||
def _compute_sale_orders_count(self):
|
||||
for wizard in self:
|
||||
wizard.sale_orders_count = len(wizard.sale_order_ids)
|
||||
|
||||
@api.depends('sale_order_ids')
|
||||
def _compute_has_confirmed_order(self):
|
||||
for wizard in self:
|
||||
wizard.has_confirmed_order = bool(
|
||||
wizard.sale_order_ids.filtered(lambda so: so.state in ['sale', 'done'])
|
||||
)
|
||||
|
||||
def action_mass_cancel(self):
|
||||
self.sale_order_ids._action_cancel()
|
||||
Loading…
Add table
Add a link
Reference in a new issue