[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:
@@ -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"}
|
||||
|
||||
Reference in New Issue
Block a user