[MIG] remote_report_to_printer: Migration to 13.0

This commit is contained in:
Olga Marco
2021-06-17 17:33:14 +02:00
parent e4d6956dc6
commit 6a191b32dd
6 changed files with 12 additions and 15 deletions

1
oca_dependencies.txt Normal file
View File

@@ -0,0 +1 @@
server-tools

View File

@@ -1,20 +1,18 @@
# Copyright (c) 2018 Creu Blanca # Copyright (c) 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # 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): class IrActionsReport(models.Model):
_inherit = "ir.actions.report" _inherit = "ir.actions.report"
@api.multi
def _get_user_default_print_behaviour(self): def _get_user_default_print_behaviour(self):
res = super()._get_user_default_print_behaviour() 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()) res.update(self.remote.get_printer_behaviour())
return res return res
@api.multi
def _get_report_default_print_behaviour(self): def _get_report_default_print_behaviour(self):
res = super()._get_report_default_print_behaviour() res = super()._get_report_default_print_behaviour()
if res.get("action", "unknown") == "remote_default": if res.get("action", "unknown") == "remote_default":

View File

@@ -1,6 +1,6 @@
# Copyright (c) 2018 Creu Blanca # Copyright (c) 2018 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # 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): class ResRemote(models.Model):
@@ -10,7 +10,6 @@ class ResRemote(models.Model):
"res.remote.printer", inverse_name="remote_id", "res.remote.printer", inverse_name="remote_id",
) )
@api.multi
def get_printer_behaviour(self): def get_printer_behaviour(self):
self.ensure_one() self.ensure_one()
printer_usage = self.env.context.get("printer_usage", "standard") printer_usage = self.env.context.get("printer_usage", "standard")

View File

@@ -29,7 +29,6 @@ class ResRemotePrinter(models.Model):
""" Reset the tray when the printer is changed """ """ Reset the tray when the printer is changed """
self.printer_tray_id = False 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): def _check_remote_usage(self):
for rec in self.filtered(lambda r: r.is_default): for rec in self.filtered(lambda r: r.is_default):

View File

@@ -12,7 +12,7 @@ class TestRemotePrinter(TransactionCase):
self.remote = self.env["res.remote"].search([("name", "=", name)]) self.remote = self.env["res.remote"].search([("name", "=", name)])
if not self.remote: if not self.remote:
self.remote = self.env["res.remote"].create( 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( self.server = self.env["printing.server"].create(
{"name": "Server", "address": "localhost", "port": 631} {"name": "Server", "address": "localhost", "port": 631}

View File

@@ -18,7 +18,7 @@ class TestRemotePrinter(TransactionCase):
self.remote = self.env["res.remote"].search([("name", "=", name)]) self.remote = self.env["res.remote"].search([("name", "=", name)])
if not self.remote: if not self.remote:
self.remote = self.env["res.remote"].create( 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( self.server = self.env["printing.server"].create(
{"name": "Server", "address": "localhost", "port": 631} {"name": "Server", "address": "localhost", "port": 631}
@@ -49,7 +49,7 @@ class TestRemotePrinter(TransactionCase):
) )
def test_constrain(self): 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, "remote_id": self.remote.id,
"printer_id": self.printer_1.id, "printer_id": self.printer_1.id,
@@ -68,7 +68,7 @@ class TestRemotePrinter(TransactionCase):
def test_onchange_printer(self): def test_onchange_printer(self):
remote_printer = ( remote_printer = (
self.env["res.remote.printer"] self.env["res.remote.printer"]
.sudo(self.printer_manager) .with_user(self.printer_manager)
.create( .create(
{ {
"remote_id": self.remote.id, "remote_id": self.remote.id,
@@ -85,7 +85,7 @@ class TestRemotePrinter(TransactionCase):
def test_permissions_delete_manager(self): def test_permissions_delete_manager(self):
printer = ( printer = (
self.env["res.remote.printer"] self.env["res.remote.printer"]
.sudo(self.printer_manager) .with_user(self.printer_manager)
.create( .create(
{ {
"remote_id": self.remote.id, "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( printer = self.env["res.remote.printer"].search(
[ [
("remote_id", "=", self.remote.id), ("remote_id", "=", self.remote.id),
@@ -107,7 +107,7 @@ class TestRemotePrinter(TransactionCase):
def test_permissions_delete_user(self): def test_permissions_delete_user(self):
printer = ( printer = (
self.env["res.remote.printer"] self.env["res.remote.printer"]
.sudo(self.printer_manager) .with_user(self.printer_manager)
.create( .create(
{ {
"remote_id": self.remote.id, "remote_id": self.remote.id,
@@ -117,11 +117,11 @@ class TestRemotePrinter(TransactionCase):
) )
) )
with self.assertRaises(AccessError): with self.assertRaises(AccessError):
printer.sudo(self.printer_user).unlink() printer.with_user(self.printer_user).unlink()
def test_permissions_create_user(self): def test_permissions_create_user(self):
with self.assertRaises(AccessError): 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, "remote_id": self.remote.id,
"printer_id": self.printer_1.id, "printer_id": self.printer_1.id,