lims: add update typification wizard

This commit is contained in:
Sebastián Marró 2020-07-17 17:29:31 -03:00
parent 611dd515ec
commit a9bd1c14e7
6 changed files with 252 additions and 44 deletions

View file

@ -114,7 +114,7 @@ def register():
analysis.CopyTypificationStart,
analysis.CopyTypificationConfirm,
analysis.CopyCalculatedTypificationStart,
analysis.SetTypificationReferableStart,
analysis.UpdateTypificationStart,
analysis.RelateAnalysisStart,
analysis.OpenAnalysisNotTypifiedStart,
notebook.NotebookInitialConcentrationCalcStart,
@ -279,7 +279,7 @@ def register():
entry.ForwardAcknowledgmentOfReceipt,
analysis.CopyTypification,
analysis.CopyCalculatedTypification,
analysis.SetTypificationReferable,
analysis.UpdateTypification,
analysis.RelateAnalysis,
analysis.CreateAnalysisProduct,
analysis.OpenAnalysisNotTypified,

View file

@ -25,11 +25,10 @@ __all__ = ['ProductType', 'Matrix', 'ObjectiveDescription', 'Formula',
'AnalysisLabMethod', 'AnalysisDevice', 'CopyTypificationStart',
'CopyTypificationConfirm', 'CopyTypification',
'CopyCalculatedTypificationStart', 'CopyCalculatedTypification',
'SetTypificationReferableStart', 'SetTypificationReferable',
'RelateAnalysisStart', 'RelateAnalysis', 'CreateAnalysisProduct',
'OpenAnalysisNotTypifiedStart', 'OpenAnalysisNotTypified',
'OpenTypifications', 'AddTypificationsStart', 'AddTypifications',
'RemoveTypificationsStart', 'RemoveTypifications']
'UpdateTypificationStart', 'UpdateTypification', 'RelateAnalysisStart',
'RelateAnalysis', 'CreateAnalysisProduct', 'OpenAnalysisNotTypifiedStart',
'OpenAnalysisNotTypified', 'OpenTypifications', 'AddTypificationsStart',
'AddTypifications', 'RemoveTypificationsStart', 'RemoveTypifications']
class Typification(ModelSQL, ModelView):
@ -2330,19 +2329,59 @@ class CopyCalculatedTypification(Wizard):
return 'end'
class SetTypificationReferableStart(ModelView):
'Set Typification as Referable'
__name__ = 'lims.typification.set_referable.start'
class UpdateTypificationStart(ModelView):
'Update Typification Start'
__name__ = 'lims.typification.update.start'
detection_limit = fields.Float('Detection limit',
digits=(16, Eval('limit_digits', 2)), depends=['limit_digits'])
quantification_limit = fields.Float('Quantification limit',
digits=(16, Eval('limit_digits', 2)), depends=['limit_digits'])
lower_limit = fields.Float('Lower limit allowed',
digits=(16, Eval('limit_digits', 2)), depends=['limit_digits'])
upper_limit = fields.Float('Upper limit allowed',
digits=(16, Eval('limit_digits', 2)), depends=['limit_digits'])
limit_digits = fields.Integer('Limit digits')
check_result_limits = fields.Boolean(
'Validate limits on the result')
initial_concentration = fields.Char('Initial concentration')
start_uom = fields.Many2One('product.uom', 'Start UoM',
domain=[('category.lims_only_available', '=', True)])
final_concentration = fields.Char('Final concentration')
end_uom = fields.Many2One('product.uom', 'End UoM',
domain=[('category.lims_only_available', '=', True)])
default_repetitions = fields.Integer('Default repetitions')
calc_decimals = fields.Integer('Calculation decimals')
report = fields.Boolean('Report')
referable = fields.Boolean('Referred by default')
update_detection_limit = fields.Boolean('Update Detection limit')
update_quantification_limit = fields.Boolean('Update Quantification limit')
update_lower_limit = fields.Boolean('Update Lower limit allowed')
update_upper_limit = fields.Boolean(' Update Upper limit allowed')
update_limit_digits = fields.Boolean('Update Limit digits')
update_check_result_limits = fields.Boolean(
'Update Validate limits on the result')
update_initial_concentration = fields.Boolean(
'Update Initial concentration')
update_start_uom = fields.Boolean('Update Start UoM')
update_final_concentration = fields.Boolean('Update Final concentration')
update_end_uom = fields.Boolean('Update End UoM')
update_default_repetitions = fields.Boolean('Update Default repetitions')
update_calc_decimals = fields.Boolean('Update Calculation decimals')
update_report = fields.Boolean('Update Report')
update_referable = fields.Boolean('Update Referred by default')
@staticmethod
def default_limit_digits():
return 2
class SetTypificationReferable(Wizard):
'Set Typification as Referable'
__name__ = 'lims.typification.set_referable'
class UpdateTypification(Wizard):
'Update Typification'
__name__ = 'lims.typification.update'
start = StateView('lims.typification.set_referable.start',
'lims.set_typification_referable_start_form', [
start = StateView('lims.typification.update.start',
'lims.update_typification_start_form', [
Button('Cancel', 'end', 'tryton-cancel'),
Button('Confirm', 'confirm', 'tryton-ok', default=True),
])
@ -2352,11 +2391,18 @@ class SetTypificationReferable(Wizard):
Typification = Pool().get('lims.typification')
active_ids = Transaction().context['active_ids']
typifications = Typification.browse(active_ids)
Typification.write(typifications, {
'referable': self.start.referable,
})
values_to_update = {}
for field_name in self.start._fields.keys():
if 'update' in field_name and getattr(
self.start, 'update_%s' % (field_name[7:])):
values_to_update[field_name[7:]] = getattr(
self.start, '%s' % (field_name[7:]))
Typification.write(typifications, values_to_update)
return 'end'
def end(self):
return 'reload'
class RelateAnalysisStart(ModelView):
'Relate Analysis'

View file

@ -371,27 +371,27 @@
<field name="group" ref="group_lims_conf_base_tables_admin"/>
</record>
<!-- Wizard Set Typification as Referable -->
<!-- Wizard Update Typification -->
<record model="ir.ui.view" id="set_typification_referable_start_form">
<field name="model">lims.typification.set_referable.start</field>
<record model="ir.ui.view" id="update_typification_start_form">
<field name="model">lims.typification.update.start</field>
<field name="type">form</field>
<field name="name">typification_set_referable_form</field>
<field name="name">typification_update_form</field>
</record>
<record model="ir.action.wizard" id="wiz_set_typification_referable">
<field name="name">Set Typification as Referable</field>
<field name="wiz_name">lims.typification.set_referable</field>
<record model="ir.action.wizard" id="wiz_update_typification">
<field name="name">Update Typification</field>
<field name="wiz_name">lims.typification.update</field>
</record>
<record model="ir.action.keyword" id="wiz_set_typification_referable_keyword">
<record model="ir.action.keyword" id="wiz_update_typification_keyword">
<field name="keyword">form_action</field>
<field name="model">lims.typification,-1</field>
<field name="action" ref="wiz_set_typification_referable"/>
<field name="action" ref="wiz_update_typification"/>
</record>
<record model="ir.action-res.group"
id="wiz_set_typification_referable-group_conf_base_tables_admin">
<field name="action" ref="wiz_set_typification_referable"/>
id="wiz_update_typification-group_conf_base_tables_admin">
<field name="action" ref="wiz_update_typification"/>
<field name="group" ref="group_lims_conf_base_tables_admin"/>
</record>

View file

@ -5981,10 +5981,118 @@ msgctxt "field:lims.typification.readonly,product_type:"
msgid "Product type"
msgstr "Tipo de producto"
msgctxt "field:lims.typification.set_referable.start,referable:"
msgctxt "field:lims.typification.update.start,calc_decimals:"
msgid "Calculation decimals"
msgstr "Decimales para cálculo"
msgctxt "field:lims.typification.update.start,check_result_limits:"
msgid "Validate limits on the result"
msgstr "Validar límites en el resultado"
msgctxt "field:lims.typification.update.start,default_repetitions:"
msgid "Default repetitions"
msgstr "Repeticiones por defecto"
msgctxt "field:lims.typification.update.start,detection_limit:"
msgid "Detection limit"
msgstr "Límite de detección"
msgctxt "field:lims.typification.update.start,end_uom:"
msgid "End UoM"
msgstr "UdM final"
msgctxt "field:lims.typification.update.start,final_concentration:"
msgid "Final concentration"
msgstr "Concentración final"
msgctxt "field:lims.typification.update.start,initial_concentration:"
msgid "Initial concentration"
msgstr "Concentración inicial"
msgctxt "field:lims.typification.update.start,limit_digits:"
msgid "Limit digits"
msgstr "Dígitos de límite"
msgctxt "field:lims.typification.update.start,lower_limit:"
msgid "Lower limit allowed"
msgstr "Límite inferior permitido"
msgctxt "field:lims.typification.update.start,quantification_limit:"
msgid "Quantification limit"
msgstr "Límite de cuantificación"
msgctxt "field:lims.typification.update.start,referable:"
msgid "Referred by default"
msgstr "Derivado por defecto"
msgctxt "field:lims.typification.update.start,report:"
msgid "Report"
msgstr "Informe"
msgctxt "field:lims.typification.update.start,start_uom:"
msgid "Start UoM"
msgstr "UdM inicial"
msgctxt "field:lims.typification.update.start,update_calc_decimals:"
msgid "Update Calculation decimals"
msgstr "Decimales para cálculo"
msgctxt "field:lims.typification.update.start,update_check_result_limits:"
msgid "Update Validate limits on the result"
msgstr "Actualizar Validar límites en el resultado"
msgctxt "field:lims.typification.update.start,update_default_repetitions:"
msgid "Update Default repetitions"
msgstr "Actualizar Repeticiones por defecto"
msgctxt "field:lims.typification.update.start,update_detection_limit:"
msgid "Update Detection limit"
msgstr "Actualizar Límite de detección"
msgctxt "field:lims.typification.update.start,update_end_uom:"
msgid "Update End UoM"
msgstr "Actualizar UdM final"
msgctxt "field:lims.typification.update.start,update_final_concentration:"
msgid "Update Final concentration"
msgstr "Actualizar Concentración final"
msgctxt "field:lims.typification.update.start,update_initial_concentration:"
msgid "Update Initial concentration"
msgstr "Actualizar Concentración inicial"
msgctxt "field:lims.typification.update.start,update_limit_digits:"
msgid "Update Limit digits"
msgstr "Actualizar Dígitos de límite"
msgctxt "field:lims.typification.update.start,update_lower_limit:"
msgid "Update Lower limit allowed"
msgstr "Actualizar Límite inferior permitido"
msgctxt "field:lims.typification.update.start,update_quantification_limit:"
msgid "Update Quantification limit"
msgstr "Actualizar Límite de cuantificación"
msgctxt "field:lims.typification.update.start,update_referable:"
msgid "Update Referred by default"
msgstr "Actualizar Derivado por defecto"
msgctxt "field:lims.typification.update.start,update_report:"
msgid "Update Report"
msgstr "Actualizar Informe"
msgctxt "field:lims.typification.update.start,update_start_uom:"
msgid "Update Start UoM"
msgstr "Actualizar UdM inicial"
msgctxt "field:lims.typification.update.start,update_upper_limit:"
msgid " Update Upper limit allowed"
msgstr "Actualizar Límite superior permitido"
msgctxt "field:lims.typification.update.start,upper_limit:"
msgid "Upper limit allowed"
msgstr "Límite superior permitido"
msgctxt "field:lims.uom.conversion,conversion_formula:"
msgid "Conversion formula"
msgstr "Fórmula de conversión"
@ -6994,10 +7102,6 @@ msgctxt "model:ir.action,name:wiz_results_report_version_detail_new_version"
msgid "New Results Report Version"
msgstr "Nueva versión de Informe de resultados"
msgctxt "model:ir.action,name:wiz_set_typification_referable"
msgid "Set Typification as Referable"
msgstr "Establecer como derivable"
msgctxt "model:ir.action,name:wiz_trend_chart_download"
msgid "Download Trend Chart"
msgstr "Descargar Gráfico de tendencia"
@ -7006,6 +7110,10 @@ msgctxt "model:ir.action,name:wiz_trend_chart_open"
msgid "Open Trend Chart"
msgstr "Abrir Gráfico de tendencia"
msgctxt "model:ir.action,name:wiz_update_typification"
msgid "Update Typification"
msgstr "Actualizar tipificación"
msgctxt "model:ir.action,name:wizard_device_relate_analysis"
msgid "Relate Analysis to Device"
msgstr "Relacionar análisis a equipo"
@ -9259,9 +9367,9 @@ msgctxt "model:lims.typification.readonly,name:"
msgid "Typification"
msgstr "Tipificación"
msgctxt "model:lims.typification.set_referable.start,name:"
msgid "Set Typification as Referable"
msgstr "Establecer tipificación como derivable"
msgctxt "model:lims.typification.update.start,name:"
msgid "Update Typification Start"
msgstr "Actualizar tipificación"
msgctxt "model:lims.uom.conversion,name:"
msgid "Uom Conversion"
@ -14721,10 +14829,10 @@ msgctxt "wizard_button:lims.typification.copy,start,end:"
msgid "Cancel"
msgstr "Cancelar"
msgctxt "wizard_button:lims.typification.set_referable,start,confirm:"
msgctxt "wizard_button:lims.typification.update,start,confirm:"
msgid "Confirm"
msgstr "Confirmar"
msgctxt "wizard_button:lims.typification.set_referable,start,end:"
msgctxt "wizard_button:lims.typification.update,start,end:"
msgid "Cancel"
msgstr "Cancelar"

View file

@ -1,5 +0,0 @@
<?xml version="1.0"?>
<form>
<label name="referable"/>
<field name="referable"/>
</form>

View file

@ -0,0 +1,59 @@
<?xml version="1.0"?>
<form>
<label name="default_repetitions"/>
<field name="default_repetitions"/>
<label name="update_default_repetitions"/>
<field name="update_default_repetitions"/>
<label name="check_result_limits"/>
<field name="check_result_limits"/>
<label name="update_check_result_limits"/>
<field name="update_check_result_limits"/>
<label name="limit_digits"/>
<field name="limit_digits"/>
<label name="update_limit_digits"/>
<field name="update_limit_digits"/>
<label name="detection_limit"/>
<field name="detection_limit"/>
<label name="update_detection_limit"/>
<field name="update_detection_limit"/>
<label name="quantification_limit"/>
<field name="quantification_limit"/>
<label name="update_quantification_limit"/>
<field name="update_quantification_limit"/>
<label name="lower_limit"/>
<field name="lower_limit"/>
<label name="update_lower_limit"/>
<field name="update_lower_limit"/>
<label name="upper_limit"/>
<field name="upper_limit"/>
<label name="update_upper_limit"/>
<field name="update_upper_limit"/>
<label name="initial_concentration"/>
<field name="initial_concentration"/>
<label name="update_initial_concentration"/>
<field name="update_initial_concentration"/>
<label name="start_uom"/>
<field name="start_uom"/>
<label name="update_start_uom"/>
<field name="update_start_uom"/>
<label name="final_concentration"/>
<field name="final_concentration"/>
<label name="update_final_concentration"/>
<field name="update_final_concentration"/>
<label name="end_uom"/>
<field name="end_uom"/>
<label name="update_end_uom"/>
<field name="update_end_uom"/>
<label name="calc_decimals"/>
<field name="calc_decimals"/>
<label name="update_calc_decimals"/>
<field name="update_calc_decimals"/>
<label name="report"/>
<field name="report"/>
<label name="update_report"/>
<field name="update_report"/>
<label name="referable"/>
<field name="referable"/>
<label name="update_referable"/>
<field name="update_referable"/>
</form>