lims_analysis_sheet: use field definition from compilation table
This commit is contained in:
parent
a30f63a3a1
commit
6ea3871b42
|
@ -337,7 +337,7 @@ class InternalRelationsCalc(Wizard):
|
|||
pool = Pool()
|
||||
AnalysisSheet = pool.get('lims.analysis_sheet')
|
||||
ModelField = pool.get('ir.model.field')
|
||||
Column = pool.get('lims.interface.column')
|
||||
Field = pool.get('lims.interface.table.field')
|
||||
Data = pool.get('lims.interface.data')
|
||||
|
||||
sheet_id = Transaction().context['active_id']
|
||||
|
@ -347,15 +347,15 @@ class InternalRelationsCalc(Wizard):
|
|||
('model.model', '=', 'lims.notebook.line'),
|
||||
('name', '=', 'result'),
|
||||
])
|
||||
result_column = Column.search([
|
||||
('interface', '=', sheet.template.interface),
|
||||
result_column = Field.search([
|
||||
('table', '=', sheet.compilation.table.id),
|
||||
('transfer_field', '=', True),
|
||||
('related_line_field', '=', nl_result_field)
|
||||
('related_line_field', '=', nl_result_field),
|
||||
])
|
||||
if not result_column:
|
||||
return 'end'
|
||||
|
||||
result_field = result_column[0].alias
|
||||
result_field = result_column[0].name
|
||||
relations = {}
|
||||
notebooks = {}
|
||||
with Transaction().set_context(
|
||||
|
@ -529,7 +529,7 @@ class ResultsVerification(Wizard):
|
|||
pool = Pool()
|
||||
AnalysisSheet = pool.get('lims.analysis_sheet')
|
||||
ModelField = pool.get('ir.model.field')
|
||||
Column = pool.get('lims.interface.column')
|
||||
Field = pool.get('lims.interface.table.field')
|
||||
Data = pool.get('lims.interface.data')
|
||||
|
||||
sheet_id = Transaction().context['active_id']
|
||||
|
@ -539,10 +539,10 @@ class ResultsVerification(Wizard):
|
|||
('model.model', '=', 'lims.notebook.line'),
|
||||
('name', '=', 'result'),
|
||||
])
|
||||
result_column = Column.search([
|
||||
('interface', '=', sheet.template.interface),
|
||||
result_column = Field.search([
|
||||
('table', '=', sheet.compilation.table.id),
|
||||
('transfer_field', '=', True),
|
||||
('related_line_field', '=', nl_result_field)
|
||||
('related_line_field', '=', nl_result_field),
|
||||
])
|
||||
if not result_column:
|
||||
return 'end'
|
||||
|
@ -551,16 +551,16 @@ class ResultsVerification(Wizard):
|
|||
('model.model', '=', 'lims.notebook.line'),
|
||||
('name', '=', 'verification'),
|
||||
])
|
||||
verification_column = Column.search([
|
||||
('interface', '=', sheet.template.interface),
|
||||
verification_column = Field.search([
|
||||
('table', '=', sheet.compilation.table.id),
|
||||
('transfer_field', '=', True),
|
||||
('related_line_field', '=', nl_verification_field)
|
||||
('related_line_field', '=', nl_verification_field),
|
||||
])
|
||||
if not verification_column:
|
||||
return 'end'
|
||||
|
||||
result_field = result_column[0].alias
|
||||
verification_field = verification_column[0].alias
|
||||
result_field = result_column[0].name
|
||||
verification_field = verification_column[0].name
|
||||
notebook_lines = {}
|
||||
with Transaction().set_context(
|
||||
lims_interface_table=sheet.compilation.table.id):
|
||||
|
|
|
@ -352,7 +352,7 @@ class AnalysisSheet(Workflow, ModelSQL, ModelView):
|
|||
def get_completion_percentage(cls, sheets, name):
|
||||
pool = Pool()
|
||||
ModelField = pool.get('ir.model.field')
|
||||
Column = pool.get('lims.interface.column')
|
||||
Field = pool.get('lims.interface.table.field')
|
||||
Data = pool.get('lims.interface.data')
|
||||
|
||||
nl_result_field, = ModelField.search([
|
||||
|
@ -363,14 +363,14 @@ class AnalysisSheet(Workflow, ModelSQL, ModelView):
|
|||
result = {}
|
||||
for s in sheets:
|
||||
result[s.id] = 0
|
||||
result_column = Column.search([
|
||||
('interface', '=', s.template.interface),
|
||||
result_column = Field.search([
|
||||
('table', '=', s.compilation.table.id),
|
||||
('transfer_field', '=', True),
|
||||
('related_line_field', '=', nl_result_field)
|
||||
('related_line_field', '=', nl_result_field),
|
||||
])
|
||||
if not result_column:
|
||||
continue
|
||||
result_field = result_column[0].alias
|
||||
result_field = result_column[0].name
|
||||
with Transaction().set_context(
|
||||
lims_interface_table=s.compilation.table.id):
|
||||
lines = Data.search([('compilation', '=', s.compilation.id)])
|
||||
|
@ -520,7 +520,7 @@ class AnalysisSheet(Workflow, ModelSQL, ModelView):
|
|||
def check_results(cls, sheets):
|
||||
pool = Pool()
|
||||
ModelField = pool.get('ir.model.field')
|
||||
Column = pool.get('lims.interface.column')
|
||||
Field = pool.get('lims.interface.table.field')
|
||||
Data = pool.get('lims.interface.data')
|
||||
|
||||
nl_result_field, = ModelField.search([
|
||||
|
@ -529,15 +529,15 @@ class AnalysisSheet(Workflow, ModelSQL, ModelView):
|
|||
])
|
||||
|
||||
for s in sheets:
|
||||
result_column = Column.search([
|
||||
('interface', '=', s.template.interface),
|
||||
result_column = Field.search([
|
||||
('table', '=', s.compilation.table.id),
|
||||
('transfer_field', '=', True),
|
||||
('related_line_field', '=', nl_result_field)
|
||||
('related_line_field', '=', nl_result_field),
|
||||
])
|
||||
if not result_column:
|
||||
raise UserError(gettext(
|
||||
'lims_analysis_sheet.msg_template_not_result_field'))
|
||||
result_field = result_column[0].alias
|
||||
result_field = result_column[0].name
|
||||
with Transaction().set_context(
|
||||
lims_interface_table=s.compilation.table.id):
|
||||
lines = Data.search([('compilation', '=', s.compilation.id)])
|
||||
|
@ -691,6 +691,7 @@ class ExportAnalysisSheetFile(Wizard):
|
|||
return
|
||||
sheet = AnalysisSheet(sheet_id)
|
||||
|
||||
# TODO: use lims.interface.table.field
|
||||
columns = Column.search([
|
||||
('interface', '=', sheet.template.interface),
|
||||
('destination_column', '!=', None),
|
||||
|
|
|
@ -1002,11 +1002,11 @@ class Compilation(Workflow, ModelSQL, ModelView):
|
|||
repetition_value = line[self.interface.repetition_field.alias]
|
||||
|
||||
fraction = Fraction.search([
|
||||
('number', '=', fraction_value)
|
||||
('number', '=', fraction_value),
|
||||
])
|
||||
if fraction and repetition_value is not None:
|
||||
nb = Notebook.search([
|
||||
('fraction', '=', fraction[0].id)
|
||||
('fraction', '=', fraction[0].id),
|
||||
])
|
||||
analysis = Analysis.search([
|
||||
('code', '=', analysis_value),
|
||||
|
@ -1034,7 +1034,7 @@ class Compilation(Workflow, ModelSQL, ModelView):
|
|||
result_fields = {}
|
||||
fields = Field.search([
|
||||
('table', '=', c.table),
|
||||
('transfer_field', '=', True)
|
||||
('transfer_field', '=', True),
|
||||
])
|
||||
for field in fields:
|
||||
result_fields[field.name] = {
|
||||
|
@ -1044,7 +1044,7 @@ class Compilation(Workflow, ModelSQL, ModelView):
|
|||
with Transaction().set_context(
|
||||
lims_interface_table=c.table):
|
||||
lines = Data.search([
|
||||
('compilation', '=', c.id)
|
||||
('compilation', '=', c.id),
|
||||
])
|
||||
for l in lines:
|
||||
nb_line = l.notebook_line
|
||||
|
@ -1070,7 +1070,7 @@ class Compilation(Workflow, ModelSQL, ModelView):
|
|||
result_fields = {}
|
||||
fields = Field.search([
|
||||
('table', '=', c.table),
|
||||
('transfer_field', '=', True)
|
||||
('transfer_field', '=', True),
|
||||
])
|
||||
for field in fields:
|
||||
result_fields[field.name] = {
|
||||
|
@ -1080,7 +1080,7 @@ class Compilation(Workflow, ModelSQL, ModelView):
|
|||
with Transaction().set_context(
|
||||
lims_interface_table=c.table):
|
||||
lines = Data.search([
|
||||
('compilation', '=', c.id)
|
||||
('compilation', '=', c.id),
|
||||
])
|
||||
for l in lines:
|
||||
nb_line = l.notebook_line
|
||||
|
|
Loading…
Reference in New Issue