mirror of
https://github.com/bringout/oca-financial.git
synced 2026-04-26 14:22:01 +02:00
50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
# Copyright (C) 2019-Today: Odoo Community Association (OCA)
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
from odoo import api, models
|
|
|
|
|
|
class StockPicking(models.Model):
|
|
_name = "stock.picking"
|
|
_inherit = [
|
|
_name,
|
|
"stock.invoice.state.mixin",
|
|
]
|
|
|
|
def set_to_be_invoiced(self):
|
|
"""
|
|
Button to set Invoice State to To Be Invoice.
|
|
"""
|
|
self._set_as_2binvoiced()
|
|
self.mapped("move_ids")._set_as_2binvoiced()
|
|
|
|
def set_as_invoiced(self):
|
|
"""
|
|
Button to set Invoice State to Invoiced.
|
|
"""
|
|
self._set_as_invoiced()
|
|
self.mapped("move_ids")._set_as_invoiced()
|
|
|
|
def set_as_not_billable(self):
|
|
"""
|
|
Button to set Invoice State to Not Billable.
|
|
"""
|
|
self._set_as_not_billable()
|
|
self.mapped("move_ids")._set_as_not_billable()
|
|
|
|
def _get_partner_to_invoice(self):
|
|
self.ensure_one()
|
|
partner = self.partner_id
|
|
return partner.address_get(["invoice"]).get("invoice")
|
|
|
|
def action_assign(self):
|
|
"""If any stock move is to be invoiced, picking status is updated"""
|
|
if any(m.invoice_state == "2binvoiced" for m in self.mapped("move_ids")):
|
|
self.write({"invoice_state": "2binvoiced"})
|
|
return super().action_assign()
|
|
|
|
@api.onchange("invoice_state")
|
|
def _onchange_invoice_state(self):
|
|
for record in self:
|
|
record._update_invoice_state(record.invoice_state)
|
|
record.mapped("move_ids")._update_invoice_state(record.invoice_state)
|