Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dev_zero_stock_blockage/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .import models
12 changes: 12 additions & 0 deletions dev_zero_stock_blockage/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "dev_stock_blockage",
"version": "1.0",
"depends": ["sale"],
"author": "vikvi",
"category": "Tutorials",
"license": "LGPL-3",
'installable': True,
"data": [
'views/sale_zero_stock.xml'
]
}
1 change: 1 addition & 0 deletions dev_zero_stock_blockage/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .import zero_stoack_blockage
19 changes: 19 additions & 0 deletions dev_zero_stock_blockage/models/zero_stoack_blockage.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from odoo import models, fields, _
from odoo.exceptions import ValidationError


class ZeroStock(models.Model):
_inherit = "sale.order"

zero_stock_approval = fields.Boolean(string="Approve", default=False)

def action_confirm(self):
for record in self:
if not record.zero_stock_approval:
for line in record.order_line:
if line.product_id.qty_available <= 0:
raise ValidationError(_(
"You cannot confirm this order because the product has zero stock. "
"Please ask a Sales Manager to toggle the 'Zero Stock Approval' checkbox first!")
)
return super().action_confirm()
14 changes: 14 additions & 0 deletions dev_zero_stock_blockage/views/sale_zero_stock.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="sale_zero_stock" model="ir.ui.view">
<field name="name">zero.stock.blockage</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='payment_term_id']" position="after">
<field name="zero_stock_approval" readonly="1" groups="!sales_team.group_sale_manager" />
<field name="zero_stock_approval" groups="sales_team.group_sale_manager" />
</xpath>
</field>
</record>
</odoo>