main #7
@@ -169,6 +169,9 @@ def register():
|
|||||||
purchase.PurchaseStrategy,
|
purchase.PurchaseStrategy,
|
||||||
purchase.PriceComposition,
|
purchase.PriceComposition,
|
||||||
purchase.QualityAnalysis,
|
purchase.QualityAnalysis,
|
||||||
|
purchase.Assay,
|
||||||
|
purchase.AssayLine,
|
||||||
|
purchase.AssayElement,
|
||||||
backtoback.Backtoback,
|
backtoback.Backtoback,
|
||||||
dimension.AnalyticDimension,
|
dimension.AnalyticDimension,
|
||||||
dimension.AnalyticDimensionValue,
|
dimension.AnalyticDimensionValue,
|
||||||
|
|||||||
@@ -529,6 +529,68 @@ class PriceComposition(ModelSQL,ModelView):
|
|||||||
component = fields.Char("Component")
|
component = fields.Char("Component")
|
||||||
price = fields.Numeric("Price")
|
price = fields.Numeric("Price")
|
||||||
|
|
||||||
|
class Assay(ModelSQL, ModelView):
|
||||||
|
__name__ = 'assay.assay'
|
||||||
|
|
||||||
|
line = fields.Many2One('purchase.line',"Purchase Line")
|
||||||
|
|
||||||
|
reference = fields.Char("Lab Reference")
|
||||||
|
date = fields.Date("Analysis Date")
|
||||||
|
|
||||||
|
type = fields.Selection([
|
||||||
|
('provisional', 'Provisional'),
|
||||||
|
('final', 'Final'),
|
||||||
|
('umpire', 'Umpire'),
|
||||||
|
], "Type")
|
||||||
|
|
||||||
|
status = fields.Selection([
|
||||||
|
('draft', 'Draft'),
|
||||||
|
('validated', 'Validated'),
|
||||||
|
], "Status")
|
||||||
|
|
||||||
|
laboratory = fields.Char("Laboratory")
|
||||||
|
|
||||||
|
lines = fields.One2Many(
|
||||||
|
'assay.line', 'assay', "Assay Lines"
|
||||||
|
)
|
||||||
|
|
||||||
|
document = fields.Binary("Analysis", filename='filename')
|
||||||
|
filename = fields.Char('Analysis')
|
||||||
|
|
||||||
|
class AssayLine(ModelSQL, ModelView):
|
||||||
|
__name__ = 'assay.line'
|
||||||
|
|
||||||
|
assay = fields.Many2One('assay.assay', "Assay")
|
||||||
|
|
||||||
|
element = fields.Many2One('assay.element', "Element")
|
||||||
|
|
||||||
|
value = fields.Float("Value")
|
||||||
|
|
||||||
|
unit = fields.Many2One('product.uom', "Unit")
|
||||||
|
|
||||||
|
category = fields.Selection([
|
||||||
|
('assay', 'Assay'),
|
||||||
|
('penalty', 'Penalty'),
|
||||||
|
('moisture', 'Moisture'),
|
||||||
|
], "Category")
|
||||||
|
|
||||||
|
method = fields.Char("Method")
|
||||||
|
|
||||||
|
is_payable = fields.Boolean("Payable")
|
||||||
|
|
||||||
|
class AssayElement(ModelSQL, ModelView):
|
||||||
|
__name__ = 'assay.element'
|
||||||
|
|
||||||
|
name = fields.Char("Code") # Cu, Au, As
|
||||||
|
description = fields.Char("Description")
|
||||||
|
|
||||||
|
default_unit = fields.Many2One('product.uom', "Default Unit")
|
||||||
|
|
||||||
|
type = fields.Selection([
|
||||||
|
('metal', 'Metal'),
|
||||||
|
('impurity', 'Impurity'),
|
||||||
|
])
|
||||||
|
|
||||||
class QualityAnalysis(ModelSQL,ModelView):
|
class QualityAnalysis(ModelSQL,ModelView):
|
||||||
"Quality Analysis"
|
"Quality Analysis"
|
||||||
__name__ = 'quality.analysis'
|
__name__ = 'quality.analysis'
|
||||||
@@ -690,6 +752,7 @@ class Line(metaclass=PoolMeta):
|
|||||||
finished = fields.Boolean("Mark as finished")
|
finished = fields.Boolean("Mark as finished")
|
||||||
|
|
||||||
quality_analysis = fields.One2Many('quality.analysis','line',"Quality analysis")
|
quality_analysis = fields.One2Many('quality.analysis','line',"Quality analysis")
|
||||||
|
assays = fields.One2Many('assay.assay','line',"Assays")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def default_finished(cls):
|
def default_finished(cls):
|
||||||
|
|||||||
@@ -173,6 +173,27 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
<field name="name">quality_analysis_form</field>
|
<field name="name">quality_analysis_form</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.ui.view" id="assay_view_tree">
|
||||||
|
<field name="model">assay.assay</field>
|
||||||
|
<field name="type">tree</field>
|
||||||
|
<field name="name">assay_tree</field>
|
||||||
|
</record>
|
||||||
|
<record model="ir.ui.view" id="assay_view_form">
|
||||||
|
<field name="model">assay.assay</field>
|
||||||
|
<field name="type">form</field>
|
||||||
|
<field name="name">assay_form</field>
|
||||||
|
</record>
|
||||||
|
<record model="ir.ui.view" id="assay_line_view_tree">
|
||||||
|
<field name="model">assay.line</field>
|
||||||
|
<field name="type">tree</field>
|
||||||
|
<field name="name">assay_line_tree</field>
|
||||||
|
</record>
|
||||||
|
<record model="ir.ui.view" id="assay_element_view_form">
|
||||||
|
<field name="model">assay.element</field>
|
||||||
|
<field name="type">form</field>
|
||||||
|
<field name="name">assay_element_form</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<menuitem
|
<menuitem
|
||||||
name="Pnl Report"
|
name="Pnl Report"
|
||||||
parent="purchase_trade.menu_global_reporting"
|
parent="purchase_trade.menu_global_reporting"
|
||||||
|
|||||||
16
modules/purchase_trade/view/assay_form.xml
Normal file
16
modules/purchase_trade/view/assay_form.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<form col="4">
|
||||||
|
<label name="reference"/>
|
||||||
|
<field name="reference"/>
|
||||||
|
<label name="date"/>
|
||||||
|
<field name="date"/>
|
||||||
|
<label name="type"/>
|
||||||
|
<field name="type"/>
|
||||||
|
<label name="status"/>
|
||||||
|
<field name="status"/>
|
||||||
|
<label name="laboratory"/>
|
||||||
|
<field name="laboratory"/>
|
||||||
|
<label name="filename"/>
|
||||||
|
<field name="filename"/>
|
||||||
|
<newline/>
|
||||||
|
<field name="lines" colspan="4"/>
|
||||||
|
</form>
|
||||||
8
modules/purchase_trade/view/assay_line_tree.xml
Normal file
8
modules/purchase_trade/view/assay_line_tree.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<tree editable="1">
|
||||||
|
<field name="element"/>
|
||||||
|
<field name="value"/>
|
||||||
|
<field name="unit"/>
|
||||||
|
<field name="category"/>
|
||||||
|
<field name="method"/>
|
||||||
|
<field name="is_payable"/>
|
||||||
|
</tree>
|
||||||
8
modules/purchase_trade/view/assay_tree.xml
Normal file
8
modules/purchase_trade/view/assay_tree.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<tree editable="1">
|
||||||
|
<field name="reference"/>
|
||||||
|
<field name="date"/>
|
||||||
|
<field name="type"/>
|
||||||
|
<field name="status"/>
|
||||||
|
<field name="laboratory"/>
|
||||||
|
<field name="filename"/>
|
||||||
|
</tree>
|
||||||
@@ -55,8 +55,8 @@ this repository contains the full copyright notices and license terms. -->
|
|||||||
<field name="certif"/>
|
<field name="certif"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="/form/notebook/page[@id='taxes']" position="before">
|
<xpath expr="/form/notebook/page[@id='taxes']" position="before">
|
||||||
<page string="Quality Analysis" col="4" id="qa">
|
<page string="Assays" col="4" id="as">
|
||||||
<field name="quality_analysis" mode="form,tree" view_ids="purchase_trade.quality_analysis_view_form,purchase_trade.quality_analysis_view_tree"/>
|
<field name="assays" mode="tree,form" view_ids="purchase_trade.assay_view_tree,purchase_trade.assay_view_form"/>
|
||||||
</page>
|
</page>
|
||||||
<page string="Lots" col="4" id="lots">
|
<page string="Lots" col="4" id="lots">
|
||||||
<field name="lots" mode="tree,form" view_ids="lot.lot_view_tree_sequence,lot.lot_view_form"/>
|
<field name="lots" mode="tree,form" view_ids="lot.lot_view_tree_sequence,lot.lot_view_form"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user