[FIX] spreadsheet_dashboard: copy dashboard

This commit is the communitiy counter-part to allow copying a dashboard.

Yet another 'copy' overrride to add the same postfix!

closes odoo/odoo#144091

Task: 3588237
X-original-commit: b39f63b1509e6dc2149b1a09da5a877d45e36be3
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
This commit is contained in:
Lucas Lefèvre (lul)
2023-11-30 11:44:59 +00:00
parent b4ee432d11
commit 2b46bf26be
2 changed files with 25 additions and 1 deletions
@@ -1,6 +1,6 @@
import json
from odoo import fields, models
from odoo import _, fields, models
class SpreadsheetDashboard(models.Model):
@@ -24,3 +24,11 @@ class SpreadsheetDashboard(models.Model):
'snapshot': snapshot,
'revisions': [],
}
def copy(self, default=None):
self.ensure_one()
if default is None:
default = {}
if 'name' not in default:
default['name'] = _("%s (copy)") % self.name
return super().copy(default=default)
@@ -22,6 +22,22 @@ class TestSpreadsheetDashboard(DashboardTestCommon):
dashboard._empty_spreadsheet_data()
)
def test_copy_name(self):
group = self.env["spreadsheet.dashboard.group"].create(
{"name": "a group"}
)
dashboard = self.env["spreadsheet.dashboard"].create(
{
"name": "a dashboard",
"dashboard_group_id": group.id,
}
)
copy = dashboard.copy()
self.assertEqual(copy.name, "a dashboard (copy)")
copy = dashboard.copy({"name": "a copy"})
self.assertEqual(copy.name, "a copy")
def test_unlink_prevent_spreadsheet_group(self):
group = self.env["spreadsheet.dashboard.group"].create(
{"name": "a_group"}