26 lines
1.2 KiB
Python
26 lines
1.2 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
|
||
|
from odoo import fields, models, api
|
||
|
|
||
|
class PosPrinter(models.Model):
|
||
|
|
||
|
_name = 'pos.printer'
|
||
|
_description = 'Point of Sale Printer'
|
||
|
_inherit = ['pos.load.mixin']
|
||
|
|
||
|
name = fields.Char('Printer Name', required=True, default='Printer', help='An internal identification of the printer')
|
||
|
printer_type = fields.Selection(string='Printer Type', default='iot',
|
||
|
selection=[('iot', ' Use a printer connected to the IoT Box')])
|
||
|
proxy_ip = fields.Char('Proxy IP Address', help="The IP Address or hostname of the Printer's hardware proxy")
|
||
|
product_categories_ids = fields.Many2many('pos.category', 'printer_category_rel', 'printer_id', 'category_id', string='Printed Product Categories')
|
||
|
company_id = fields.Many2one('res.company', string='Company', required=True, default=lambda self: self.env.company)
|
||
|
|
||
|
@api.model
|
||
|
def _load_pos_data_domain(self, data):
|
||
|
return [('id', 'in', data['pos.config']['data'][0]['printer_ids'])]
|
||
|
|
||
|
@api.model
|
||
|
def _load_pos_data_fields(self, config_id):
|
||
|
return ['id', 'name', 'proxy_ip', 'product_categories_ids', 'printer_type']
|