22.03.26
This commit is contained in:
@@ -173,6 +173,9 @@ def register():
|
||||
purchase.AssayLine,
|
||||
purchase.AssayElement,
|
||||
purchase.AssayUnit,
|
||||
purchase.PayableRule,
|
||||
purchase.PenaltyRule,
|
||||
purchase.ConcentrateTerm,
|
||||
backtoback.Backtoback,
|
||||
dimension.AnalyticDimension,
|
||||
dimension.AnalyticDimensionValue,
|
||||
|
||||
@@ -760,6 +760,67 @@ class AssayElement(ModelSQL, ModelView):
|
||||
('impurity', 'Impurity'),
|
||||
], "Type")
|
||||
|
||||
class PayableRule(ModelSQL, ModelView):
|
||||
"Payable Rule"
|
||||
__name__ = 'payable.rule'
|
||||
|
||||
element = fields.Many2One('assay.element', "Element")
|
||||
|
||||
payable_percent = fields.Numeric("Payable %")
|
||||
|
||||
deduction_value = fields.Numeric("Deduction Value")
|
||||
deduction_unit = fields.Many2One('assay.unit',"Unit")
|
||||
|
||||
class PenaltyRule(ModelSQL, ModelView):
|
||||
"Penalty Rule"
|
||||
__name__ = 'penalty.rule'
|
||||
|
||||
element = fields.Many2One('assay.element', "Element")
|
||||
|
||||
threshold = fields.Numeric("Treshold")
|
||||
threshold_unit = fields.Many2One('assay.unit',"Unit")
|
||||
|
||||
step = fields.Numeric("Step")
|
||||
penalty_value = fields.Numeric("Penalty Value")
|
||||
currency = fields.Many2One('currency.currency',"Curr")
|
||||
unit = fields.Many2One('product.uom',"Unit")
|
||||
|
||||
class ConcentrateTerm(ModelSQL, ModelView):
|
||||
"Concentrate Term"
|
||||
__name__ = 'concentrate.term'
|
||||
|
||||
line = fields.Many2One(
|
||||
'purchase.line', "Line",
|
||||
ondelete='CASCADE'
|
||||
)
|
||||
|
||||
element = fields.Many2One('assay.element',"Element")
|
||||
|
||||
component = fields.Many2One(
|
||||
'pricing.component',
|
||||
"Price Component"
|
||||
)
|
||||
|
||||
manual_price = fields.Numeric(
|
||||
"Manual Price",
|
||||
digits=(16, 6)
|
||||
)
|
||||
|
||||
currency = fields.Many2One('currency.currency',"Curr")
|
||||
unit = fields.Many2One('product.uom',"Unit")
|
||||
|
||||
payable_rule = fields.Many2One(
|
||||
'payable.rule',"Payable Rule"
|
||||
)
|
||||
|
||||
penalty_rules = fields.Many2One(
|
||||
'penalty.rule',
|
||||
"Penalties"
|
||||
)
|
||||
|
||||
valid_from = fields.Date("Valid From")
|
||||
valid_to = fields.Date("Valid To")
|
||||
|
||||
class QualityAnalysis(ModelSQL,ModelView):
|
||||
"Quality Analysis"
|
||||
__name__ = 'quality.analysis'
|
||||
@@ -922,6 +983,7 @@ class Line(metaclass=PoolMeta):
|
||||
|
||||
quality_analysis = fields.One2Many('quality.analysis','line',"Quality analysis")
|
||||
assays = fields.One2Many('assay.assay','line',"Assays")
|
||||
terms = fields.One2Many('concentrate.term','line',"Terms")
|
||||
|
||||
@classmethod
|
||||
def default_finished(cls):
|
||||
|
||||
@@ -194,6 +194,17 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<field name="name">assay_element_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="concentrate_view_tree">
|
||||
<field name="model">concentrate.term</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="name">concentrate_tree</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="concentrate_view_form">
|
||||
<field name="model">concentrate.term</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">concentrate_form</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
name="Pnl Report"
|
||||
parent="purchase_trade.menu_global_reporting"
|
||||
|
||||
22
modules/purchase_trade/view/concentrate_form.xml
Normal file
22
modules/purchase_trade/view/concentrate_form.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<form col="4">
|
||||
<label name="element"/>
|
||||
<field name="element"/>
|
||||
<label name="component"/>
|
||||
<field name="component"/>
|
||||
<label name="payable_rule"/>
|
||||
<field name="payable_rule"/>
|
||||
<label name="penalty_rules"/>
|
||||
<field name="penalty_rules"/>
|
||||
<newline/>
|
||||
<label name="manual_price"/>
|
||||
<field name="manual_price"/>
|
||||
<label name="currency"/>
|
||||
<field name="currency"/>
|
||||
<label name="unit"/>
|
||||
<field name="unit"/>
|
||||
<newline/>
|
||||
<label name="valid_from"/>
|
||||
<field name="valid_from"/>
|
||||
<label name="valid_to"/>
|
||||
<field name="valid_to"/>
|
||||
</form>
|
||||
6
modules/purchase_trade/view/concentrate_tree.xml
Normal file
6
modules/purchase_trade/view/concentrate_tree.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<tree editable="1">
|
||||
<field name="element"/>
|
||||
<field name="component"/>
|
||||
<field name="payable_rule"/>
|
||||
<field name="penalty_rules"/>
|
||||
</tree>
|
||||
@@ -55,9 +55,15 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<field name="certif"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/notebook/page[@id='taxes']" position="before">
|
||||
<page string="Assays" col="4" id="as">
|
||||
<field name="assays" mode="tree,form" view_ids="purchase_trade.assay_view_tree,purchase_trade.assay_view_form"/>
|
||||
</page>
|
||||
<page string="Concentrate" col="4" id="co">
|
||||
<notebook colspan="4">
|
||||
<page string="Assays" col="4" id="as">
|
||||
<field name="assays" mode="tree,form" view_ids="purchase_trade.assay_view_tree,purchase_trade.assay_view_form"/>
|
||||
</page>
|
||||
<page string="Term" col="4" id="te">
|
||||
<field name="terms" mode="tree,form" view_ids="purchase_trade.concentrate_view_tree,purchase_trade.concentrate_view_form"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<page string="Lots" col="4" id="lots">
|
||||
<field name="lots" mode="tree,form" view_ids="lot.lot_view_tree_sequence,lot.lot_view_form"/>
|
||||
</page>
|
||||
|
||||
Reference in New Issue
Block a user