[MOV] spreadsheet: extract empty spreadsheet utils
The empty spreadsheet data structure is reused (see Enterprise PR #34567) So we extract it to a function. closes odoo/odoo#106975 Related: odoo/enterprise#34567 Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import json
|
||||
import base64
|
||||
|
||||
from odoo import _
|
||||
|
||||
def empty_spreadsheet_data_base64():
|
||||
"""Create an empty spreadsheet workbook.
|
||||
Encoded as base64
|
||||
"""
|
||||
data = json.dumps(empty_spreadsheet_data())
|
||||
return base64.b64encode(data.encode())
|
||||
|
||||
def empty_spreadsheet_data():
|
||||
"""Create an empty spreadsheet workbook.
|
||||
The sheet name should be the same for all users to allow consistent references
|
||||
in formulas. It is translated for the user creating the spreadsheet.
|
||||
"""
|
||||
return {
|
||||
"version": 1,
|
||||
"sheets": [
|
||||
{
|
||||
"id": "sheet1",
|
||||
"name": _("Sheet1"),
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,6 +3,8 @@ import json
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
|
||||
from odoo.addons.spreadsheet.utils import empty_spreadsheet_data_base64
|
||||
|
||||
class SpreadsheetDashboard(models.Model):
|
||||
_name = 'spreadsheet.dashboard'
|
||||
_description = 'Spreadsheet Dashboard'
|
||||
@@ -10,31 +12,12 @@ class SpreadsheetDashboard(models.Model):
|
||||
|
||||
name = fields.Char(required=True)
|
||||
dashboard_group_id = fields.Many2one('spreadsheet.dashboard.group', required=True)
|
||||
data = fields.Binary(required=True, default=lambda self: self._default_data())
|
||||
data = fields.Binary(required=True, default=lambda self: empty_spreadsheet_data_base64())
|
||||
raw = fields.Binary(compute='_compute_raw')
|
||||
thumbnail = fields.Binary()
|
||||
sequence = fields.Integer()
|
||||
group_ids = fields.Many2many('res.groups', default=lambda self: self.env.ref('base.group_user'))
|
||||
|
||||
def _default_data(self):
|
||||
data = json.dumps(self._empty_workbook_data())
|
||||
return base64.b64encode(data.encode())
|
||||
|
||||
def _empty_workbook_data(self):
|
||||
"""Create an empty spreadsheet workbook.
|
||||
The sheet name should be the same for all users to allow consistent references
|
||||
in formulas. It is translated for the user creating the spreadsheet.
|
||||
"""
|
||||
return {
|
||||
"version": 1,
|
||||
"sheets": [
|
||||
{
|
||||
"id": "sheet1",
|
||||
"name": _("Sheet1"),
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@api.depends('data')
|
||||
def _compute_raw(self):
|
||||
for dashboard in self:
|
||||
|
||||
Reference in New Issue
Block a user