From da48286286d57aeddc189ef42f279c011ed0c680 Mon Sep 17 00:00:00 2001
From: Enric Tobella
Date: Wed, 20 Jun 2018 13:13:37 +0200
Subject: [PATCH 01/21] [ADD] remote_report_to_printer
---
remote_report_to_printer/README.rst | 67 +++++++++
remote_report_to_printer/__init__.py | 1 +
remote_report_to_printer/__manifest__.py | 20 +++
.../data/printing_data.xml | 9 ++
.../i18n/remote_report_to_printer.pot | 127 ++++++++++++++++++
remote_report_to_printer/models/__init__.py | 4 +
.../models/ir_actions_report.py | 22 +++
.../models/printing_action.py | 18 +++
remote_report_to_printer/models/res_remote.py | 28 ++++
.../models/res_remote_printer.py | 48 +++++++
.../security/ir.model.access.csv | 3 +
remote_report_to_printer/tests/__init__.py | 2 +
.../tests/test_printer.py | 106 +++++++++++++++
.../tests/test_remote_printer.py | 61 +++++++++
.../views/res_remote_printer_views.xml | 33 +++++
.../views/res_remote_views.xml | 15 +++
16 files changed, 564 insertions(+)
create mode 100644 remote_report_to_printer/README.rst
create mode 100644 remote_report_to_printer/__init__.py
create mode 100644 remote_report_to_printer/__manifest__.py
create mode 100644 remote_report_to_printer/data/printing_data.xml
create mode 100644 remote_report_to_printer/i18n/remote_report_to_printer.pot
create mode 100644 remote_report_to_printer/models/__init__.py
create mode 100644 remote_report_to_printer/models/ir_actions_report.py
create mode 100644 remote_report_to_printer/models/printing_action.py
create mode 100644 remote_report_to_printer/models/res_remote.py
create mode 100644 remote_report_to_printer/models/res_remote_printer.py
create mode 100644 remote_report_to_printer/security/ir.model.access.csv
create mode 100644 remote_report_to_printer/tests/__init__.py
create mode 100644 remote_report_to_printer/tests/test_printer.py
create mode 100644 remote_report_to_printer/tests/test_remote_printer.py
create mode 100644 remote_report_to_printer/views/res_remote_printer_views.xml
create mode 100644 remote_report_to_printer/views/res_remote_views.xml
diff --git a/remote_report_to_printer/README.rst b/remote_report_to_printer/README.rst
new file mode 100644
index 0000000..4261fcc
--- /dev/null
+++ b/remote_report_to_printer/README.rst
@@ -0,0 +1,67 @@
+.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
+
+=================
+Report To Printer
+=================
+
+This module allows users to send reports to a printer using remote's configuration.
+
+A *remote* is an external entity that access odoo. For example, computers, mobiles,
+servers... We will identify *remotes* by its name or ip. On some environments,
+we want to configure the printers by remote, because users may change their
+work place.
+
+It adds an optional behaviour on reports to send it directly to a printer.
+
+* `Use remote's configuration` use the remote's behaviour
+
+Also, this option can be selected as a user default option for printer.
+
+Usage
+=====
+
+ * In *Settings > Remotes* configure the remotes printers by usage
+
+
+.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
+ :alt: Try me on Runbot
+ :target: https://runbot.odoo-community.org/runbot/144/11.0
+
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues
+`_. In case of trouble, please
+check there if your issue has already been reported. If you spotted it first,
+help us smashing it by providing a detailed and welcomed feedback.
+
+Credits
+=======
+
+Images
+------
+
+* Odoo Community Association: `Icon `_.
+
+Contributors
+------------
+
+* Enric Tobella
+
+Maintainer
+----------
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+This module is maintained by the OCA.
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+To contribute to this module, please visit https://odoo-community.org.
diff --git a/remote_report_to_printer/__init__.py b/remote_report_to_printer/__init__.py
new file mode 100644
index 0000000..0650744
--- /dev/null
+++ b/remote_report_to_printer/__init__.py
@@ -0,0 +1 @@
+from . import models
diff --git a/remote_report_to_printer/__manifest__.py b/remote_report_to_printer/__manifest__.py
new file mode 100644
index 0000000..b348426
--- /dev/null
+++ b/remote_report_to_printer/__manifest__.py
@@ -0,0 +1,20 @@
+# Copyright (c) 2018 Creu Blanca
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+{
+ 'name': "Report to printer on remotes",
+ 'version': '11.0.2.1.0',
+ 'category': 'Generic Modules/Base',
+ 'author': "Creu Blanca, Odoo Community Association (OCA)",
+ 'website': 'http://www.agilebg.com',
+ 'license': 'AGPL-3',
+ "depends": ['base_remote', 'base_report_to_printer'],
+ 'data': [
+ 'data/printing_data.xml',
+ 'security/ir.model.access.csv',
+ 'views/res_remote_views.xml',
+ 'views/res_remote_printer_views.xml',
+ ],
+ 'installable': True,
+ 'application': True,
+}
diff --git a/remote_report_to_printer/data/printing_data.xml b/remote_report_to_printer/data/printing_data.xml
new file mode 100644
index 0000000..b6c54b5
--- /dev/null
+++ b/remote_report_to_printer/data/printing_data.xml
@@ -0,0 +1,9 @@
+
+
+
+
+ Use Remote Defaults
+ remote_default
+
+
+
diff --git a/remote_report_to_printer/i18n/remote_report_to_printer.pot b/remote_report_to_printer/i18n/remote_report_to_printer.pot
new file mode 100644
index 0000000..c6a6d9c
--- /dev/null
+++ b/remote_report_to_printer/i18n/remote_report_to_printer.pot
@@ -0,0 +1,127 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * remote_report_to_printer
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: remote_report_to_printer
+#: sql_constraint:res.remote.printer:0
+msgid "A Remote cannot have the same printer for the same usage"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_create_date
+msgid "Created on"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_id
+msgid "ID"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_is_default
+msgid "Is Default"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer___last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: code:addons/remote_report_to_printer/models/res_remote_printer.py:48
+#, python-format
+msgid "Only one default printer is allowed"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_printing_action
+msgid "Print Job Action"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_id
+msgid "Printer"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_tray_id
+msgid "Printer Tray"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_usage
+msgid "Printer Usage"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_form
+msgid "Printers"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_remote_id
+msgid "Remote"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_remote_printer_ids
+#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_form
+msgid "Remote Printer"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_tree
+msgid "Remote Printers"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_res_remote
+msgid "Remotes"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: selection:res.remote.printer,printer_usage:0
+msgid "Standard"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_ir_actions_report
+msgid "ir.actions.report"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_res_remote_printer
+msgid "res.remote.printer"
+msgstr ""
+
diff --git a/remote_report_to_printer/models/__init__.py b/remote_report_to_printer/models/__init__.py
new file mode 100644
index 0000000..d17f81d
--- /dev/null
+++ b/remote_report_to_printer/models/__init__.py
@@ -0,0 +1,4 @@
+from . import ir_actions_report
+from . import res_remote
+from . import res_remote_printer
+from . import printing_action
diff --git a/remote_report_to_printer/models/ir_actions_report.py b/remote_report_to_printer/models/ir_actions_report.py
new file mode 100644
index 0000000..417d86e
--- /dev/null
+++ b/remote_report_to_printer/models/ir_actions_report.py
@@ -0,0 +1,22 @@
+# Copyright (c) 2018 Creu Blanca
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import api, models
+
+
+class IrActionsReport(models.Model):
+ _inherit = 'ir.actions.report'
+
+ @api.multi
+ def _get_user_default_print_behaviour(self):
+ res = super()._get_user_default_print_behaviour()
+ if res.get('action', 'unknown') == 'remote_default':
+ res.update(self.remote.get_printer_behaviour())
+ return res
+
+ @api.multi
+ def _get_report_default_print_behaviour(self):
+ res = super()._get_report_default_print_behaviour()
+ if res.get('action', 'unknown') == 'remote_default':
+ res.update(self.remote.get_printer_behaviour())
+ return res
diff --git a/remote_report_to_printer/models/printing_action.py b/remote_report_to_printer/models/printing_action.py
new file mode 100644
index 0000000..c6f4618
--- /dev/null
+++ b/remote_report_to_printer/models/printing_action.py
@@ -0,0 +1,18 @@
+# Copyright (c) 2018 Creu Blanca
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+
+from odoo import api, fields, models
+
+
+class PrintingAction(models.Model):
+ _inherit = 'printing.action'
+
+ @api.model
+ def _available_action_types(self):
+ res = super()._available_action_types()
+ res.append(('remote_default', "Use remote's default"))
+ return res
+
+ action_type = fields.Selection(
+ selection=_available_action_types,
+ )
diff --git a/remote_report_to_printer/models/res_remote.py b/remote_report_to_printer/models/res_remote.py
new file mode 100644
index 0000000..4a961f3
--- /dev/null
+++ b/remote_report_to_printer/models/res_remote.py
@@ -0,0 +1,28 @@
+# Copyright (c) 2018 Creu Blanca
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+from odoo import api, fields, models
+
+
+class ResRemote(models.Model):
+ _inherit = 'res.remote'
+
+ remote_printer_ids = fields.One2many(
+ 'res.remote.printer',
+ inverse_name='remote_id',
+ )
+
+ @api.multi
+ def get_printer_behaviour(self):
+ self.ensure_one()
+ printer_usage = self.env.context.get('printer_usage', 'standard')
+ printers = self.remote.remote_printer_ids.filtered(
+ lambda r: r.printer_usage == printer_usage
+ ).sorted(key='is_default', reverse=True)
+ if printers:
+ printer = printers[0]
+ return {
+ 'action': 'server',
+ 'printer': printer.printer_id,
+ 'tray': printer.printer_tray_id.system_name
+ }
+ return {'action': 'client'}
diff --git a/remote_report_to_printer/models/res_remote_printer.py b/remote_report_to_printer/models/res_remote_printer.py
new file mode 100644
index 0000000..50faaaf
--- /dev/null
+++ b/remote_report_to_printer/models/res_remote_printer.py
@@ -0,0 +1,48 @@
+# Copyright (c) 2018 Creu Blanca
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+from odoo import api, fields, models, _
+from odoo.exceptions import ValidationError
+
+
+class ResRemotePrinter(models.Model):
+ _name = 'res.remote.printer'
+
+ remote_id = fields.Many2one(
+ 'res.remote',
+ ondelete='cascade',
+ readonly=True,
+ )
+ printer_id = fields.Many2one(
+ 'printing.printer',
+ ondelete='cascade',
+ )
+ printer_tray_id = fields.Many2one(
+ 'printing.tray',
+ ondelete='cascade',
+ domain="[('printer_id', '=', printer_id)]",
+ )
+ is_default = fields.Boolean(default=False)
+ printer_usage = fields.Selection([
+ ('standard', 'Standard')
+ ], default='standard')
+
+ _sql_constraints = [
+ ('unique_printer_remote_usage',
+ 'unique(remote_id,printer_id,printer_usage)',
+ 'A Remote cannot have the same printer for the same usage')
+ ]
+
+ @api.onchange('printer_id')
+ def _onchange_printing_printer_id(self):
+ """ Reset the tray when the printer is changed """
+ self.printer_tray_id = False
+
+ @api.multi
+ @api.constrains('remote_id', 'printer_usage', 'is_default')
+ def _check_remote_usage(self):
+ for rec in self.filtered(lambda r: r.is_default):
+ if rec.remote_id.remote_printer_ids.filtered(
+ lambda r: r != rec and r.is_default
+ and r.printer_usage == rec.printer_usage
+ ):
+ raise ValidationError(_('Only one default printer is allowed'))
diff --git a/remote_report_to_printer/security/ir.model.access.csv b/remote_report_to_printer/security/ir.model.access.csv
new file mode 100644
index 0000000..2729507
--- /dev/null
+++ b/remote_report_to_printer/security/ir.model.access.csv
@@ -0,0 +1,3 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_remote,access_remote_printer,model_res_remote_printer,base.group_user,1,0,0,0
+manage_remote,manage_remote_printer,model_res_remote_printer,base.group_system,1,1,0,0
diff --git a/remote_report_to_printer/tests/__init__.py b/remote_report_to_printer/tests/__init__.py
new file mode 100644
index 0000000..8555121
--- /dev/null
+++ b/remote_report_to_printer/tests/__init__.py
@@ -0,0 +1,2 @@
+from . import test_remote_printer
+from . import test_printer
diff --git a/remote_report_to_printer/tests/test_printer.py b/remote_report_to_printer/tests/test_printer.py
new file mode 100644
index 0000000..cfee617
--- /dev/null
+++ b/remote_report_to_printer/tests/test_printer.py
@@ -0,0 +1,106 @@
+# Copyright (c) 2018 Creu Blanca
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+from odoo.tests.common import TransactionCase
+from mock import patch
+
+
+class TestRemotePrinter(TransactionCase):
+
+ def setUp(self):
+ super().setUp()
+ name = 'testing_remote_server'
+ self.remote = self.env['res.remote'].search([('name', '=', name)])
+ if not self.remote:
+ self.remote = self.env['res.remote'].create({
+ 'name': name,
+ 'ip': '127.0.0.1',
+ })
+ self.server = self.env['printing.server'].create({
+ 'name': 'Server',
+ 'address': 'localhost',
+ 'port': 631,
+ })
+ self.printer_1 = self.env['printing.printer'].create({
+ 'name': 'Printer 1',
+ 'system_name': 'P1',
+ 'server_id': self.server.id,
+ })
+ self.remote_printer = self.env['res.remote.printer'].create({
+ 'remote_id': self.remote.id,
+ 'printer_id': self.printer_1.id,
+ 'is_default': True,
+ })
+ self.Model = self.env['ir.actions.report']
+ self.report = self.env['ir.actions.report'].search([], limit=1)
+
+ def test_behaviour_user_remote_values(self):
+ report = self.Model.search([], limit=1)
+ self.env.user.printing_action = 'remote_default'
+ with patch(
+ 'odoo.addons.base_remote.models.base.Base.remote', new=self.remote
+ ):
+ behaviour = report.behaviour()
+ self.assertEqual(behaviour, {
+ 'action': 'client',
+ 'printer': self.printer_1,
+ 'tray': False,
+ })
+
+ def test_behaviour_report_values(self):
+ report = self.Model.search([], limit=1)
+ self.env.user.printing_action = 'client'
+ report.property_printing_action_id = self.browse_ref(
+ 'remote_report_to_printer.printing_action_remote'
+ )
+ with patch(
+ 'odoo.addons.base_remote.models.base.Base.remote', new=self.remote
+ ):
+ behaviour = report.behaviour()
+ self.assertDictEqual(behaviour, {
+ 'action': 'server',
+ 'printer': self.printer_1,
+ 'tray': False,
+ })
+
+ def test_behaviour_user_action(self):
+ report = self.Model.search([], limit=1)
+ self.env.user.printing_action = 'remote_default'
+ report.property_printing_action_id = self.browse_ref(
+ 'base_report_to_printer.printing_action_3'
+ )
+ with patch(
+ 'odoo.addons.base_remote.models.base.Base.remote', new=self.remote
+ ):
+ behaviour = report.behaviour()
+ self.assertEqual(behaviour, {
+ 'action': 'server',
+ 'printer': self.printer_1,
+ 'tray': False,
+ })
+
+ def test_behaviour_default_action(self):
+ report = self.Model.search([], limit=1)
+ self.env.user.printing_action = 'client'
+ with patch(
+ 'odoo.addons.base_remote.models.base.Base.remote', new=self.remote
+ ):
+ behaviour = report.behaviour()
+ self.assertEqual(behaviour, {
+ 'action': 'client',
+ 'printer': self.env['printing.printer'],
+ 'tray': False,
+ })
+
+ def test_behaviour_no_printers(self):
+ self.remote_printer.unlink()
+ report = self.Model.search([], limit=1)
+ self.env.user.printing_action = 'remote_default'
+ report.property_printing_action_id = self.browse_ref(
+ 'base_report_to_printer.printing_action_3'
+ )
+ with patch(
+ 'odoo.addons.base_remote.models.base.Base.remote',
+ new=self.remote
+ ):
+ behaviour = report.behaviour()
+ self.assertEqual(behaviour['action'], 'client')
diff --git a/remote_report_to_printer/tests/test_remote_printer.py b/remote_report_to_printer/tests/test_remote_printer.py
new file mode 100644
index 0000000..c38a036
--- /dev/null
+++ b/remote_report_to_printer/tests/test_remote_printer.py
@@ -0,0 +1,61 @@
+# Copyright (c) 2018 Creu Blanca
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+from odoo.tests.common import TransactionCase
+from odoo.exceptions import ValidationError
+
+
+class TestRemotePrinter(TransactionCase):
+
+ def setUp(self):
+ super().setUp()
+ name = 'testing_remote_server'
+ self.remote = self.env['res.remote'].search([('name', '=', name)])
+ if not self.remote:
+ self.remote = self.env['res.remote'].create({
+ 'name': name,
+ 'ip': '127.0.0.1',
+ })
+ self.server = self.env['printing.server'].create({
+ 'name': 'Server',
+ 'address': 'localhost',
+ 'port': 631,
+ })
+ self.printer_1 = self.env['printing.printer'].create({
+ 'name': 'Printer 1',
+ 'system_name': 'P1',
+ 'server_id': self.server.id,
+ })
+ self.printer_2 = self.env['printing.printer'].create({
+ 'name': 'Printer 2',
+ 'system_name': 'P2',
+ 'server_id': self.server.id,
+ })
+ self.tray_1 = self.env['printing.tray'].create({
+ 'name': 'Tray',
+ 'system_name': 'P2',
+ 'printer_id': self.printer_1.id,
+ })
+
+ def test_constrain(self):
+ self.env['res.remote.printer'].create({
+ 'remote_id': self.remote.id,
+ 'printer_id': self.printer_1.id,
+ 'is_default': True,
+ })
+ with self.assertRaises(ValidationError):
+ self.env['res.remote.printer'].create({
+ 'remote_id': self.remote.id,
+ 'printer_id': self.printer_2.id,
+ 'is_default': True,
+ })
+
+ def test_onchange_printer(self):
+ remote_printer = self.env['res.remote.printer'].create({
+ 'remote_id': self.remote.id,
+ 'printer_id': self.printer_1.id,
+ 'printer_tray_id': self.tray_1.id,
+ })
+ self.assertTrue(remote_printer.printer_tray_id)
+ remote_printer.printer_id = self.printer_2
+ remote_printer._onchange_printing_printer_id()
+ self.assertFalse(remote_printer.printer_tray_id)
diff --git a/remote_report_to_printer/views/res_remote_printer_views.xml b/remote_report_to_printer/views/res_remote_printer_views.xml
new file mode 100644
index 0000000..d745918
--- /dev/null
+++ b/remote_report_to_printer/views/res_remote_printer_views.xml
@@ -0,0 +1,33 @@
+
+
+
+ res.remote.printer.form
+ res.remote.printer
+
+
+
+
+
+ res.remote.printer.tree
+ res.remote.printer
+
+
+
+
+
+
+
+
+
+
+
diff --git a/remote_report_to_printer/views/res_remote_views.xml b/remote_report_to_printer/views/res_remote_views.xml
new file mode 100644
index 0000000..6023035
--- /dev/null
+++ b/remote_report_to_printer/views/res_remote_views.xml
@@ -0,0 +1,15 @@
+
+
+
+ res.remote.form
+ res.remote
+
+
+
+
+
+
+
+
+
+
From 690a52b898b316645ade11bf77a2fd5fd635deaa Mon Sep 17 00:00:00 2001
From: Jordi Ballester Alomar
Date: Wed, 7 Nov 2018 11:43:28 +0100
Subject: [PATCH 02/21] [remote_report_to_printer] add permissions to write and
delete to base.group_system
---
remote_report_to_printer/__manifest__.py | 2 +-
.../security/ir.model.access.csv | 2 +-
.../tests/test_remote_printer.py | 66 +++++++++++++++++--
3 files changed, 62 insertions(+), 8 deletions(-)
diff --git a/remote_report_to_printer/__manifest__.py b/remote_report_to_printer/__manifest__.py
index b348426..199b330 100644
--- a/remote_report_to_printer/__manifest__.py
+++ b/remote_report_to_printer/__manifest__.py
@@ -3,7 +3,7 @@
{
'name': "Report to printer on remotes",
- 'version': '11.0.2.1.0',
+ 'version': '11.0.2.1.1',
'category': 'Generic Modules/Base',
'author': "Creu Blanca, Odoo Community Association (OCA)",
'website': 'http://www.agilebg.com',
diff --git a/remote_report_to_printer/security/ir.model.access.csv b/remote_report_to_printer/security/ir.model.access.csv
index 2729507..00cfc41 100644
--- a/remote_report_to_printer/security/ir.model.access.csv
+++ b/remote_report_to_printer/security/ir.model.access.csv
@@ -1,3 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_remote,access_remote_printer,model_res_remote_printer,base.group_user,1,0,0,0
-manage_remote,manage_remote_printer,model_res_remote_printer,base.group_system,1,1,0,0
+manage_remote,manage_remote_printer,model_res_remote_printer,base.group_system,1,1,1,1
diff --git a/remote_report_to_printer/tests/test_remote_printer.py b/remote_report_to_printer/tests/test_remote_printer.py
index c38a036..a76a857 100644
--- a/remote_report_to_printer/tests/test_remote_printer.py
+++ b/remote_report_to_printer/tests/test_remote_printer.py
@@ -2,12 +2,20 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests.common import TransactionCase
from odoo.exceptions import ValidationError
+from odoo.exceptions import AccessError
class TestRemotePrinter(TransactionCase):
def setUp(self):
super().setUp()
+ self.system_user_group = self.env.ref('base.group_system')
+ self.user_group = self.env.ref('base.group_user')
+ self.printer_manager = self._create_user('printer_manager',
+ self.system_user_group.id)
+ self.printer_user = self._create_user('printer_user',
+ self.user_group.id)
+
name = 'testing_remote_server'
self.remote = self.env['res.remote'].search([('name', '=', name)])
if not self.remote:
@@ -36,8 +44,18 @@ class TestRemotePrinter(TransactionCase):
'printer_id': self.printer_1.id,
})
+ def _create_user(self, name, group_ids):
+ return self.env['res.users'].with_context(
+ {'no_reset_password': True}).create(
+ {'name': name,
+ 'password': 'demo',
+ 'login': name,
+ 'email': '@'.join([name, '@test.com']),
+ 'groups_id': [(6, 0, [group_ids])]
+ })
+
def test_constrain(self):
- self.env['res.remote.printer'].create({
+ self.env['res.remote.printer'].sudo(self.printer_manager).create({
'remote_id': self.remote.id,
'printer_id': self.printer_1.id,
'is_default': True,
@@ -50,12 +68,48 @@ class TestRemotePrinter(TransactionCase):
})
def test_onchange_printer(self):
- remote_printer = self.env['res.remote.printer'].create({
- 'remote_id': self.remote.id,
- 'printer_id': self.printer_1.id,
- 'printer_tray_id': self.tray_1.id,
- })
+ remote_printer = self.env['res.remote.printer'].sudo(
+ self.printer_manager).create({
+ 'remote_id': self.remote.id,
+ 'printer_id': self.printer_1.id,
+ 'printer_tray_id': self.tray_1.id,
+ })
self.assertTrue(remote_printer.printer_tray_id)
remote_printer.printer_id = self.printer_2
remote_printer._onchange_printing_printer_id()
self.assertFalse(remote_printer.printer_tray_id)
+
+ def test_permissions_delete_manager(self):
+ printer = self.env['res.remote.printer'].sudo(
+ self.printer_manager).create({
+ 'remote_id': self.remote.id,
+ 'printer_id': self.printer_1.id,
+ 'is_default': True,
+ }
+ )
+ printer.sudo(self.printer_manager).unlink()
+ printer = self.env['res.remote.printer'].search([
+ ('remote_id', '=', self.remote.id),
+ ('printer_id', '=', self.printer_1.id)], limit=1)
+ self.assertEquals(printer, self.env['res.remote.printer'])
+
+ def test_permissions_delete_user(self):
+ printer = self.env['res.remote.printer'].sudo(
+ self.printer_manager).create({
+ 'remote_id': self.remote.id,
+ 'printer_id': self.printer_1.id,
+ 'is_default': True,
+ }
+ )
+ with self.assertRaises(AccessError):
+ printer.sudo(self.printer_user).unlink()
+
+ def test_permissions_create_user(self):
+ with self.assertRaises(AccessError):
+ self.env['res.remote.printer'].sudo(
+ self.printer_user).create({
+ 'remote_id': self.remote.id,
+ 'printer_id': self.printer_1.id,
+ 'is_default': True,
+ }
+ )
From 1c0bf9d972b17727cb0a83f361457bcd1c97e900 Mon Sep 17 00:00:00 2001
From: Enric Tobella
Date: Thu, 15 Nov 2018 19:34:44 +0000
Subject: [PATCH 03/21] Added translation using Weblate (Spanish)
---
remote_report_to_printer/i18n/es.po | 129 ++++++++++++++++++++++++++++
1 file changed, 129 insertions(+)
create mode 100644 remote_report_to_printer/i18n/es.po
diff --git a/remote_report_to_printer/i18n/es.po b/remote_report_to_printer/i18n/es.po
new file mode 100644
index 0000000..788245b
--- /dev/null
+++ b/remote_report_to_printer/i18n/es.po
@@ -0,0 +1,129 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * remote_report_to_printer
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2018-11-16 20:19+0000\n"
+"Last-Translator: Enric Tobella \n"
+"Language-Team: none\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.2.2\n"
+
+#. module: remote_report_to_printer
+#: sql_constraint:res.remote.printer:0
+msgid "A Remote cannot have the same printer for the same usage"
+msgstr "El remoto no puede repetir la misma impresora para el mismo uso"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_create_uid
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_create_date
+msgid "Created on"
+msgstr "Creado en"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_display_name
+msgid "Display Name"
+msgstr "Nombre mostrado"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_id
+msgid "ID"
+msgstr "ID"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_is_default
+msgid "Is Default"
+msgstr "Por defecto"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer___last_update
+msgid "Last Modified on"
+msgstr "Última modificación el"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_write_uid
+msgid "Last Updated by"
+msgstr "Última actualización por"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_write_date
+msgid "Last Updated on"
+msgstr "Última actualización el"
+
+#. module: remote_report_to_printer
+#: code:addons/remote_report_to_printer/models/res_remote_printer.py:48
+#, python-format
+msgid "Only one default printer is allowed"
+msgstr "Sólo se permite una impresora por defecto"
+
+#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_printing_action
+msgid "Print Job Action"
+msgstr "Acción de imprimir un trabajo"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_id
+msgid "Printer"
+msgstr "Impresora"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_tray_id
+msgid "Printer Tray"
+msgstr "Bandeja de impresora"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_usage
+msgid "Printer Usage"
+msgstr "Uso de impresora"
+
+#. module: remote_report_to_printer
+#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_form
+msgid "Printers"
+msgstr "Impresoras"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_remote_id
+msgid "Remote"
+msgstr "Remoto"
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_remote_printer_ids
+#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_form
+msgid "Remote Printer"
+msgstr "Impresora de remoto"
+
+#. module: remote_report_to_printer
+#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_tree
+msgid "Remote Printers"
+msgstr "Impresoras de remoto"
+
+#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_res_remote
+msgid "Remotes"
+msgstr "Remotos"
+
+#. module: remote_report_to_printer
+#: selection:res.remote.printer,printer_usage:0
+msgid "Standard"
+msgstr "Estándar"
+
+#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_ir_actions_report
+msgid "ir.actions.report"
+msgstr "ir.actions.report"
+
+#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_res_remote_printer
+msgid "res.remote.printer"
+msgstr "res.remote.printer"
From 12f0886b671daa521f09e8132f7238798e325bfc Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Wed, 3 Apr 2019 03:16:57 +0000
Subject: [PATCH 04/21] [ADD] icon.png
---
.../static/description/icon.png | Bin 0 -> 9455 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 remote_report_to_printer/static/description/icon.png
diff --git a/remote_report_to_printer/static/description/icon.png b/remote_report_to_printer/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
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
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
From ae1cc7eb1d30b0d451457bd2902cd35361426493 Mon Sep 17 00:00:00 2001
From: Jaime Arroyo
Date: Mon, 3 Jun 2019 11:59:01 +0200
Subject: [PATCH 05/21] [12.0][MIG] remote_report_to_printer
---
remote_report_to_printer/README.rst | 72 ++-
remote_report_to_printer/__manifest__.py | 5 +-
.../data/printing_data.xml | 4 +
.../i18n/remote_report_to_printer.pot | 51 +-
.../models/res_remote_printer.py | 1 +
.../readme/CONTRIBUTORS.rst | 1 +
.../readme/DESCRIPTION.rst | 12 +
remote_report_to_printer/readme/USAGE.rst | 1 +
.../static/description/index.html | 437 ++++++++++++++++++
.../tests/test_printer.py | 4 +-
10 files changed, 533 insertions(+), 55 deletions(-)
create mode 100644 remote_report_to_printer/readme/CONTRIBUTORS.rst
create mode 100644 remote_report_to_printer/readme/DESCRIPTION.rst
create mode 100644 remote_report_to_printer/readme/USAGE.rst
create mode 100644 remote_report_to_printer/static/description/index.html
diff --git a/remote_report_to_printer/README.rst b/remote_report_to_printer/README.rst
index 4261fcc..1bd946e 100644
--- a/remote_report_to_printer/README.rst
+++ b/remote_report_to_printer/README.rst
@@ -1,10 +1,29 @@
-.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
- :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
- :alt: License: AGPL-3
+============================
+Report to printer on remotes
+============================
-=================
-Report To Printer
-=================
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freport--print--send-lightgray.png?logo=github
+ :target: https://github.com/OCA/report-print-send/tree/12.0/remote_report_to_printer
+ :alt: OCA/report-print-send
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/report-print-send-12-0/report-print-send-12-0-remote_report_to_printer
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/144/12.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows users to send reports to a printer using remote's configuration.
@@ -19,49 +38,52 @@ It adds an optional behaviour on reports to send it directly to a printer.
Also, this option can be selected as a user default option for printer.
+**Table of contents**
+
+.. contents::
+ :local:
+
Usage
=====
* In *Settings > Remotes* configure the remotes printers by usage
-
-.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
- :alt: Try me on Runbot
- :target: https://runbot.odoo-community.org/runbot/144/11.0
-
-
Bug Tracker
===========
-Bugs are tracked on `GitHub Issues
-`_. In case of trouble, please
-check there if your issue has already been reported. If you spotted it first,
-help us smashing it by providing a detailed and welcomed feedback.
+Bugs are tracked on `GitHub Issues `_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+`feedback `_.
+
+Do not contact contributors directly about support or help with technical issues.
Credits
=======
-Images
-------
+Authors
+~~~~~~~
-* Odoo Community Association: `Icon `_.
+* Creu Blanca
Contributors
-------------
+~~~~~~~~~~~~
* Enric Tobella
-Maintainer
-----------
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
-This module is maintained by the OCA.
-
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-To contribute to this module, please visit https://odoo-community.org.
+This module is part of the `OCA/report-print-send `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/remote_report_to_printer/__manifest__.py b/remote_report_to_printer/__manifest__.py
index 199b330..39a8836 100644
--- a/remote_report_to_printer/__manifest__.py
+++ b/remote_report_to_printer/__manifest__.py
@@ -3,10 +3,10 @@
{
'name': "Report to printer on remotes",
- 'version': '11.0.2.1.1',
+ 'version': '12.0.2.1.1',
'category': 'Generic Modules/Base',
'author': "Creu Blanca, Odoo Community Association (OCA)",
- 'website': 'http://www.agilebg.com',
+ 'website': 'http://www.github.com/OCA/report-print-send',
'license': 'AGPL-3',
"depends": ['base_remote', 'base_report_to_printer'],
'data': [
@@ -16,5 +16,4 @@
'views/res_remote_printer_views.xml',
],
'installable': True,
- 'application': True,
}
diff --git a/remote_report_to_printer/data/printing_data.xml b/remote_report_to_printer/data/printing_data.xml
index b6c54b5..9bf8c12 100644
--- a/remote_report_to_printer/data/printing_data.xml
+++ b/remote_report_to_printer/data/printing_data.xml
@@ -6,4 +6,8 @@
remote_default
+
+ Use User Defaults
+ user_default
+
diff --git a/remote_report_to_printer/i18n/remote_report_to_printer.pot b/remote_report_to_printer/i18n/remote_report_to_printer.pot
index c6a6d9c..3a1b8f4 100644
--- a/remote_report_to_printer/i18n/remote_report_to_printer.pot
+++ b/remote_report_to_printer/i18n/remote_report_to_printer.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 11.0\n"
+"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
@@ -19,47 +19,47 @@ msgid "A Remote cannot have the same printer for the same usage"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_create_uid
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__create_uid
msgid "Created by"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_create_date
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__create_date
msgid "Created on"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_display_name
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__display_name
msgid "Display Name"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__id
msgid "ID"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_is_default
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__is_default
msgid "Is Default"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer___last_update
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer____last_update
msgid "Last Modified on"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_write_uid
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__write_uid
msgid "Last Updated by"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_write_date
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__write_date
msgid "Last Updated on"
msgstr ""
#. module: remote_report_to_printer
-#: code:addons/remote_report_to_printer/models/res_remote_printer.py:48
+#: code:addons/remote_report_to_printer/models/res_remote_printer.py:49
#, python-format
msgid "Only one default printer is allowed"
msgstr ""
@@ -70,38 +70,39 @@ msgid "Print Job Action"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__printer_id
msgid "Printer"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_tray_id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__printer_tray_id
msgid "Printer Tray"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_usage
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__printer_usage
msgid "Printer Usage"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_form
+#: model_terms:ir.ui.view,arch_db:remote_report_to_printer.res_remote_form
msgid "Printers"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_remote_id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__remote_id
msgid "Remote"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_remote_printer_ids
-#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_form
+#: model:ir.model,name:remote_report_to_printer.model_res_remote_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote__remote_printer_ids
+#: model_terms:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_form
msgid "Remote Printer"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_tree
+#: model_terms:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_tree
msgid "Remote Printers"
msgstr ""
@@ -110,18 +111,18 @@ msgstr ""
msgid "Remotes"
msgstr ""
+#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_ir_actions_report
+msgid "Report Action"
+msgstr ""
+
#. module: remote_report_to_printer
#: selection:res.remote.printer,printer_usage:0
msgid "Standard"
msgstr ""
#. module: remote_report_to_printer
-#: model:ir.model,name:remote_report_to_printer.model_ir_actions_report
-msgid "ir.actions.report"
-msgstr ""
-
-#. module: remote_report_to_printer
-#: model:ir.model,name:remote_report_to_printer.model_res_remote_printer
-msgid "res.remote.printer"
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action__action_type
+msgid "Type"
msgstr ""
diff --git a/remote_report_to_printer/models/res_remote_printer.py b/remote_report_to_printer/models/res_remote_printer.py
index 50faaaf..5f86d7b 100644
--- a/remote_report_to_printer/models/res_remote_printer.py
+++ b/remote_report_to_printer/models/res_remote_printer.py
@@ -6,6 +6,7 @@ from odoo.exceptions import ValidationError
class ResRemotePrinter(models.Model):
_name = 'res.remote.printer'
+ _description = 'Remote Printer'
remote_id = fields.Many2one(
'res.remote',
diff --git a/remote_report_to_printer/readme/CONTRIBUTORS.rst b/remote_report_to_printer/readme/CONTRIBUTORS.rst
new file mode 100644
index 0000000..93ec993
--- /dev/null
+++ b/remote_report_to_printer/readme/CONTRIBUTORS.rst
@@ -0,0 +1 @@
+* Enric Tobella
diff --git a/remote_report_to_printer/readme/DESCRIPTION.rst b/remote_report_to_printer/readme/DESCRIPTION.rst
new file mode 100644
index 0000000..3aa0c75
--- /dev/null
+++ b/remote_report_to_printer/readme/DESCRIPTION.rst
@@ -0,0 +1,12 @@
+This module allows users to send reports to a printer using remote's configuration.
+
+A *remote* is an external entity that access odoo. For example, computers, mobiles,
+servers... We will identify *remotes* by its name or ip. On some environments,
+we want to configure the printers by remote, because users may change their
+work place.
+
+It adds an optional behaviour on reports to send it directly to a printer.
+
+* `Use remote's configuration` use the remote's behaviour
+
+Also, this option can be selected as a user default option for printer.
diff --git a/remote_report_to_printer/readme/USAGE.rst b/remote_report_to_printer/readme/USAGE.rst
new file mode 100644
index 0000000..b923702
--- /dev/null
+++ b/remote_report_to_printer/readme/USAGE.rst
@@ -0,0 +1 @@
+ * In *Settings > Remotes* configure the remotes printers by usage
diff --git a/remote_report_to_printer/static/description/index.html b/remote_report_to_printer/static/description/index.html
new file mode 100644
index 0000000..d7b56ea
--- /dev/null
+++ b/remote_report_to_printer/static/description/index.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+Report to printer on remotes
+
+
+
+
+
Report to printer on remotes
+
+
+

+
This module allows users to send reports to a printer using remote’s configuration.
+
A remote is an external entity that access odoo. For example, computers, mobiles,
+servers… We will identify remotes by its name or ip. On some environments,
+we want to configure the printers by remote, because users may change their
+work place.
+
It adds an optional behaviour on reports to send it directly to a printer.
+
+- Use remote’s configuration use the remote’s behaviour
+
+
Also, this option can be selected as a user default option for printer.
+
Table of contents
+
+
+
+
+
+- In Settings > Remotes configure the remotes printers by usage
+
+
+
+
+
+
Bugs are tracked on GitHub Issues.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
+
+
+
+
+
+
+
+
This module is maintained by the OCA.
+

+
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
This module is part of the OCA/report-print-send project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/remote_report_to_printer/tests/test_printer.py b/remote_report_to_printer/tests/test_printer.py
index cfee617..27677b2 100644
--- a/remote_report_to_printer/tests/test_printer.py
+++ b/remote_report_to_printer/tests/test_printer.py
@@ -66,7 +66,7 @@ class TestRemotePrinter(TransactionCase):
report = self.Model.search([], limit=1)
self.env.user.printing_action = 'remote_default'
report.property_printing_action_id = self.browse_ref(
- 'base_report_to_printer.printing_action_3'
+ 'remote_report_to_printer.printing_action_3'
)
with patch(
'odoo.addons.base_remote.models.base.Base.remote', new=self.remote
@@ -96,7 +96,7 @@ class TestRemotePrinter(TransactionCase):
report = self.Model.search([], limit=1)
self.env.user.printing_action = 'remote_default'
report.property_printing_action_id = self.browse_ref(
- 'base_report_to_printer.printing_action_3'
+ 'remote_report_to_printer.printing_action_3'
)
with patch(
'odoo.addons.base_remote.models.base.Base.remote',
From d9b68f2e77cda4cb1533f947599efca4675e1041 Mon Sep 17 00:00:00 2001
From: Olga Marco
Date: Thu, 17 Jun 2021 16:57:44 +0200
Subject: [PATCH 06/21] [IMP] remote_report_to_printer: black, isort, prettier
---
remote_report_to_printer/__manifest__.py | 26 +--
.../data/printing_data.xml | 8 +-
.../models/ir_actions_report.py | 6 +-
.../models/printing_action.py | 8 +-
remote_report_to_printer/models/res_remote.py | 17 +-
.../models/res_remote_printer.py | 42 ++---
.../tests/test_printer.py | 123 ++++++------
.../tests/test_remote_printer.py | 175 ++++++++++--------
.../views/res_remote_printer_views.xml | 20 +-
.../views/res_remote_views.xml | 4 +-
10 files changed, 207 insertions(+), 222 deletions(-)
diff --git a/remote_report_to_printer/__manifest__.py b/remote_report_to_printer/__manifest__.py
index 39a8836..32617a1 100644
--- a/remote_report_to_printer/__manifest__.py
+++ b/remote_report_to_printer/__manifest__.py
@@ -2,18 +2,18 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
- 'name': "Report to printer on remotes",
- 'version': '12.0.2.1.1',
- 'category': 'Generic Modules/Base',
- 'author': "Creu Blanca, Odoo Community Association (OCA)",
- 'website': 'http://www.github.com/OCA/report-print-send',
- 'license': 'AGPL-3',
- "depends": ['base_remote', 'base_report_to_printer'],
- 'data': [
- 'data/printing_data.xml',
- 'security/ir.model.access.csv',
- 'views/res_remote_views.xml',
- 'views/res_remote_printer_views.xml',
+ "name": "Report to printer on remotes",
+ "version": "13.0.1.0.0",
+ "category": "Generic Modules/Base",
+ "author": "Creu Blanca, Odoo Community Association (OCA)",
+ "website": "http://www.github.com/OCA/report-print-send",
+ "license": "AGPL-3",
+ "depends": ["base_remote", "base_report_to_printer"],
+ "data": [
+ "data/printing_data.xml",
+ "security/ir.model.access.csv",
+ "views/res_remote_views.xml",
+ "views/res_remote_printer_views.xml",
],
- 'installable': True,
+ "installable": True,
}
diff --git a/remote_report_to_printer/data/printing_data.xml b/remote_report_to_printer/data/printing_data.xml
index 9bf8c12..ea75807 100644
--- a/remote_report_to_printer/data/printing_data.xml
+++ b/remote_report_to_printer/data/printing_data.xml
@@ -1,13 +1,11 @@
-
+
-
Use Remote Defaults
remote_default
-
- Use User Defaults
- user_default
+ Use User Defaults
+ user_default
diff --git a/remote_report_to_printer/models/ir_actions_report.py b/remote_report_to_printer/models/ir_actions_report.py
index 417d86e..797eb18 100644
--- a/remote_report_to_printer/models/ir_actions_report.py
+++ b/remote_report_to_printer/models/ir_actions_report.py
@@ -5,18 +5,18 @@ from odoo import api, models
class IrActionsReport(models.Model):
- _inherit = 'ir.actions.report'
+ _inherit = "ir.actions.report"
@api.multi
def _get_user_default_print_behaviour(self):
res = super()._get_user_default_print_behaviour()
- if res.get('action', 'unknown') == 'remote_default':
+ if res.get("action", "unknown") == "remote_default":
res.update(self.remote.get_printer_behaviour())
return res
@api.multi
def _get_report_default_print_behaviour(self):
res = super()._get_report_default_print_behaviour()
- if res.get('action', 'unknown') == 'remote_default':
+ if res.get("action", "unknown") == "remote_default":
res.update(self.remote.get_printer_behaviour())
return res
diff --git a/remote_report_to_printer/models/printing_action.py b/remote_report_to_printer/models/printing_action.py
index c6f4618..8e10e1c 100644
--- a/remote_report_to_printer/models/printing_action.py
+++ b/remote_report_to_printer/models/printing_action.py
@@ -5,14 +5,12 @@ from odoo import api, fields, models
class PrintingAction(models.Model):
- _inherit = 'printing.action'
+ _inherit = "printing.action"
@api.model
def _available_action_types(self):
res = super()._available_action_types()
- res.append(('remote_default', "Use remote's default"))
+ res.append(("remote_default", "Use remote's default"))
return res
- action_type = fields.Selection(
- selection=_available_action_types,
- )
+ action_type = fields.Selection(selection=_available_action_types,)
diff --git a/remote_report_to_printer/models/res_remote.py b/remote_report_to_printer/models/res_remote.py
index 4a961f3..69b9ce6 100644
--- a/remote_report_to_printer/models/res_remote.py
+++ b/remote_report_to_printer/models/res_remote.py
@@ -4,25 +4,24 @@ from odoo import api, fields, models
class ResRemote(models.Model):
- _inherit = 'res.remote'
+ _inherit = "res.remote"
remote_printer_ids = fields.One2many(
- 'res.remote.printer',
- inverse_name='remote_id',
+ "res.remote.printer", inverse_name="remote_id",
)
@api.multi
def get_printer_behaviour(self):
self.ensure_one()
- printer_usage = self.env.context.get('printer_usage', 'standard')
+ printer_usage = self.env.context.get("printer_usage", "standard")
printers = self.remote.remote_printer_ids.filtered(
lambda r: r.printer_usage == printer_usage
- ).sorted(key='is_default', reverse=True)
+ ).sorted(key="is_default", reverse=True)
if printers:
printer = printers[0]
return {
- 'action': 'server',
- 'printer': printer.printer_id,
- 'tray': printer.printer_tray_id.system_name
+ "action": "server",
+ "printer": printer.printer_id,
+ "tray": printer.printer_tray_id.system_name,
}
- return {'action': 'client'}
+ return {"action": "client"}
diff --git a/remote_report_to_printer/models/res_remote_printer.py b/remote_report_to_printer/models/res_remote_printer.py
index 5f86d7b..197e632 100644
--- a/remote_report_to_printer/models/res_remote_printer.py
+++ b/remote_report_to_printer/models/res_remote_printer.py
@@ -1,49 +1,41 @@
# Copyright (c) 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-from odoo import api, fields, models, _
+from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class ResRemotePrinter(models.Model):
- _name = 'res.remote.printer'
- _description = 'Remote Printer'
+ _name = "res.remote.printer"
+ _description = "Remote Printer"
- remote_id = fields.Many2one(
- 'res.remote',
- ondelete='cascade',
- readonly=True,
- )
- printer_id = fields.Many2one(
- 'printing.printer',
- ondelete='cascade',
- )
+ remote_id = fields.Many2one("res.remote", ondelete="cascade", readonly=True,)
+ printer_id = fields.Many2one("printing.printer", ondelete="cascade",)
printer_tray_id = fields.Many2one(
- 'printing.tray',
- ondelete='cascade',
- domain="[('printer_id', '=', printer_id)]",
+ "printing.tray", ondelete="cascade", domain="[('printer_id', '=', printer_id)]",
)
is_default = fields.Boolean(default=False)
- printer_usage = fields.Selection([
- ('standard', 'Standard')
- ], default='standard')
+ printer_usage = fields.Selection([("standard", "Standard")], default="standard")
_sql_constraints = [
- ('unique_printer_remote_usage',
- 'unique(remote_id,printer_id,printer_usage)',
- 'A Remote cannot have the same printer for the same usage')
+ (
+ "unique_printer_remote_usage",
+ "unique(remote_id,printer_id,printer_usage)",
+ "A Remote cannot have the same printer for the same usage",
+ )
]
- @api.onchange('printer_id')
+ @api.onchange("printer_id")
def _onchange_printing_printer_id(self):
""" Reset the tray when the printer is changed """
self.printer_tray_id = False
@api.multi
- @api.constrains('remote_id', 'printer_usage', 'is_default')
+ @api.constrains("remote_id", "printer_usage", "is_default")
def _check_remote_usage(self):
for rec in self.filtered(lambda r: r.is_default):
if rec.remote_id.remote_printer_ids.filtered(
- lambda r: r != rec and r.is_default
+ lambda r: r != rec
+ and r.is_default
and r.printer_usage == rec.printer_usage
):
- raise ValidationError(_('Only one default printer is allowed'))
+ raise ValidationError(_("Only one default printer is allowed"))
diff --git a/remote_report_to_printer/tests/test_printer.py b/remote_report_to_printer/tests/test_printer.py
index 27677b2..5aacda2 100644
--- a/remote_report_to_printer/tests/test_printer.py
+++ b/remote_report_to_printer/tests/test_printer.py
@@ -1,106 +1,89 @@
# Copyright (c) 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-from odoo.tests.common import TransactionCase
from mock import patch
+from odoo.tests.common import TransactionCase
+
class TestRemotePrinter(TransactionCase):
-
def setUp(self):
super().setUp()
- name = 'testing_remote_server'
- self.remote = self.env['res.remote'].search([('name', '=', name)])
+ name = "testing_remote_server"
+ self.remote = self.env["res.remote"].search([("name", "=", name)])
if not self.remote:
- self.remote = self.env['res.remote'].create({
- 'name': name,
- 'ip': '127.0.0.1',
- })
- self.server = self.env['printing.server'].create({
- 'name': 'Server',
- 'address': 'localhost',
- 'port': 631,
- })
- self.printer_1 = self.env['printing.printer'].create({
- 'name': 'Printer 1',
- 'system_name': 'P1',
- 'server_id': self.server.id,
- })
- self.remote_printer = self.env['res.remote.printer'].create({
- 'remote_id': self.remote.id,
- 'printer_id': self.printer_1.id,
- 'is_default': True,
- })
- self.Model = self.env['ir.actions.report']
- self.report = self.env['ir.actions.report'].search([], limit=1)
+ self.remote = self.env["res.remote"].create(
+ {"name": name, "ip": "127.0.0.1"}
+ )
+ self.server = self.env["printing.server"].create(
+ {"name": "Server", "address": "localhost", "port": 631}
+ )
+ self.printer_1 = self.env["printing.printer"].create(
+ {"name": "Printer 1", "system_name": "P1", "server_id": self.server.id}
+ )
+ self.remote_printer = self.env["res.remote.printer"].create(
+ {
+ "remote_id": self.remote.id,
+ "printer_id": self.printer_1.id,
+ "is_default": True,
+ }
+ )
+ self.Model = self.env["ir.actions.report"]
+ self.report = self.env["ir.actions.report"].search([], limit=1)
def test_behaviour_user_remote_values(self):
report = self.Model.search([], limit=1)
- self.env.user.printing_action = 'remote_default'
- with patch(
- 'odoo.addons.base_remote.models.base.Base.remote', new=self.remote
- ):
+ self.env.user.printing_action = "remote_default"
+ with patch("odoo.addons.base_remote.models.base.Base.remote", new=self.remote):
behaviour = report.behaviour()
- self.assertEqual(behaviour, {
- 'action': 'client',
- 'printer': self.printer_1,
- 'tray': False,
- })
+ self.assertEqual(
+ behaviour, {"action": "client", "printer": self.printer_1, "tray": False}
+ )
def test_behaviour_report_values(self):
report = self.Model.search([], limit=1)
- self.env.user.printing_action = 'client'
+ self.env.user.printing_action = "client"
report.property_printing_action_id = self.browse_ref(
- 'remote_report_to_printer.printing_action_remote'
+ "remote_report_to_printer.printing_action_remote"
)
- with patch(
- 'odoo.addons.base_remote.models.base.Base.remote', new=self.remote
- ):
+ with patch("odoo.addons.base_remote.models.base.Base.remote", new=self.remote):
behaviour = report.behaviour()
- self.assertDictEqual(behaviour, {
- 'action': 'server',
- 'printer': self.printer_1,
- 'tray': False,
- })
+ self.assertDictEqual(
+ behaviour, {"action": "server", "printer": self.printer_1, "tray": False}
+ )
def test_behaviour_user_action(self):
report = self.Model.search([], limit=1)
- self.env.user.printing_action = 'remote_default'
+ self.env.user.printing_action = "remote_default"
report.property_printing_action_id = self.browse_ref(
- 'remote_report_to_printer.printing_action_3'
+ "remote_report_to_printer.printing_action_3"
)
- with patch(
- 'odoo.addons.base_remote.models.base.Base.remote', new=self.remote
- ):
+ with patch("odoo.addons.base_remote.models.base.Base.remote", new=self.remote):
behaviour = report.behaviour()
- self.assertEqual(behaviour, {
- 'action': 'server',
- 'printer': self.printer_1,
- 'tray': False,
- })
+ self.assertEqual(
+ behaviour, {"action": "server", "printer": self.printer_1, "tray": False}
+ )
def test_behaviour_default_action(self):
report = self.Model.search([], limit=1)
- self.env.user.printing_action = 'client'
- with patch(
- 'odoo.addons.base_remote.models.base.Base.remote', new=self.remote
- ):
+ self.env.user.printing_action = "client"
+ with patch("odoo.addons.base_remote.models.base.Base.remote", new=self.remote):
behaviour = report.behaviour()
- self.assertEqual(behaviour, {
- 'action': 'client',
- 'printer': self.env['printing.printer'],
- 'tray': False,
- })
+ self.assertEqual(
+ behaviour,
+ {
+ "action": "client",
+ "printer": self.env["printing.printer"],
+ "tray": False,
+ },
+ )
def test_behaviour_no_printers(self):
self.remote_printer.unlink()
report = self.Model.search([], limit=1)
- self.env.user.printing_action = 'remote_default'
+ self.env.user.printing_action = "remote_default"
report.property_printing_action_id = self.browse_ref(
- 'remote_report_to_printer.printing_action_3'
+ "remote_report_to_printer.printing_action_3"
)
- with patch(
- 'odoo.addons.base_remote.models.base.Base.remote',
- new=self.remote
- ):
+ with patch("odoo.addons.base_remote.models.base.Base.remote", new=self.remote):
behaviour = report.behaviour()
- self.assertEqual(behaviour['action'], 'client')
+ self.assertEqual(behaviour["action"], "client")
diff --git a/remote_report_to_printer/tests/test_remote_printer.py b/remote_report_to_printer/tests/test_remote_printer.py
index a76a857..6d3431e 100644
--- a/remote_report_to_printer/tests/test_remote_printer.py
+++ b/remote_report_to_printer/tests/test_remote_printer.py
@@ -1,115 +1,130 @@
# Copyright (c) 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
+from odoo.exceptions import AccessError, ValidationError
from odoo.tests.common import TransactionCase
-from odoo.exceptions import ValidationError
-from odoo.exceptions import AccessError
class TestRemotePrinter(TransactionCase):
-
def setUp(self):
super().setUp()
- self.system_user_group = self.env.ref('base.group_system')
- self.user_group = self.env.ref('base.group_user')
- self.printer_manager = self._create_user('printer_manager',
- self.system_user_group.id)
- self.printer_user = self._create_user('printer_user',
- self.user_group.id)
+ self.system_user_group = self.env.ref("base.group_system")
+ self.user_group = self.env.ref("base.group_user")
+ self.printer_manager = self._create_user(
+ "printer_manager", self.system_user_group.id
+ )
+ self.printer_user = self._create_user("printer_user", self.user_group.id)
- name = 'testing_remote_server'
- self.remote = self.env['res.remote'].search([('name', '=', name)])
+ name = "testing_remote_server"
+ self.remote = self.env["res.remote"].search([("name", "=", name)])
if not self.remote:
- self.remote = self.env['res.remote'].create({
- 'name': name,
- 'ip': '127.0.0.1',
- })
- self.server = self.env['printing.server'].create({
- 'name': 'Server',
- 'address': 'localhost',
- 'port': 631,
- })
- self.printer_1 = self.env['printing.printer'].create({
- 'name': 'Printer 1',
- 'system_name': 'P1',
- 'server_id': self.server.id,
- })
- self.printer_2 = self.env['printing.printer'].create({
- 'name': 'Printer 2',
- 'system_name': 'P2',
- 'server_id': self.server.id,
- })
- self.tray_1 = self.env['printing.tray'].create({
- 'name': 'Tray',
- 'system_name': 'P2',
- 'printer_id': self.printer_1.id,
- })
+ self.remote = self.env["res.remote"].create(
+ {"name": name, "ip": "127.0.0.1"}
+ )
+ self.server = self.env["printing.server"].create(
+ {"name": "Server", "address": "localhost", "port": 631}
+ )
+ self.printer_1 = self.env["printing.printer"].create(
+ {"name": "Printer 1", "system_name": "P1", "server_id": self.server.id}
+ )
+ self.printer_2 = self.env["printing.printer"].create(
+ {"name": "Printer 2", "system_name": "P2", "server_id": self.server.id}
+ )
+ self.tray_1 = self.env["printing.tray"].create(
+ {"name": "Tray", "system_name": "P2", "printer_id": self.printer_1.id}
+ )
def _create_user(self, name, group_ids):
- return self.env['res.users'].with_context(
- {'no_reset_password': True}).create(
- {'name': name,
- 'password': 'demo',
- 'login': name,
- 'email': '@'.join([name, '@test.com']),
- 'groups_id': [(6, 0, [group_ids])]
- })
+ return (
+ self.env["res.users"]
+ .with_context({"no_reset_password": True})
+ .create(
+ {
+ "name": name,
+ "password": "demo",
+ "login": name,
+ "email": "@".join([name, "@test.com"]),
+ "groups_id": [(6, 0, [group_ids])],
+ }
+ )
+ )
def test_constrain(self):
- self.env['res.remote.printer'].sudo(self.printer_manager).create({
- 'remote_id': self.remote.id,
- 'printer_id': self.printer_1.id,
- 'is_default': True,
- })
+ self.env["res.remote.printer"].sudo(self.printer_manager).create(
+ {
+ "remote_id": self.remote.id,
+ "printer_id": self.printer_1.id,
+ "is_default": True,
+ }
+ )
with self.assertRaises(ValidationError):
- self.env['res.remote.printer'].create({
- 'remote_id': self.remote.id,
- 'printer_id': self.printer_2.id,
- 'is_default': True,
- })
+ self.env["res.remote.printer"].create(
+ {
+ "remote_id": self.remote.id,
+ "printer_id": self.printer_2.id,
+ "is_default": True,
+ }
+ )
def test_onchange_printer(self):
- remote_printer = self.env['res.remote.printer'].sudo(
- self.printer_manager).create({
- 'remote_id': self.remote.id,
- 'printer_id': self.printer_1.id,
- 'printer_tray_id': self.tray_1.id,
- })
+ remote_printer = (
+ self.env["res.remote.printer"]
+ .sudo(self.printer_manager)
+ .create(
+ {
+ "remote_id": self.remote.id,
+ "printer_id": self.printer_1.id,
+ "printer_tray_id": self.tray_1.id,
+ }
+ )
+ )
self.assertTrue(remote_printer.printer_tray_id)
remote_printer.printer_id = self.printer_2
remote_printer._onchange_printing_printer_id()
self.assertFalse(remote_printer.printer_tray_id)
def test_permissions_delete_manager(self):
- printer = self.env['res.remote.printer'].sudo(
- self.printer_manager).create({
- 'remote_id': self.remote.id,
- 'printer_id': self.printer_1.id,
- 'is_default': True,
- }
+ printer = (
+ self.env["res.remote.printer"]
+ .sudo(self.printer_manager)
+ .create(
+ {
+ "remote_id": self.remote.id,
+ "printer_id": self.printer_1.id,
+ "is_default": True,
+ }
+ )
)
printer.sudo(self.printer_manager).unlink()
- printer = self.env['res.remote.printer'].search([
- ('remote_id', '=', self.remote.id),
- ('printer_id', '=', self.printer_1.id)], limit=1)
- self.assertEquals(printer, self.env['res.remote.printer'])
+ printer = self.env["res.remote.printer"].search(
+ [
+ ("remote_id", "=", self.remote.id),
+ ("printer_id", "=", self.printer_1.id),
+ ],
+ limit=1,
+ )
+ self.assertEquals(printer, self.env["res.remote.printer"])
def test_permissions_delete_user(self):
- printer = self.env['res.remote.printer'].sudo(
- self.printer_manager).create({
- 'remote_id': self.remote.id,
- 'printer_id': self.printer_1.id,
- 'is_default': True,
- }
+ printer = (
+ self.env["res.remote.printer"]
+ .sudo(self.printer_manager)
+ .create(
+ {
+ "remote_id": self.remote.id,
+ "printer_id": self.printer_1.id,
+ "is_default": True,
+ }
+ )
)
with self.assertRaises(AccessError):
printer.sudo(self.printer_user).unlink()
def test_permissions_create_user(self):
with self.assertRaises(AccessError):
- self.env['res.remote.printer'].sudo(
- self.printer_user).create({
- 'remote_id': self.remote.id,
- 'printer_id': self.printer_1.id,
- 'is_default': True,
+ self.env["res.remote.printer"].sudo(self.printer_user).create(
+ {
+ "remote_id": self.remote.id,
+ "printer_id": self.printer_1.id,
+ "is_default": True,
}
)
diff --git a/remote_report_to_printer/views/res_remote_printer_views.xml b/remote_report_to_printer/views/res_remote_printer_views.xml
index d745918..5de4d73 100644
--- a/remote_report_to_printer/views/res_remote_printer_views.xml
+++ b/remote_report_to_printer/views/res_remote_printer_views.xml
@@ -7,11 +7,11 @@
@@ -22,11 +22,11 @@
res.remote.printer
-
-
-
-
-
+
+
+
+
+
diff --git a/remote_report_to_printer/views/res_remote_views.xml b/remote_report_to_printer/views/res_remote_views.xml
index 6023035..f327c37 100644
--- a/remote_report_to_printer/views/res_remote_views.xml
+++ b/remote_report_to_printer/views/res_remote_views.xml
@@ -3,11 +3,11 @@
res.remote.form
res.remote
-
+
-
+
From 85da69aa057c5a3ddc24667fdaa22a84085ada83 Mon Sep 17 00:00:00 2001
From: Olga Marco
Date: Thu, 17 Jun 2021 17:33:14 +0200
Subject: [PATCH 07/21] [MIG] remote_report_to_printer: Migration to 13.0
---
remote_report_to_printer/README.rst | 10 +++++-----
.../i18n/remote_report_to_printer.pot | 13 ++++++-------
.../models/ir_actions_report.py | 4 +---
remote_report_to_printer/models/res_remote.py | 3 +--
.../models/res_remote_printer.py | 1 -
.../static/description/index.html | 6 +++---
remote_report_to_printer/tests/test_printer.py | 2 +-
.../tests/test_remote_printer.py | 16 ++++++++--------
8 files changed, 25 insertions(+), 30 deletions(-)
diff --git a/remote_report_to_printer/README.rst b/remote_report_to_printer/README.rst
index 1bd946e..fc8b5d1 100644
--- a/remote_report_to_printer/README.rst
+++ b/remote_report_to_printer/README.rst
@@ -14,13 +14,13 @@ Report to printer on remotes
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freport--print--send-lightgray.png?logo=github
- :target: https://github.com/OCA/report-print-send/tree/12.0/remote_report_to_printer
+ :target: https://github.com/OCA/report-print-send/tree/13.0/remote_report_to_printer
:alt: OCA/report-print-send
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/report-print-send-12-0/report-print-send-12-0-remote_report_to_printer
+ :target: https://translation.odoo-community.org/projects/report-print-send-13-0/report-print-send-13-0-remote_report_to_printer
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/144/12.0
+ :target: https://runbot.odoo-community.org/runbot/144/13.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -54,7 +54,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -84,6 +84,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/report-print-send `_ project on GitHub.
+This module is part of the `OCA/report-print-send `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/remote_report_to_printer/i18n/remote_report_to_printer.pot b/remote_report_to_printer/i18n/remote_report_to_printer.pot
index 3a1b8f4..68c77f8 100644
--- a/remote_report_to_printer/i18n/remote_report_to_printer.pot
+++ b/remote_report_to_printer/i18n/remote_report_to_printer.pot
@@ -1,12 +1,12 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
-# * remote_report_to_printer
+# * remote_report_to_printer
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: <>\n"
+"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -14,7 +14,7 @@ msgstr ""
"Plural-Forms: \n"
#. module: remote_report_to_printer
-#: sql_constraint:res.remote.printer:0
+#: model:ir.model.constraint,message:remote_report_to_printer.constraint_res_remote_printer_unique_printer_remote_usage
msgid "A Remote cannot have the same printer for the same usage"
msgstr ""
@@ -59,7 +59,7 @@ msgid "Last Updated on"
msgstr ""
#. module: remote_report_to_printer
-#: code:addons/remote_report_to_printer/models/res_remote_printer.py:49
+#: code:addons/remote_report_to_printer/models/res_remote_printer.py:0
#, python-format
msgid "Only one default printer is allowed"
msgstr ""
@@ -117,7 +117,7 @@ msgid "Report Action"
msgstr ""
#. module: remote_report_to_printer
-#: selection:res.remote.printer,printer_usage:0
+#: model:ir.model.fields.selection,name:remote_report_to_printer.selection__res_remote_printer__printer_usage__standard
msgid "Standard"
msgstr ""
@@ -125,4 +125,3 @@ msgstr ""
#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action__action_type
msgid "Type"
msgstr ""
-
diff --git a/remote_report_to_printer/models/ir_actions_report.py b/remote_report_to_printer/models/ir_actions_report.py
index 797eb18..4e26a29 100644
--- a/remote_report_to_printer/models/ir_actions_report.py
+++ b/remote_report_to_printer/models/ir_actions_report.py
@@ -1,20 +1,18 @@
# Copyright (c) 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-from odoo import api, models
+from odoo import models
class IrActionsReport(models.Model):
_inherit = "ir.actions.report"
- @api.multi
def _get_user_default_print_behaviour(self):
res = super()._get_user_default_print_behaviour()
if res.get("action", "unknown") == "remote_default":
res.update(self.remote.get_printer_behaviour())
return res
- @api.multi
def _get_report_default_print_behaviour(self):
res = super()._get_report_default_print_behaviour()
if res.get("action", "unknown") == "remote_default":
diff --git a/remote_report_to_printer/models/res_remote.py b/remote_report_to_printer/models/res_remote.py
index 69b9ce6..8fb8cc4 100644
--- a/remote_report_to_printer/models/res_remote.py
+++ b/remote_report_to_printer/models/res_remote.py
@@ -1,6 +1,6 @@
# Copyright (c) 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-from odoo import api, fields, models
+from odoo import fields, models
class ResRemote(models.Model):
@@ -10,7 +10,6 @@ class ResRemote(models.Model):
"res.remote.printer", inverse_name="remote_id",
)
- @api.multi
def get_printer_behaviour(self):
self.ensure_one()
printer_usage = self.env.context.get("printer_usage", "standard")
diff --git a/remote_report_to_printer/models/res_remote_printer.py b/remote_report_to_printer/models/res_remote_printer.py
index 197e632..0e3f02c 100644
--- a/remote_report_to_printer/models/res_remote_printer.py
+++ b/remote_report_to_printer/models/res_remote_printer.py
@@ -29,7 +29,6 @@ class ResRemotePrinter(models.Model):
""" Reset the tray when the printer is changed """
self.printer_tray_id = False
- @api.multi
@api.constrains("remote_id", "printer_usage", "is_default")
def _check_remote_usage(self):
for rec in self.filtered(lambda r: r.is_default):
diff --git a/remote_report_to_printer/static/description/index.html b/remote_report_to_printer/static/description/index.html
index d7b56ea..ba291da 100644
--- a/remote_report_to_printer/static/description/index.html
+++ b/remote_report_to_printer/static/description/index.html
@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

This module allows users to send reports to a printer using remote’s configuration.
A remote is an external entity that access odoo. For example, computers, mobiles,
servers… We will identify remotes by its name or ip. On some environments,
@@ -404,7 +404,7 @@ work place.
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -428,7 +428,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/report-print-send project on GitHub.
+
This module is part of the OCA/report-print-send project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/remote_report_to_printer/tests/test_printer.py b/remote_report_to_printer/tests/test_printer.py
index 5aacda2..9d92d6d 100644
--- a/remote_report_to_printer/tests/test_printer.py
+++ b/remote_report_to_printer/tests/test_printer.py
@@ -12,7 +12,7 @@ class TestRemotePrinter(TransactionCase):
self.remote = self.env["res.remote"].search([("name", "=", name)])
if not self.remote:
self.remote = self.env["res.remote"].create(
- {"name": name, "ip": "127.0.0.1"}
+ {"name": name, "ip": "127.0.0.1", "in_network": True}
)
self.server = self.env["printing.server"].create(
{"name": "Server", "address": "localhost", "port": 631}
diff --git a/remote_report_to_printer/tests/test_remote_printer.py b/remote_report_to_printer/tests/test_remote_printer.py
index 6d3431e..636bd9d 100644
--- a/remote_report_to_printer/tests/test_remote_printer.py
+++ b/remote_report_to_printer/tests/test_remote_printer.py
@@ -18,7 +18,7 @@ class TestRemotePrinter(TransactionCase):
self.remote = self.env["res.remote"].search([("name", "=", name)])
if not self.remote:
self.remote = self.env["res.remote"].create(
- {"name": name, "ip": "127.0.0.1"}
+ {"name": name, "ip": "127.0.0.1", "in_network": True}
)
self.server = self.env["printing.server"].create(
{"name": "Server", "address": "localhost", "port": 631}
@@ -49,7 +49,7 @@ class TestRemotePrinter(TransactionCase):
)
def test_constrain(self):
- self.env["res.remote.printer"].sudo(self.printer_manager).create(
+ self.env["res.remote.printer"].with_user(self.printer_manager).create(
{
"remote_id": self.remote.id,
"printer_id": self.printer_1.id,
@@ -68,7 +68,7 @@ class TestRemotePrinter(TransactionCase):
def test_onchange_printer(self):
remote_printer = (
self.env["res.remote.printer"]
- .sudo(self.printer_manager)
+ .with_user(self.printer_manager)
.create(
{
"remote_id": self.remote.id,
@@ -85,7 +85,7 @@ class TestRemotePrinter(TransactionCase):
def test_permissions_delete_manager(self):
printer = (
self.env["res.remote.printer"]
- .sudo(self.printer_manager)
+ .with_user(self.printer_manager)
.create(
{
"remote_id": self.remote.id,
@@ -94,7 +94,7 @@ class TestRemotePrinter(TransactionCase):
}
)
)
- printer.sudo(self.printer_manager).unlink()
+ printer.with_user(self.printer_manager).unlink()
printer = self.env["res.remote.printer"].search(
[
("remote_id", "=", self.remote.id),
@@ -107,7 +107,7 @@ class TestRemotePrinter(TransactionCase):
def test_permissions_delete_user(self):
printer = (
self.env["res.remote.printer"]
- .sudo(self.printer_manager)
+ .with_user(self.printer_manager)
.create(
{
"remote_id": self.remote.id,
@@ -117,11 +117,11 @@ class TestRemotePrinter(TransactionCase):
)
)
with self.assertRaises(AccessError):
- printer.sudo(self.printer_user).unlink()
+ printer.with_user(self.printer_user).unlink()
def test_permissions_create_user(self):
with self.assertRaises(AccessError):
- self.env["res.remote.printer"].sudo(self.printer_user).create(
+ self.env["res.remote.printer"].with_user(self.printer_user).create(
{
"remote_id": self.remote.id,
"printer_id": self.printer_1.id,
From 3773de380752a7e690f5a40cea4d869d594d7098 Mon Sep 17 00:00:00 2001
From: Olga Marco
Date: Tue, 4 Jan 2022 13:40:10 +0100
Subject: [PATCH 08/21] [IMP] remote_report_to_printer: black, isort, prettier
---
remote_report_to_printer/__manifest__.py | 2 +-
.../models/printing_action.py | 4 +++-
remote_report_to_printer/models/res_remote.py | 3 ++-
.../models/res_remote_printer.py | 15 ++++++++++++---
4 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/remote_report_to_printer/__manifest__.py b/remote_report_to_printer/__manifest__.py
index 32617a1..aa805fa 100644
--- a/remote_report_to_printer/__manifest__.py
+++ b/remote_report_to_printer/__manifest__.py
@@ -6,7 +6,7 @@
"version": "13.0.1.0.0",
"category": "Generic Modules/Base",
"author": "Creu Blanca, Odoo Community Association (OCA)",
- "website": "http://www.github.com/OCA/report-print-send",
+ "website": "https://github.com/OCA/report-print-send",
"license": "AGPL-3",
"depends": ["base_remote", "base_report_to_printer"],
"data": [
diff --git a/remote_report_to_printer/models/printing_action.py b/remote_report_to_printer/models/printing_action.py
index 8e10e1c..a8cda12 100644
--- a/remote_report_to_printer/models/printing_action.py
+++ b/remote_report_to_printer/models/printing_action.py
@@ -13,4 +13,6 @@ class PrintingAction(models.Model):
res.append(("remote_default", "Use remote's default"))
return res
- action_type = fields.Selection(selection=_available_action_types,)
+ action_type = fields.Selection(
+ selection=_available_action_types,
+ )
diff --git a/remote_report_to_printer/models/res_remote.py b/remote_report_to_printer/models/res_remote.py
index 8fb8cc4..cef674d 100644
--- a/remote_report_to_printer/models/res_remote.py
+++ b/remote_report_to_printer/models/res_remote.py
@@ -7,7 +7,8 @@ class ResRemote(models.Model):
_inherit = "res.remote"
remote_printer_ids = fields.One2many(
- "res.remote.printer", inverse_name="remote_id",
+ "res.remote.printer",
+ inverse_name="remote_id",
)
def get_printer_behaviour(self):
diff --git a/remote_report_to_printer/models/res_remote_printer.py b/remote_report_to_printer/models/res_remote_printer.py
index 0e3f02c..9af9834 100644
--- a/remote_report_to_printer/models/res_remote_printer.py
+++ b/remote_report_to_printer/models/res_remote_printer.py
@@ -8,10 +8,19 @@ class ResRemotePrinter(models.Model):
_name = "res.remote.printer"
_description = "Remote Printer"
- remote_id = fields.Many2one("res.remote", ondelete="cascade", readonly=True,)
- printer_id = fields.Many2one("printing.printer", ondelete="cascade",)
+ remote_id = fields.Many2one(
+ "res.remote",
+ ondelete="cascade",
+ readonly=True,
+ )
+ printer_id = fields.Many2one(
+ "printing.printer",
+ ondelete="cascade",
+ )
printer_tray_id = fields.Many2one(
- "printing.tray", ondelete="cascade", domain="[('printer_id', '=', printer_id)]",
+ "printing.tray",
+ ondelete="cascade",
+ domain="[('printer_id', '=', printer_id)]",
)
is_default = fields.Boolean(default=False)
printer_usage = fields.Selection([("standard", "Standard")], default="standard")
From 040fe61326211f08cb67088c21fed1f1965f7947 Mon Sep 17 00:00:00 2001
From: Olga Marco
Date: Wed, 5 Jan 2022 09:39:55 +0100
Subject: [PATCH 09/21] [MIG] remote_report_to_printer: Migration to 14.0
---
remote_report_to_printer/__manifest__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/remote_report_to_printer/__manifest__.py b/remote_report_to_printer/__manifest__.py
index aa805fa..7957e96 100644
--- a/remote_report_to_printer/__manifest__.py
+++ b/remote_report_to_printer/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Report to printer on remotes",
- "version": "13.0.1.0.0",
+ "version": "14.0.1.0.0",
"category": "Generic Modules/Base",
"author": "Creu Blanca, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/report-print-send",
From 9c303a501b5d683b2c9248c5def5d07e62bdfa24 Mon Sep 17 00:00:00 2001
From: oca-travis
Date: Thu, 17 Feb 2022 20:49:12 +0000
Subject: [PATCH 10/21] [UPD] Update remote_report_to_printer.pot
---
.../i18n/remote_report_to_printer.pot | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/remote_report_to_printer/i18n/remote_report_to_printer.pot b/remote_report_to_printer/i18n/remote_report_to_printer.pot
index 68c77f8..1f1ada8 100644
--- a/remote_report_to_printer/i18n/remote_report_to_printer.pot
+++ b/remote_report_to_printer/i18n/remote_report_to_printer.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 13.0\n"
+"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -29,11 +29,17 @@ msgid "Created on"
msgstr ""
#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_ir_actions_report__display_name
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action__display_name
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote__display_name
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__display_name
msgid "Display Name"
msgstr ""
#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_ir_actions_report__id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action__id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote__id
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__id
msgid "ID"
msgstr ""
@@ -44,6 +50,9 @@ msgid "Is Default"
msgstr ""
#. module: remote_report_to_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_ir_actions_report____last_update
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action____last_update
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote____last_update
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer____last_update
msgid "Last Modified on"
msgstr ""
From ff646a159ac98a2cadbc9030957bb69217020736 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Thu, 17 Feb 2022 20:57:15 +0000
Subject: [PATCH 11/21] [UPD] README.rst
---
remote_report_to_printer/README.rst | 10 +++++-----
remote_report_to_printer/static/description/index.html | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/remote_report_to_printer/README.rst b/remote_report_to_printer/README.rst
index fc8b5d1..60ff845 100644
--- a/remote_report_to_printer/README.rst
+++ b/remote_report_to_printer/README.rst
@@ -14,13 +14,13 @@ Report to printer on remotes
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freport--print--send-lightgray.png?logo=github
- :target: https://github.com/OCA/report-print-send/tree/13.0/remote_report_to_printer
+ :target: https://github.com/OCA/report-print-send/tree/14.0/remote_report_to_printer
:alt: OCA/report-print-send
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/report-print-send-13-0/report-print-send-13-0-remote_report_to_printer
+ :target: https://translation.odoo-community.org/projects/report-print-send-14-0/report-print-send-14-0-remote_report_to_printer
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/144/13.0
+ :target: https://runbot.odoo-community.org/runbot/144/14.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -54,7 +54,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -84,6 +84,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/report-print-send `_ project on GitHub.
+This module is part of the `OCA/report-print-send `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/remote_report_to_printer/static/description/index.html b/remote_report_to_printer/static/description/index.html
index ba291da..7b0c265 100644
--- a/remote_report_to_printer/static/description/index.html
+++ b/remote_report_to_printer/static/description/index.html
@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

This module allows users to send reports to a printer using remote’s configuration.
A remote is an external entity that access odoo. For example, computers, mobiles,
servers… We will identify remotes by its name or ip. On some environments,
@@ -404,7 +404,7 @@ work place.
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -428,7 +428,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/report-print-send project on GitHub.
+
This module is part of the OCA/report-print-send project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
From b052bc37c395d1bcc3091e1f58b467dad0ce9aae Mon Sep 17 00:00:00 2001
From: oca-git-bot
Date: Thu, 31 Mar 2022 17:22:14 +0200
Subject: [PATCH 12/21] [IMP] update dotfiles [ci skip]
---
remote_report_to_printer/models/res_remote_printer.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/remote_report_to_printer/models/res_remote_printer.py b/remote_report_to_printer/models/res_remote_printer.py
index 9af9834..9de37ec 100644
--- a/remote_report_to_printer/models/res_remote_printer.py
+++ b/remote_report_to_printer/models/res_remote_printer.py
@@ -35,7 +35,7 @@ class ResRemotePrinter(models.Model):
@api.onchange("printer_id")
def _onchange_printing_printer_id(self):
- """ Reset the tray when the printer is changed """
+ """Reset the tray when the printer is changed"""
self.printer_tray_id = False
@api.constrains("remote_id", "printer_usage", "is_default")
From 45422d23374cb8dcc1b27585e26c36c96f01b8e8 Mon Sep 17 00:00:00 2001
From: Kevin Luna
Date: Thu, 20 Oct 2022 14:38:48 +0200
Subject: [PATCH 13/21] [IMP] remote_report_to_printer: Show remote usages on
printers
---
remote_report_to_printer/__manifest__.py | 1 +
remote_report_to_printer/models/__init__.py | 1 +
.../models/printing_printer.py | 16 ++++++++++++
.../views/printing_printer.xml | 25 +++++++++++++++++++
.../views/res_remote_printer_views.xml | 17 ++++++++++++-
5 files changed, 59 insertions(+), 1 deletion(-)
create mode 100644 remote_report_to_printer/models/printing_printer.py
create mode 100644 remote_report_to_printer/views/printing_printer.xml
diff --git a/remote_report_to_printer/__manifest__.py b/remote_report_to_printer/__manifest__.py
index 7957e96..dd154da 100644
--- a/remote_report_to_printer/__manifest__.py
+++ b/remote_report_to_printer/__manifest__.py
@@ -10,6 +10,7 @@
"license": "AGPL-3",
"depends": ["base_remote", "base_report_to_printer"],
"data": [
+ "views/printing_printer.xml",
"data/printing_data.xml",
"security/ir.model.access.csv",
"views/res_remote_views.xml",
diff --git a/remote_report_to_printer/models/__init__.py b/remote_report_to_printer/models/__init__.py
index d17f81d..ffe992d 100644
--- a/remote_report_to_printer/models/__init__.py
+++ b/remote_report_to_printer/models/__init__.py
@@ -2,3 +2,4 @@ from . import ir_actions_report
from . import res_remote
from . import res_remote_printer
from . import printing_action
+from . import printing_printer
diff --git a/remote_report_to_printer/models/printing_printer.py b/remote_report_to_printer/models/printing_printer.py
new file mode 100644
index 0000000..50c3251
--- /dev/null
+++ b/remote_report_to_printer/models/printing_printer.py
@@ -0,0 +1,16 @@
+# Copyright 2022 CreuBlanca
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import fields, models
+
+
+class PrintingPrinter(models.Model):
+
+ _inherit = "printing.printer"
+
+ printer_remote_ids = fields.One2many(
+ "res.remote.printer",
+ inverse_name="printer_id",
+ string="Remotes",
+ help="Remote that can use this printer.",
+ )
diff --git a/remote_report_to_printer/views/printing_printer.xml b/remote_report_to_printer/views/printing_printer.xml
new file mode 100644
index 0000000..0801c75
--- /dev/null
+++ b/remote_report_to_printer/views/printing_printer.xml
@@ -0,0 +1,25 @@
+
+
+
+
+ printing.printer.form (in remote_report_to_printer)
+ printing.printer
+
+
+
+
+
+
+
+
+
+
diff --git a/remote_report_to_printer/views/res_remote_printer_views.xml b/remote_report_to_printer/views/res_remote_printer_views.xml
index 5de4d73..d17a08b 100644
--- a/remote_report_to_printer/views/res_remote_printer_views.xml
+++ b/remote_report_to_printer/views/res_remote_printer_views.xml
@@ -23,11 +23,26 @@
+
-
+
+ res.remote.printer.tree
+ res.remote.printer
+ 99
+ primary
+
+
+
+ 1
+
+
+ 0
+
+
+
From f310d9d7d77019077d108097210d92293232db1d Mon Sep 17 00:00:00 2001
From: oca-ci
Date: Tue, 14 Feb 2023 17:05:14 +0000
Subject: [PATCH 14/21] [UPD] Update remote_report_to_printer.pot
---
.../i18n/remote_report_to_printer.pot | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/remote_report_to_printer/i18n/remote_report_to_printer.pot b/remote_report_to_printer/i18n/remote_report_to_printer.pot
index 1f1ada8..7d3333d 100644
--- a/remote_report_to_printer/i18n/remote_report_to_printer.pot
+++ b/remote_report_to_printer/i18n/remote_report_to_printer.pot
@@ -31,6 +31,7 @@ msgstr ""
#. module: remote_report_to_printer
#: model:ir.model.fields,field_description:remote_report_to_printer.field_ir_actions_report__display_name
#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action__display_name
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_printer__display_name
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote__display_name
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__display_name
msgid "Display Name"
@@ -39,6 +40,7 @@ msgstr ""
#. module: remote_report_to_printer
#: model:ir.model.fields,field_description:remote_report_to_printer.field_ir_actions_report__id
#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action__id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_printer__id
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote__id
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__id
msgid "ID"
@@ -52,6 +54,7 @@ msgstr ""
#. module: remote_report_to_printer
#: model:ir.model.fields,field_description:remote_report_to_printer.field_ir_actions_report____last_update
#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action____last_update
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_printer____last_update
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote____last_update
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer____last_update
msgid "Last Modified on"
@@ -79,6 +82,7 @@ msgid "Print Job Action"
msgstr ""
#. module: remote_report_to_printer
+#: model:ir.model,name:remote_report_to_printer.model_printing_printer
#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__printer_id
msgid "Printer"
msgstr ""
@@ -115,8 +119,15 @@ msgstr ""
msgid "Remote Printers"
msgstr ""
+#. module: remote_report_to_printer
+#: model:ir.model.fields,help:remote_report_to_printer.field_printing_printer__printer_remote_ids
+msgid "Remote that can use this printer."
+msgstr ""
+
#. module: remote_report_to_printer
#: model:ir.model,name:remote_report_to_printer.model_res_remote
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_printer__printer_remote_ids
+#: model_terms:ir.ui.view,arch_db:remote_report_to_printer.printing_printer_form_view
msgid "Remotes"
msgstr ""
From dbae628cd83145bdbd0d2bc6ce098fe828f69ab7 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Tue, 14 Feb 2023 17:08:14 +0000
Subject: [PATCH 15/21] remote_report_to_printer 14.0.1.1.0
---
remote_report_to_printer/__manifest__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/remote_report_to_printer/__manifest__.py b/remote_report_to_printer/__manifest__.py
index dd154da..e6278e1 100644
--- a/remote_report_to_printer/__manifest__.py
+++ b/remote_report_to_printer/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Report to printer on remotes",
- "version": "14.0.1.0.0",
+ "version": "14.0.1.1.0",
"category": "Generic Modules/Base",
"author": "Creu Blanca, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/report-print-send",
From db70c4bf4c07a4179c6614b716ff90f8f773a140 Mon Sep 17 00:00:00 2001
From: Weblate
Date: Tue, 14 Feb 2023 17:08:26 +0000
Subject: [PATCH 16/21] Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: report-print-send-14.0/report-print-send-14.0-remote_report_to_printer
Translate-URL: https://translation.odoo-community.org/projects/report-print-send-14-0/report-print-send-14-0-remote_report_to_printer/
---
remote_report_to_printer/i18n/es.po | 81 +++++++++++++++++++----------
1 file changed, 54 insertions(+), 27 deletions(-)
diff --git a/remote_report_to_printer/i18n/es.po b/remote_report_to_printer/i18n/es.po
index 788245b..ed75a77 100644
--- a/remote_report_to_printer/i18n/es.po
+++ b/remote_report_to_printer/i18n/es.po
@@ -1,6 +1,6 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
-# * remote_report_to_printer
+# * remote_report_to_printer
#
msgid ""
msgstr ""
@@ -17,52 +17,64 @@ msgstr ""
"X-Generator: Weblate 3.2.2\n"
#. module: remote_report_to_printer
-#: sql_constraint:res.remote.printer:0
+#: model:ir.model.constraint,message:remote_report_to_printer.constraint_res_remote_printer_unique_printer_remote_usage
msgid "A Remote cannot have the same printer for the same usage"
msgstr "El remoto no puede repetir la misma impresora para el mismo uso"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_create_uid
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_create_date
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__create_date
msgid "Created on"
msgstr "Creado en"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_display_name
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_ir_actions_report__display_name
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action__display_name
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_printer__display_name
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote__display_name
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__display_name
msgid "Display Name"
msgstr "Nombre mostrado"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_ir_actions_report__id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action__id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_printer__id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote__id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__id
msgid "ID"
msgstr "ID"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_is_default
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__is_default
msgid "Is Default"
msgstr "Por defecto"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer___last_update
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_ir_actions_report____last_update
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action____last_update
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_printer____last_update
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote____last_update
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer____last_update
msgid "Last Modified on"
msgstr "Última modificación el"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_write_uid
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_write_date
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__write_date
msgid "Last Updated on"
msgstr "Última actualización el"
#. module: remote_report_to_printer
-#: code:addons/remote_report_to_printer/models/res_remote_printer.py:48
+#: code:addons/remote_report_to_printer/models/res_remote_printer.py:0
#, python-format
msgid "Only one default printer is allowed"
msgstr "Sólo se permite una impresora por defecto"
@@ -73,57 +85,72 @@ msgid "Print Job Action"
msgstr "Acción de imprimir un trabajo"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_id
+#: model:ir.model,name:remote_report_to_printer.model_printing_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__printer_id
msgid "Printer"
msgstr "Impresora"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_tray_id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__printer_tray_id
msgid "Printer Tray"
msgstr "Bandeja de impresora"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_printer_usage
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__printer_usage
msgid "Printer Usage"
msgstr "Uso de impresora"
#. module: remote_report_to_printer
-#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_form
+#: model_terms:ir.ui.view,arch_db:remote_report_to_printer.res_remote_form
msgid "Printers"
msgstr "Impresoras"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer_remote_id
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_printer__remote_id
msgid "Remote"
msgstr "Remoto"
#. module: remote_report_to_printer
-#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote_remote_printer_ids
-#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_form
+#: model:ir.model,name:remote_report_to_printer.model_res_remote_printer
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_res_remote__remote_printer_ids
+#: model_terms:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_form
msgid "Remote Printer"
msgstr "Impresora de remoto"
#. module: remote_report_to_printer
-#: model:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_tree
+#: model_terms:ir.ui.view,arch_db:remote_report_to_printer.res_remote_printer_tree
msgid "Remote Printers"
msgstr "Impresoras de remoto"
+#. module: remote_report_to_printer
+#: model:ir.model.fields,help:remote_report_to_printer.field_printing_printer__printer_remote_ids
+msgid "Remote that can use this printer."
+msgstr ""
+
#. module: remote_report_to_printer
#: model:ir.model,name:remote_report_to_printer.model_res_remote
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_printer__printer_remote_ids
+#: model_terms:ir.ui.view,arch_db:remote_report_to_printer.printing_printer_form_view
msgid "Remotes"
msgstr "Remotos"
#. module: remote_report_to_printer
-#: selection:res.remote.printer,printer_usage:0
+#: model:ir.model,name:remote_report_to_printer.model_ir_actions_report
+msgid "Report Action"
+msgstr ""
+
+#. module: remote_report_to_printer
+#: model:ir.model.fields.selection,name:remote_report_to_printer.selection__res_remote_printer__printer_usage__standard
msgid "Standard"
msgstr "Estándar"
#. module: remote_report_to_printer
-#: model:ir.model,name:remote_report_to_printer.model_ir_actions_report
-msgid "ir.actions.report"
-msgstr "ir.actions.report"
+#: model:ir.model.fields,field_description:remote_report_to_printer.field_printing_action__action_type
+msgid "Type"
+msgstr ""
-#. module: remote_report_to_printer
-#: model:ir.model,name:remote_report_to_printer.model_res_remote_printer
-msgid "res.remote.printer"
-msgstr "res.remote.printer"
+#~ msgid "ir.actions.report"
+#~ msgstr "ir.actions.report"
+
+#~ msgid "res.remote.printer"
+#~ msgstr "res.remote.printer"
From 161daaf7a12c015908c17aa9e65be58b2972ce83 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Sun, 3 Sep 2023 15:55:48 +0000
Subject: [PATCH 17/21] [UPD] README.rst
---
remote_report_to_printer/README.rst | 15 +++++---
.../static/description/index.html | 38 ++++++++++---------
2 files changed, 29 insertions(+), 24 deletions(-)
diff --git a/remote_report_to_printer/README.rst b/remote_report_to_printer/README.rst
index 60ff845..0bab46e 100644
--- a/remote_report_to_printer/README.rst
+++ b/remote_report_to_printer/README.rst
@@ -2,10 +2,13 @@
Report to printer on remotes
============================
-.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:17f8b56351c92f48d2003eab8b2c8c0b8e3f1c6eb57c6c519b251d2b807386b7
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
@@ -19,11 +22,11 @@ Report to printer on remotes
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/report-print-send-14-0/report-print-send-14-0-remote_report_to_printer
:alt: Translate me on Weblate
-.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/144/14.0
- :alt: Try me on Runbot
+.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/report-print-send&target_branch=14.0
+ :alt: Try me on Runboat
-|badge1| |badge2| |badge3| |badge4| |badge5|
+|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows users to send reports to a printer using remote's configuration.
@@ -53,7 +56,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
-If you spotted it first, help us smashing it by providing a detailed and welcomed
+If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback `_.
Do not contact contributors directly about support or help with technical issues.
diff --git a/remote_report_to_printer/static/description/index.html b/remote_report_to_printer/static/description/index.html
index 7b0c265..55b0685 100644
--- a/remote_report_to_printer/static/description/index.html
+++ b/remote_report_to_printer/static/description/index.html
@@ -1,20 +1,20 @@
-
+
-
+
Report to printer on remotes