[IMP] Add a test mode to print a label on write

This commit is contained in:
Florent de Labarre
2018-01-23 00:41:35 +01:00
parent 800534b4b1
commit e1ff32cab8
4 changed files with 29 additions and 2 deletions

View File

@@ -49,9 +49,12 @@ class PrintingLabelZpl2(models.Model):
default=True)
action_window_id = fields.Many2one(
comodel_name='ir.actions.act_window', string='Action', readonly=True)
test_print_mode = fields.Boolean(string='Mode Print')
test_labelary_mode = fields.Boolean(string='Mode Labelary')
record_id = fields.Integer(string='Record ID', default=1)
extra = fields.Text(string="Extra", default='{}')
printer_id = fields.Many2one(
comodel_name='printing.printer', string='Printer')
labelary_image = fields.Binary(string='Image from Labelary', readonly=True)
labelary_dpmm = fields.Selection(
selection=[
@@ -293,6 +296,14 @@ class PrintingLabelZpl2(models.Model):
return record
def print_test_label(self):
for label in self:
if label.test_print_mode and label.record_id and label.printer_id:
record = label._get_record()
extra = safe_eval(label.extra, {'env': self.env})
if record:
label.print_label(label.printer_id, record, **extra)
@api.onchange(
'record_id', 'labelary_dpmm', 'labelary_width', 'labelary_height',
'component_ids', 'origin_x', 'origin_y')