[16.0][ADD] printing_simple_configuration

This commit is contained in:
David Beal
2023-05-07 16:35:34 +02:00
parent d6ee2613d4
commit b909143afa
17 changed files with 263 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
from . import company
from . import printer
from . import print_config

View File

@@ -0,0 +1,7 @@
from odoo import fields, models
class ResCompany(models.Model):
_inherit = "res.company"
print_config_id = fields.Many2one(comodel_name="print.config")

View File

@@ -0,0 +1,30 @@
from odoo import api, fields, models
class PrintConfig(models.Model):
_name = "print.config"
_inherit = ["mail.thread"]
_description = "Simple Printing Configuration"
_rec_names_search = ["server", "company_id"]
_check_company_auto = True
server = fields.Char(
string="🖥 Server",
required=True,
tracking=True,
help="IP or name resolved by your internal DNS",
)
port = fields.Integer(tracking=True)
company_id = fields.Many2one(comodel_name="res.company", string="Company")
display_name = fields.Char("Name", compute="_compute_display_name", store=True)
comment = fields.Char()
printer_ids = fields.One2many(comodel_name="printer", inverse_name="config_id")
@api.depends("server", "company_id")
def _compute_display_name(self):
for rec in self:
company = rec.company_id
if company:
rec.display_name = "{} ({})".format(rec.server, company.name)
else:
rec.display_name = rec.server

View File

@@ -0,0 +1,21 @@
from odoo import fields, models
class Printer(models.Model):
_name = "printer"
_description = "Printers belongs to a printer server address attached "
"to a company or a warehouse"
name = fields.Char(required=True, help="must be completed by internal user")
usage = fields.Char(
required=True,
help="Developers may use this to guess adapted printers for their workflows",
)
comment = fields.Char()
config_id = fields.Many2one(comodel_name="print.config", required=True)
warehouse_id = fields.Many2one(comodel_name="stock.warehouse")
readonly = fields.Boolean(
help="Make some fields readonly in views if set to True.\n"
"In some case, erp project may be imply minimal config as module data\n"
"with some fields might updated within the interface"
)