lims_report_html: allow to disable result report templates

This commit is contained in:
Adrián Bernardi 2022-09-13 20:35:36 -03:00
parent 0b85b34c7a
commit a6a603d635
8 changed files with 28 additions and 2 deletions

View File

@ -14,6 +14,8 @@ class Analysis(metaclass=PoolMeta):
'Report Template', domain=[ 'Report Template', domain=[
('report_name', '=', 'lims.result_report'), ('report_name', '=', 'lims.result_report'),
('type', 'in', [None, 'base']), ('type', 'in', [None, 'base']),
['OR', ('active', '=', True),
('id', '=', Eval('result_template'))],
], ],
states={'readonly': Eval('type') != 'group'}, states={'readonly': Eval('type') != 'group'},
depends=['type']) depends=['type'])

View File

@ -4,6 +4,7 @@
from trytond.model import fields from trytond.model import fields
from trytond.pool import PoolMeta from trytond.pool import PoolMeta
from trytond.pyson import Eval
class Configuration(metaclass=PoolMeta): class Configuration(metaclass=PoolMeta):
@ -13,4 +14,6 @@ class Configuration(metaclass=PoolMeta):
'Default Report Template', domain=[ 'Default Report Template', domain=[
('report_name', '=', 'lims.result_report'), ('report_name', '=', 'lims.result_report'),
('type', 'in', [None, 'base']), ('type', 'in', [None, 'base']),
['OR', ('active', '=', True),
('id', '=', Eval('result_template'))],
]) ])

View File

@ -18,7 +18,7 @@ from babel.support import Translations as BabelTranslations
from mimetypes import guess_type as mime_guess_type from mimetypes import guess_type as mime_guess_type
from sql import Literal from sql import Literal
from trytond.model import ModelSQL, ModelView, fields from trytond.model import ModelSQL, ModelView, DeactivableMixin, fields
from trytond.report import Report from trytond.report import Report
from trytond.pool import Pool from trytond.pool import Pool
from trytond.pyson import Eval, Bool, Or from trytond.pyson import Eval, Bool, Or
@ -31,7 +31,7 @@ from trytond import backend
from .generator import PdfGenerator from .generator import PdfGenerator
class ReportTemplate(ModelSQL, ModelView): class ReportTemplate(DeactivableMixin, ModelSQL, ModelView):
'Report Template' 'Report Template'
__name__ = 'lims.report.template' __name__ = 'lims.report.template'
@ -59,12 +59,16 @@ class ReportTemplate(ModelSQL, ModelView):
domain=[ domain=[
('report_name', '=', Eval('report_name')), ('report_name', '=', Eval('report_name')),
('type', '=', 'header'), ('type', '=', 'header'),
['OR', ('active', '=', True),
('id', '=', Eval('header'))],
], ],
depends=['report_name']) depends=['report_name'])
footer = fields.Many2One('lims.report.template', 'Footer', footer = fields.Many2One('lims.report.template', 'Footer',
domain=[ domain=[
('report_name', '=', Eval('report_name')), ('report_name', '=', Eval('report_name')),
('type', '=', 'footer'), ('type', '=', 'footer'),
['OR', ('active', '=', True),
('id', '=', Eval('footer'))],
], ],
depends=['report_name']) depends=['report_name'])
translations = fields.One2Many('lims.report.template.translation', translations = fields.One2Many('lims.report.template.translation',

View File

@ -4,6 +4,7 @@
from trytond.model import fields from trytond.model import fields
from trytond.pool import PoolMeta from trytond.pool import PoolMeta
from trytond.pyson import Eval
class Laboratory(metaclass=PoolMeta): class Laboratory(metaclass=PoolMeta):
@ -13,4 +14,6 @@ class Laboratory(metaclass=PoolMeta):
'Report Template', domain=[ 'Report Template', domain=[
('report_name', '=', 'lims.result_report'), ('report_name', '=', 'lims.result_report'),
('type', 'in', [None, 'base']), ('type', 'in', [None, 'base']),
['OR', ('active', '=', True),
('id', '=', Eval('result_template'))],
]) ])

View File

@ -4,6 +4,7 @@
from trytond.model import fields from trytond.model import fields
from trytond.pool import PoolMeta from trytond.pool import PoolMeta
from trytond.pyson import Eval
class Party(metaclass=PoolMeta): class Party(metaclass=PoolMeta):
@ -13,4 +14,6 @@ class Party(metaclass=PoolMeta):
'Report Template', domain=[ 'Report Template', domain=[
('report_name', '=', 'lims.result_report'), ('report_name', '=', 'lims.result_report'),
('type', 'in', [None, 'base']), ('type', 'in', [None, 'base']),
['OR', ('active', '=', True),
('id', '=', Eval('result_template'))],
]) ])

View File

@ -21,6 +21,8 @@ class ResultsReportVersionDetail(metaclass=PoolMeta):
'Report Template', domain=[ 'Report Template', domain=[
('report_name', '=', 'lims.result_report'), ('report_name', '=', 'lims.result_report'),
('type', 'in', [None, 'base']), ('type', 'in', [None, 'base']),
['OR', ('active', '=', True),
('id', '=', Eval('template'))],
], ],
states={'readonly': Eval('state') != 'draft'}, states={'readonly': Eval('state') != 'draft'},
depends=['state']) depends=['state'])
@ -495,6 +497,8 @@ class GenerateReportStart(metaclass=PoolMeta):
'Report Template', domain=[ 'Report Template', domain=[
('report_name', '=', 'lims.result_report'), ('report_name', '=', 'lims.result_report'),
('type', 'in', [None, 'base']), ('type', 'in', [None, 'base']),
['OR', ('active', '=', True),
('id', '=', Eval('template'))],
], ],
states={'readonly': Bool(Eval('report'))}, states={'readonly': Bool(Eval('report'))},
depends=['report']) depends=['report'])

View File

@ -4,6 +4,7 @@
from trytond.model import fields from trytond.model import fields
from trytond.pool import Pool, PoolMeta from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
class Fraction(metaclass=PoolMeta): class Fraction(metaclass=PoolMeta):
@ -36,6 +37,8 @@ class Sample(metaclass=PoolMeta):
'Report Template', domain=[ 'Report Template', domain=[
('report_name', '=', 'lims.result_report'), ('report_name', '=', 'lims.result_report'),
('type', 'in', [None, 'base']), ('type', 'in', [None, 'base']),
['OR', ('active', '=', True),
('id', '=', Eval('result_template'))],
]) ])
resultrange_origin = fields.Many2One('lims.range.type', 'Comparison range', resultrange_origin = fields.Many2One('lims.range.type', 'Comparison range',
domain=[('use', '=', 'result_range')]) domain=[('use', '=', 'result_range')])
@ -54,6 +57,8 @@ class CreateSampleStart(metaclass=PoolMeta):
'Report Template', domain=[ 'Report Template', domain=[
('report_name', '=', 'lims.result_report'), ('report_name', '=', 'lims.result_report'),
('type', 'in', [None, 'base']), ('type', 'in', [None, 'base']),
['OR', ('active', '=', True),
('id', '=', Eval('result_template'))],
]) ])
resultrange_origin = fields.Many2One('lims.range.type', 'Comparison range', resultrange_origin = fields.Many2One('lims.range.type', 'Comparison range',
domain=[('use', '=', 'result_range')]) domain=[('use', '=', 'result_range')])

View File

@ -10,6 +10,8 @@
<field name="page_orientation"/> <field name="page_orientation"/>
<label name="resultrange_origin"/> <label name="resultrange_origin"/>
<field name="resultrange_origin"/> <field name="resultrange_origin"/>
<label name="active"/>
<field name="active" xexpand="0" width="25"/>
<notebook> <notebook>
<page name="content"> <page name="content">
<field name="content" colspan="4" widget="html"/> <field name="content" colspan="4" widget="html"/>