Report to printer - Custom Printer Options

printer_custom_options
REPOSITORY
REPOSITORYOCA/report-print-send
GIT
GIThttps://github.com/OCA/report-print-send.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/report-print-send/tree/11.0/printer_custom_options
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPrinter
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSCompassion CH, OCA
MAINTAINERS
MAINTAINERSOCA, Compassion CH
COMMITTERS
COMMITTERSoca-travis, OCA-git-bot, qgigon
WEBSITE
WEBSITEhttps://github.com/OCA/report-print-send
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/report-print-send:
    - base_report_to_printer
odoo/odoo:
    - web
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cups
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
act_report_xml_view ir.actions.report.printing_options ir.actions.report Inherits base.act_report_xml_view
printing_printer_view_form printing.printer.form printing.printer Inherits base_report_to_printer.printing_printer_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • printer_options Many2many → printer.option.choice
    string='Printer Options' args: 'printer.option.choice'
Public methods (1)
  • on_change_printer(self)
    @api.multi@api.onchange('printing_printer_id')

New fields (2)
  • option_key Char
    readonly=True required=True
  • printer_id Many2one → printing.printer
    comodel_name='printing.printer' ondelete='cascade' readonly=True required=True string='Printer'
Public methods (0)

No public methods.

New fields (4)
  • composite_key Char
    compute='_compute_composite_key' store=True
  • option_key Char
    readonly=True required=True
  • option_value Char
    readonly=True required=True
  • printer_id Many2one → printing.printer
    comodel_name='printing.printer' ondelete='cascade' readonly=True required=True string='Printer'
Public methods (1)
  • build_composite_key(self, option_key, option_value)
    @api.model

New fields (2)
  • printer_option_choices One2many → printer.option.choice
    comodel_name='printer.option.choice' inverse_name='printer_id' readonly=True string='Option Choices'
  • printer_options One2many → printer.option
    comodel_name='printer.option' inverse_name='printer_id' readonly=True
Public methods (2)
  • discover_values_of_option(self, ppd, current_option_keys, option_key)
    Returns all new values for one printer option category. Most probably it will insert all option values the first time we sync with CUPS and then return an empty list.
  • print_options(self, report=None, **print_opts)
    @api.multi