mirror of
https://github.com/OCA/reporting-engine.git
synced 2025-02-16 16:30:38 +02:00
[ADD] report_label
This commit is contained in:
committed by
Stefan Rijnhart
parent
1b1e9a4d9f
commit
c6f34b6609
57
report_label/models/ir_actions_server.py
Normal file
57
report_label/models/ir_actions_server.py
Normal file
@@ -0,0 +1,57 @@
|
||||
from odoo import api, models, fields
|
||||
|
||||
|
||||
class IrActionsServer(models.Model):
|
||||
_inherit = "ir.actions.server"
|
||||
|
||||
state = fields.Selection(
|
||||
selection_add=[("report_label", "Print self-adhesive labels")]
|
||||
)
|
||||
label_template = fields.Char(
|
||||
"Label QWeb Template",
|
||||
help="The QWeb template key to render the labels",
|
||||
states={
|
||||
"report_label": [("required", True)]
|
||||
}
|
||||
)
|
||||
label_paperformat_id = fields.Many2one(
|
||||
"report.paperformat.label",
|
||||
"Label Paper Format",
|
||||
states={
|
||||
"report_label": [("required", True)]
|
||||
}
|
||||
)
|
||||
|
||||
@api.multi
|
||||
def report_label_associated_view(self):
|
||||
""" View the associated qweb templates """
|
||||
self.ensure_one()
|
||||
action = self.env.ref('base.action_ui_view', raise_if_not_found=False)
|
||||
if not action or len(self.label_template.split('.')) < 2:
|
||||
return False
|
||||
res = action.read()[0]
|
||||
res['domain'] = [
|
||||
('type', '=', 'qweb'),
|
||||
'|',
|
||||
('name', 'ilike', self.label_template.split('.')[1]),
|
||||
('key', '=', self.label_template),
|
||||
]
|
||||
return res
|
||||
|
||||
@api.model
|
||||
def run_action_report_label_multi(self, action, eval_context=None):
|
||||
""" Show report label wizard """
|
||||
context = dict(self.env.context)
|
||||
context.update({
|
||||
"label_template": action.label_template,
|
||||
"label_paperformat_id": action.label_paperformat_id.id,
|
||||
"res_model_id": action.model_id.id,
|
||||
})
|
||||
return {
|
||||
"name": action.name,
|
||||
"type": "ir.actions.act_window",
|
||||
"res_model": "report.label.wizard",
|
||||
"context": str(context),
|
||||
"view_mode": "form",
|
||||
"target": "new",
|
||||
}
|
||||
Reference in New Issue
Block a user