mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
[IMP] stock_request_tier_validation: black, isort
This commit is contained in:
committed by
Surachet Saejueng
parent
f401fa58e2
commit
90145cb3eb
@@ -3,18 +3,15 @@
|
||||
{
|
||||
"name": "Stock Request Tier Validation",
|
||||
"summary": "Extends the functionality of Stock Requests to "
|
||||
"support a tier validation process.",
|
||||
"version": "12.0.1.1.0",
|
||||
"support a tier validation process.",
|
||||
"version": "13.0.1.0.0",
|
||||
"category": "Warehouse Management",
|
||||
"website": "https://github.com/OCA/stock-logistics-warehouse",
|
||||
"author": "Eficent, Odoo Community Association (OCA)",
|
||||
"license": "AGPL-3",
|
||||
"application": False,
|
||||
"installable": True,
|
||||
"depends": [
|
||||
"stock_request",
|
||||
"base_tier_validation",
|
||||
],
|
||||
"depends": ["stock_request", "base_tier_validation"],
|
||||
"data": [
|
||||
"data/stock_request_tier_definition.xml",
|
||||
"views/stock_request_order_view.xml",
|
||||
|
||||
@@ -3,26 +3,32 @@
|
||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="stock_request_default_tier_definition" model="tier.definition">
|
||||
<field name="name">Manager review</field>
|
||||
<field name="model_id" ref="model_stock_request"/>
|
||||
<field name="model_id" ref="model_stock_request" />
|
||||
<field name="definition_type">domain</field>
|
||||
<field name="definition_domain"/>
|
||||
<field name="definition_domain" />
|
||||
<field name="review_type">group</field>
|
||||
<field name="reviewer_group_id" ref='stock_request.group_stock_request_manager'/>
|
||||
<field
|
||||
name="reviewer_group_id"
|
||||
ref='stock_request.group_stock_request_manager'
|
||||
/>
|
||||
<field name="active">False</field>
|
||||
</record>
|
||||
|
||||
<record id="stock_request_order_default_tier_definition" model="tier.definition">
|
||||
<record
|
||||
id="stock_request_order_default_tier_definition"
|
||||
model="tier.definition"
|
||||
>
|
||||
<field name="name">Manager review</field>
|
||||
<field name="model_id" ref="model_stock_request_order"/>
|
||||
<field name="model_id" ref="model_stock_request_order" />
|
||||
<field name="definition_type">domain</field>
|
||||
<field name="definition_domain"/>
|
||||
<field name="definition_domain" />
|
||||
<field name="review_type">group</field>
|
||||
<field name="reviewer_group_id" ref='stock_request.group_stock_request_manager'/>
|
||||
<field
|
||||
name="reviewer_group_id"
|
||||
ref='stock_request.group_stock_request_manager'
|
||||
/>
|
||||
<field name="active">False</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -5,12 +5,12 @@ from odoo import api, models
|
||||
|
||||
class StockRequest(models.Model):
|
||||
_name = "stock.request"
|
||||
_inherit = ['stock.request', 'tier.validation']
|
||||
_state_from = ['draft']
|
||||
_state_to = ['open']
|
||||
_inherit = ["stock.request", "tier.validation"]
|
||||
_state_from = ["draft"]
|
||||
_state_to = ["open"]
|
||||
|
||||
@api.model
|
||||
def _get_under_validation_exceptions(self):
|
||||
res = super(StockRequest, self)._get_under_validation_exceptions()
|
||||
res.append('route_id')
|
||||
res.append("route_id")
|
||||
return res
|
||||
|
||||
@@ -5,12 +5,12 @@ from odoo import api, models
|
||||
|
||||
class StockRequest(models.Model):
|
||||
_name = "stock.request.order"
|
||||
_inherit = ['stock.request.order', 'tier.validation']
|
||||
_state_from = ['draft']
|
||||
_state_to = ['open']
|
||||
_inherit = ["stock.request.order", "tier.validation"]
|
||||
_state_from = ["draft"]
|
||||
_state_to = ["open"]
|
||||
|
||||
@api.model
|
||||
def _get_under_validation_exceptions(self):
|
||||
res = super(StockRequest, self)._get_under_validation_exceptions()
|
||||
res.append('route_id')
|
||||
res.append("route_id")
|
||||
return res
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
* Lois Rilo <lois.rilo@eficent.com>
|
||||
* Héctor Villarreal <hector.villarreal@eficent.com>
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
from . import test_stock_request_tier_validation
|
||||
from . import test_stock_request_tier_validation
|
||||
|
||||
@@ -9,18 +9,19 @@ class TestStockRequest(common.TransactionCase):
|
||||
super(TestStockRequest, self).setUp()
|
||||
|
||||
# common models
|
||||
self.stock_request = self.env['stock.request']
|
||||
self.request_order = self.env['stock.request.order']
|
||||
self.tier_definition = self.env['tier.definition']
|
||||
self.stock_request = self.env["stock.request"]
|
||||
self.request_order = self.env["stock.request.order"]
|
||||
self.tier_definition = self.env["tier.definition"]
|
||||
|
||||
def test_get_under_validation_exceptions(self):
|
||||
self.assertIn('route_id',
|
||||
self.stock_request._get_under_validation_exceptions())
|
||||
self.assertIn('route_id',
|
||||
self.request_order._get_under_validation_exceptions())
|
||||
self.assertIn("route_id", self.stock_request._get_under_validation_exceptions())
|
||||
self.assertIn("route_id", self.request_order._get_under_validation_exceptions())
|
||||
|
||||
def test_get_tier_validation_model_names(self):
|
||||
self.assertIn('stock.request',
|
||||
self.tier_definition._get_tier_validation_model_names())
|
||||
self.assertIn('stock.request.order',
|
||||
self.tier_definition._get_tier_validation_model_names())
|
||||
self.assertIn(
|
||||
"stock.request", self.tier_definition._get_tier_validation_model_names()
|
||||
)
|
||||
self.assertIn(
|
||||
"stock.request.order",
|
||||
self.tier_definition._get_tier_validation_model_names(),
|
||||
)
|
||||
|
||||
@@ -1,91 +1,118 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2019 Eficent Business and IT Consulting Services S.L.
|
||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
|
||||
<record id="stock_request_order_form_inherit_tier" model="ir.ui.view">
|
||||
<field name="name">stock.request.order.tier.validation.form</field>
|
||||
<field name="model">stock.request.order</field>
|
||||
<field name="inherit_id" ref="stock_request.stock_request_order_form"/>
|
||||
<field name="inherit_id" ref="stock_request.stock_request_order_form" />
|
||||
<field name="arch" type="xml">
|
||||
<button name="action_confirm" position="attributes">
|
||||
<attribute name="attrs">{'invisible': ['|','&',('validated', '!=', True),('need_validation', '=', True),'|',('need_validation', '=', True),('state', 'not in', ['draft'])]}</attribute>
|
||||
<attribute name="groups">stock_request.group_stock_request_manager</attribute>
|
||||
<attribute
|
||||
name="attrs"
|
||||
>{'invisible': ['|','&',('validated', '!=', True),('need_validation', '=', True),'|',('need_validation', '=', True),('state', 'not in', ['draft'])]}</attribute>
|
||||
<attribute
|
||||
name="groups"
|
||||
>stock_request.group_stock_request_manager</attribute>
|
||||
</button>
|
||||
<button name="action_confirm" position="before">
|
||||
<button name="request_validation"
|
||||
<button
|
||||
name="request_validation"
|
||||
string="Request Validation"
|
||||
attrs="{'invisible': ['|','|',('need_validation', '!=', True),('rejected','=',True),('state','not in',['draft','sent'])]}"
|
||||
type="object"/>
|
||||
<button name="restart_validation"
|
||||
type="object"
|
||||
/>
|
||||
<button
|
||||
name="restart_validation"
|
||||
string="Restart Validation"
|
||||
attrs="{'invisible': ['|',('review_ids', '=', []),('state','not in',['draft','sent'])]}"
|
||||
type="object"/>
|
||||
type="object"
|
||||
/>
|
||||
</button>
|
||||
<header position="after">
|
||||
<field name="need_validation" invisible="1"/>
|
||||
<field name="validated" invisible="1"/>
|
||||
<field name="rejected" invisible="1"/>
|
||||
<div class="alert alert-warning"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', '|',
|
||||
<field name="need_validation" invisible="1" />
|
||||
<field name="validated" invisible="1" />
|
||||
<field name="rejected" invisible="1" />
|
||||
<div
|
||||
class="alert alert-warning"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', '|',
|
||||
('validated', '=', True), ('state', 'not in', ['draft','sent']),
|
||||
('rejected', '=', True), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;">
|
||||
<p><i class="fa fa-info-circle"/>This Stock Request needs to be
|
||||
style="margin-bottom:0px;"
|
||||
>
|
||||
<p><i class="fa fa-info-circle" />This Stock Request needs to be
|
||||
validated.
|
||||
<field name="can_review" invisible="1"/>
|
||||
<button name="validate_tier"
|
||||
string="Validate"
|
||||
attrs="{'invisible': [('can_review', '=', False)]}"
|
||||
type="object"
|
||||
class="oe_inline oe_button btn-success"
|
||||
icon="fa-thumbs-up"/>
|
||||
<button name="reject_tier"
|
||||
string="Reject"
|
||||
attrs="{'invisible': [('can_review', '=', False)]}"
|
||||
type="object"
|
||||
class="btn-icon btn-danger"
|
||||
icon="fa-thumbs-down"/>
|
||||
<field name="can_review" invisible="1" />
|
||||
<button
|
||||
name="validate_tier"
|
||||
string="Validate"
|
||||
attrs="{'invisible': [('can_review', '=', False)]}"
|
||||
type="object"
|
||||
class="oe_inline oe_button btn-success"
|
||||
icon="fa-thumbs-up"
|
||||
/>
|
||||
<button
|
||||
name="reject_tier"
|
||||
string="Reject"
|
||||
attrs="{'invisible': [('can_review', '=', False)]}"
|
||||
type="object"
|
||||
class="btn-icon btn-danger"
|
||||
icon="fa-thumbs-down"
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
<div class="alert alert-success"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', ('validated', '!=', True), ('state', 'not in', ['draft','sent']), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;">
|
||||
<p><i class="fa fa-thumbs-up"/> Operation has been <b>validated</b>!</p>
|
||||
<div
|
||||
class="alert alert-success"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', ('validated', '!=', True), ('state', 'not in', ['draft','sent']), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;"
|
||||
>
|
||||
<p><i class="fa fa-thumbs-up" /> Operation has been <b
|
||||
>validated</b>!</p>
|
||||
</div>
|
||||
<div class="alert alert-danger"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', ('rejected', '!=', True), ('state', 'not in', ['draft','sent']), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;">
|
||||
<p><i class="fa fa-thumbs-down"/> Operation has been <b>rejected</b>.</p>
|
||||
<div
|
||||
class="alert alert-danger"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', ('rejected', '!=', True), ('state', 'not in', ['draft','sent']), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;"
|
||||
>
|
||||
<p><i class="fa fa-thumbs-down" /> Operation has been <b
|
||||
>rejected</b>.</p>
|
||||
</div>
|
||||
</header>
|
||||
<xpath expr="//form/div[hasclass('oe_chatter')]" position="before">
|
||||
<field name="review_ids" widget="tier_validation" attrs="{'invisible':[('review_ids', '=', [])]}"/>
|
||||
<field
|
||||
name="review_ids"
|
||||
widget="tier_validation"
|
||||
attrs="{'invisible':[('review_ids', '=', [])]}"
|
||||
/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_stock_request_order_filter" model="ir.ui.view">
|
||||
<field name="name">stock.request.select - stock_request_tier_validation</field>
|
||||
<field name="model">stock.request</field>
|
||||
<field name="inherit_id" ref="stock_request.stock_request_search"/>
|
||||
<field name="inherit_id" ref="stock_request.stock_request_search" />
|
||||
<field name="arch" type="xml">
|
||||
<search position="inside">
|
||||
<group expand="0" string="Need actions">
|
||||
<filter name="needs_review" string="Needs my Review"
|
||||
domain="[('reviewer_ids','in',uid), ('state', 'not in', ['done', 'cancel'])]"
|
||||
help="My Stock Request Orders to review"/>
|
||||
<filter name="tier_validated" string="Validated"
|
||||
domain="[('validated', '=', True)]"
|
||||
help="Stock Requests validated and ready to be confirmed"/>
|
||||
<filter
|
||||
name="needs_review"
|
||||
string="Needs my Review"
|
||||
domain="[('reviewer_ids','in',uid), ('state', 'not in', ['done', 'cancel'])]"
|
||||
help="My Stock Request Orders to review"
|
||||
/>
|
||||
<filter
|
||||
name="tier_validated"
|
||||
string="Validated"
|
||||
domain="[('validated', '=', True)]"
|
||||
help="Stock Requests validated and ready to be confirmed"
|
||||
/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="tier_review_order_form_wiz" model="ir.ui.view">
|
||||
<field name="name">stock.request.order.reviews</field>
|
||||
<field name="model">stock.request.order</field>
|
||||
@@ -93,28 +120,30 @@
|
||||
<form string="Tier Review">
|
||||
<group>
|
||||
<field name="review_ids" nolabel="1" readonly="1">
|
||||
<tree create="false"
|
||||
decoration-danger="status=='rejected'"
|
||||
decoration-warning="status=='pending'"
|
||||
decoration-success="status=='approved'">
|
||||
<field name="sequence"/>
|
||||
<field name="requested_by"/>
|
||||
<field name="review_type"/>
|
||||
<field name="name"/>
|
||||
<field name="status"/>
|
||||
<field name="done_by"/>
|
||||
<tree
|
||||
create="false"
|
||||
decoration-danger="status=='rejected'"
|
||||
decoration-warning="status=='pending'"
|
||||
decoration-success="status=='approved'"
|
||||
>
|
||||
<field name="sequence" />
|
||||
<field name="requested_by" />
|
||||
<field name="review_type" />
|
||||
<field name="name" />
|
||||
<field name="status" />
|
||||
<field name="done_by" />
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<footer>
|
||||
<button name="dismiss_popup"
|
||||
type="object"
|
||||
string="Dismiss"
|
||||
class="oe_highlight"
|
||||
<button
|
||||
name="dismiss_popup"
|
||||
type="object"
|
||||
string="Dismiss"
|
||||
class="oe_highlight"
|
||||
/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,91 +1,118 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2019 Eficent Business and IT Consulting Services S.L.
|
||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
|
||||
<record id="view_stock_request_form_inherit_tier" model="ir.ui.view">
|
||||
<field name="name">stock.request.tier.validation.form</field>
|
||||
<field name="model">stock.request</field>
|
||||
<field name="inherit_id" ref="stock_request.view_stock_request_form"/>
|
||||
<field name="inherit_id" ref="stock_request.view_stock_request_form" />
|
||||
<field name="arch" type="xml">
|
||||
<button name="action_confirm" position="attributes">
|
||||
<attribute name="attrs">{'invisible': ['|','&',('validated', '!=', True),('need_validation', '=', True),'|',('need_validation', '=', True),('state', 'not in', ['draft'])]}</attribute>
|
||||
<attribute name="groups">stock_request.group_stock_request_manager</attribute>
|
||||
<attribute
|
||||
name="attrs"
|
||||
>{'invisible': ['|','&',('validated', '!=', True),('need_validation', '=', True),'|',('need_validation', '=', True),('state', 'not in', ['draft'])]}</attribute>
|
||||
<attribute
|
||||
name="groups"
|
||||
>stock_request.group_stock_request_manager</attribute>
|
||||
</button>
|
||||
<button name="action_confirm" position="before">
|
||||
<button name="request_validation"
|
||||
<button
|
||||
name="request_validation"
|
||||
string="Request Validation"
|
||||
attrs="{'invisible': ['|','|',('need_validation', '!=', True),('rejected','=',True),('state','not in',['draft','sent'])]}"
|
||||
type="object"/>
|
||||
<button name="restart_validation"
|
||||
type="object"
|
||||
/>
|
||||
<button
|
||||
name="restart_validation"
|
||||
string="Restart Validation"
|
||||
attrs="{'invisible': ['|',('review_ids', '=', []),('state','not in',['draft','sent'])]}"
|
||||
type="object"/>
|
||||
type="object"
|
||||
/>
|
||||
</button>
|
||||
<header position="after">
|
||||
<field name="need_validation" invisible="1"/>
|
||||
<field name="validated" invisible="1"/>
|
||||
<field name="rejected" invisible="1"/>
|
||||
<div class="alert alert-warning"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', '|',
|
||||
<field name="need_validation" invisible="1" />
|
||||
<field name="validated" invisible="1" />
|
||||
<field name="rejected" invisible="1" />
|
||||
<div
|
||||
class="alert alert-warning"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', '|',
|
||||
('validated', '=', True), ('state', 'not in', ['draft','sent']),
|
||||
('rejected', '=', True), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;">
|
||||
<p><i class="fa fa-info-circle"/>This Stock Request needs to be
|
||||
style="margin-bottom:0px;"
|
||||
>
|
||||
<p><i class="fa fa-info-circle" />This Stock Request needs to be
|
||||
validated.
|
||||
<field name="can_review" invisible="1"/>
|
||||
<button name="validate_tier"
|
||||
string="Validate"
|
||||
attrs="{'invisible': [('can_review', '=', False)]}"
|
||||
type="object"
|
||||
class="oe_inline oe_button btn-success"
|
||||
icon="fa-thumbs-up"/>
|
||||
<button name="reject_tier"
|
||||
string="Reject"
|
||||
attrs="{'invisible': [('can_review', '=', False)]}"
|
||||
type="object"
|
||||
class="btn-icon btn-danger"
|
||||
icon="fa-thumbs-down"/>
|
||||
<field name="can_review" invisible="1" />
|
||||
<button
|
||||
name="validate_tier"
|
||||
string="Validate"
|
||||
attrs="{'invisible': [('can_review', '=', False)]}"
|
||||
type="object"
|
||||
class="oe_inline oe_button btn-success"
|
||||
icon="fa-thumbs-up"
|
||||
/>
|
||||
<button
|
||||
name="reject_tier"
|
||||
string="Reject"
|
||||
attrs="{'invisible': [('can_review', '=', False)]}"
|
||||
type="object"
|
||||
class="btn-icon btn-danger"
|
||||
icon="fa-thumbs-down"
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
<div class="alert alert-success"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', ('validated', '!=', True), ('state', 'not in', ['draft','sent']), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;">
|
||||
<p><i class="fa fa-thumbs-up"/> Operation has been <b>validated</b>!</p>
|
||||
<div
|
||||
class="alert alert-success"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', ('validated', '!=', True), ('state', 'not in', ['draft','sent']), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;"
|
||||
>
|
||||
<p><i class="fa fa-thumbs-up" /> Operation has been <b
|
||||
>validated</b>!</p>
|
||||
</div>
|
||||
<div class="alert alert-danger"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', ('rejected', '!=', True), ('state', 'not in', ['draft','sent']), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;">
|
||||
<p><i class="fa fa-thumbs-down"/> Operation has been <b>rejected</b>.</p>
|
||||
<div
|
||||
class="alert alert-danger"
|
||||
role="alert"
|
||||
attrs="{'invisible': ['|', '|', ('rejected', '!=', True), ('state', 'not in', ['draft','sent']), ('review_ids', '=', [])]}"
|
||||
style="margin-bottom:0px;"
|
||||
>
|
||||
<p><i class="fa fa-thumbs-down" /> Operation has been <b
|
||||
>rejected</b>.</p>
|
||||
</div>
|
||||
</header>
|
||||
<xpath expr="//form/div[hasclass('oe_chatter')]" position="before">
|
||||
<field name="review_ids" widget="tier_validation" attrs="{'invisible':[('review_ids', '=', [])]}"/>
|
||||
<field
|
||||
name="review_ids"
|
||||
widget="tier_validation"
|
||||
attrs="{'invisible':[('review_ids', '=', [])]}"
|
||||
/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_stock_request_filter" model="ir.ui.view">
|
||||
<field name="name">stock.request.select - stock_request_tier_validation</field>
|
||||
<field name="model">stock.request</field>
|
||||
<field name="inherit_id" ref="stock_request.stock_request_search"/>
|
||||
<field name="inherit_id" ref="stock_request.stock_request_search" />
|
||||
<field name="arch" type="xml">
|
||||
<search position="inside">
|
||||
<group expand="0" string="Need actions">
|
||||
<filter name="needs_review" string="Needs my Review"
|
||||
domain="[('reviewer_ids','in',uid), ('state', 'not in', ['done', 'cancel'])]"
|
||||
help="My Stock Requests to review"/>
|
||||
<filter name="tier_validated" string="Validated"
|
||||
domain="[('validated', '=', True)]"
|
||||
help="Stock Requests validated and ready to be confirmed"/>
|
||||
<filter
|
||||
name="needs_review"
|
||||
string="Needs my Review"
|
||||
domain="[('reviewer_ids','in',uid), ('state', 'not in', ['done', 'cancel'])]"
|
||||
help="My Stock Requests to review"
|
||||
/>
|
||||
<filter
|
||||
name="tier_validated"
|
||||
string="Validated"
|
||||
domain="[('validated', '=', True)]"
|
||||
help="Stock Requests validated and ready to be confirmed"
|
||||
/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="tier_review_form_wiz" model="ir.ui.view">
|
||||
<field name="name">stock.request.order.reviews</field>
|
||||
<field name="model">stock.request.order</field>
|
||||
@@ -93,28 +120,30 @@
|
||||
<form string="Tier Review">
|
||||
<group>
|
||||
<field name="review_ids" nolabel="1" readonly="1">
|
||||
<tree create="false"
|
||||
decoration-danger="status=='rejected'"
|
||||
decoration-warning="status=='pending'"
|
||||
decoration-success="status=='approved'">
|
||||
<field name="sequence"/>
|
||||
<field name="requested_by"/>
|
||||
<field name="review_type"/>
|
||||
<field name="name"/>
|
||||
<field name="status"/>
|
||||
<field name="done_by"/>
|
||||
<tree
|
||||
create="false"
|
||||
decoration-danger="status=='rejected'"
|
||||
decoration-warning="status=='pending'"
|
||||
decoration-success="status=='approved'"
|
||||
>
|
||||
<field name="sequence" />
|
||||
<field name="requested_by" />
|
||||
<field name="review_type" />
|
||||
<field name="name" />
|
||||
<field name="status" />
|
||||
<field name="done_by" />
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<footer>
|
||||
<button name="dismiss_popup"
|
||||
type="object"
|
||||
string="Dismiss"
|
||||
class="oe_highlight"
|
||||
<button
|
||||
name="dismiss_popup"
|
||||
type="object"
|
||||
string="Dismiss"
|
||||
class="oe_highlight"
|
||||
/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user