mirror of
https://github.com/OCA/reporting-engine.git
synced 2025-02-16 16:30:38 +02:00
create ui now create tree view [IMP] fr translation [IMP] add last refresh date time on the action name of each sql materialized view
This commit is contained in:
committed by
David James
parent
5b8cf460ad
commit
8425bcd972
@@ -4,6 +4,7 @@
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from psycopg2 import ProgrammingError
|
||||
|
||||
from openerp import _, api, fields, models, SUPERUSER_ID
|
||||
@@ -86,6 +87,9 @@ class BiSQLView(models.Model):
|
||||
model_id = fields.Many2one(
|
||||
string='Odoo Model', comodel_name='ir.model', readonly=True)
|
||||
|
||||
tree_view_id = fields.Many2one(
|
||||
string='Odoo Tree View', comodel_name='ir.ui.view', readonly=True)
|
||||
|
||||
graph_view_id = fields.Many2one(
|
||||
string='Odoo Graph View', comodel_name='ir.ui.view', readonly=True)
|
||||
|
||||
@@ -186,8 +190,10 @@ class BiSQLView(models.Model):
|
||||
# Drop ORM
|
||||
sql_view._drop_model_and_fields()
|
||||
|
||||
sql_view.tree_view_id.unlink()
|
||||
sql_view.graph_view_id.unlink()
|
||||
sql_view.pivot_view_id.unlink()
|
||||
sql_view.search_view_id.unlink()
|
||||
sql_view.action_id.unlink()
|
||||
sql_view.menu_id.unlink()
|
||||
sql_view.rule_id.unlink()
|
||||
@@ -197,6 +203,8 @@ class BiSQLView(models.Model):
|
||||
|
||||
@api.multi
|
||||
def button_create_ui(self):
|
||||
self.tree_view_id = self.env['ir.ui.view'].create(
|
||||
self._prepare_tree_view()).id
|
||||
self.graph_view_id = self.env['ir.ui.view'].create(
|
||||
self._prepare_graph_view()).id
|
||||
self.pivot_view_id = self.env['ir.ui.view'].create(
|
||||
@@ -225,8 +233,7 @@ class BiSQLView(models.Model):
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': self.model_id.model,
|
||||
'search_view_id': self.search_view_id.id,
|
||||
'view_type': 'form',
|
||||
'view_mode': 'graph,pivot',
|
||||
'view_mode': 'graph,pivot,tree',
|
||||
}
|
||||
|
||||
# Prepare Function
|
||||
@@ -282,6 +289,21 @@ class BiSQLView(models.Model):
|
||||
'global': True,
|
||||
}
|
||||
|
||||
@api.multi
|
||||
def _prepare_tree_view(self):
|
||||
self.ensure_one()
|
||||
return {
|
||||
'name': self.name,
|
||||
'type': 'tree',
|
||||
'model': self.model_id.model,
|
||||
'arch':
|
||||
"""<?xml version="1.0"?>"""
|
||||
"""<tree string="Analysis">{}"""
|
||||
"""</tree>""".format("".join(
|
||||
[x._prepare_tree_field()
|
||||
for x in self.bi_sql_view_field_ids]))
|
||||
}
|
||||
|
||||
@api.multi
|
||||
def _prepare_graph_view(self):
|
||||
self.ensure_one()
|
||||
@@ -339,8 +361,8 @@ class BiSQLView(models.Model):
|
||||
'name': self.name,
|
||||
'res_model': self.model_id.model,
|
||||
'type': 'ir.actions.act_window',
|
||||
'view_type': 'form',
|
||||
'view_mode': 'graph,pivot',
|
||||
'view_mode': 'graph,pivot,tree',
|
||||
'view_id': self.graph_view_id.id,
|
||||
'search_view_id': self.search_view_id.id,
|
||||
}
|
||||
|
||||
@@ -504,6 +526,12 @@ class BiSQLView(models.Model):
|
||||
sql_view.materialized_text, sql_view.view_name)
|
||||
self._log_execute(req)
|
||||
sql_view._refresh_size()
|
||||
if sql_view.action_id:
|
||||
# Alter name of the action, to display last refresh datetime
|
||||
# of the materialized view
|
||||
sql_view.action_id.name = "%s (%s)" % (
|
||||
self.name,
|
||||
datetime.utcnow().strftime(_("%m/%d/%Y %H:%M:%S UTC")))
|
||||
|
||||
@api.multi
|
||||
def _refresh_size(self):
|
||||
|
||||
Reference in New Issue
Block a user