Earlier, receiving data was size of the file which is not what we want. And we are trying to decode that as they are in binary form. Which can not working properly. So refactor code accordingly. Task - 3162824 closes odoo/odoo#113953 Related: odoo/enterprise#37650 Signed-off-by: Lucas Lefèvre (lul) <lul@odoo.com>
25 lines
969 B
Python
25 lines
969 B
Python
import base64
|
|
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'
|
|
_order = 'sequence'
|
|
|
|
name = fields.Char(required=True, translate=True)
|
|
dashboard_group_id = fields.Many2one('spreadsheet.dashboard.group', required=True)
|
|
data = fields.Binary(required=True, default=lambda self: empty_spreadsheet_data_base64())
|
|
spreadsheet_data = fields.Text(compute='_compute_spreadsheet_data')
|
|
thumbnail = fields.Binary()
|
|
sequence = fields.Integer()
|
|
group_ids = fields.Many2many('res.groups', default=lambda self: self.env.ref('base.group_user'))
|
|
|
|
@api.depends("data")
|
|
def _compute_spreadsheet_data(self):
|
|
for dashboard in self.with_context(bin_size=False):
|
|
dashboard.spreadsheet_data = base64.b64decode(dashboard.data).decode()
|