diff --git a/modules/purchase_trade/global_reporting.py b/modules/purchase_trade/global_reporting.py index ba3a291..4c08dd9 100644 --- a/modules/purchase_trade/global_reporting.py +++ b/modules/purchase_trade/global_reporting.py @@ -15,6 +15,7 @@ class GRConfiguration(ModelSingleton, ModelSQL, ModelView): dashboard = fields.Char("Dashboard connexion") dark = fields.Boolean("Dark mode") pnl_id = fields.Integer("Pnl ID") + position_id = fields.Integer("Position ID") forex_id = fields.Integer("Forex ID") payload = fields.Char("Metabase payload") automation = fields.Boolean("Automation") \ No newline at end of file diff --git a/modules/purchase_trade/purchase.py b/modules/purchase_trade/purchase.py index 4e581e2..828eafd 100755 --- a/modules/purchase_trade/purchase.py +++ b/modules/purchase_trade/purchase.py @@ -1052,3 +1052,38 @@ class PnlBI(ModelSingleton,ModelSQL, ModelView): else: url = f"metabase:{config.bi}/embed/dashboard/{token}#bordered=true&titled=true" return url + +class PositionReport(Wizard): + 'Position report' + __name__ = 'position.report' + + start = StateAction('purchase_trade.act_position_bi') + + def do_start(self, action): + pool = Pool() + # action['views'].reverse() + return action, {'res_id': [1]} + +class PositionBI(ModelSingleton,ModelSQL, ModelView): + 'Position BI' + __name__ = 'position.bi' + + input = fields.Text("BI") + metabase = fields.Function(fields.Text(""),'get_bi') + + def get_bi(self,name=None): + Configuration = Pool().get('gr.configuration') + config = Configuration.search(['id','>',0])[0] + + payload = { + "resource": {"dashboard": config.position_id}, + "params": {}, + "exp": datetime.datetime.utcnow() + datetime.timedelta(minutes=30), + } + token = jwt.encode(payload, config.payload, algorithm="HS256") + logger.info("TOKEN:%s",token) + if config.dark: + url = f"metabase:{config.bi}/embed/dashboard/{token}#theme=night&bordered=true&titled=true" + else: + url = f"metabase:{config.bi}/embed/dashboard/{token}#bordered=true&titled=true" + return url diff --git a/modules/purchase_trade/purchase.xml b/modules/purchase_trade/purchase.xml index 6ce8032..531a7dd 100755 --- a/modules/purchase_trade/purchase.xml +++ b/modules/purchase_trade/purchase.xml @@ -126,6 +126,25 @@ this repository contains the full copyright notices and license terms. --> pnl.report + + position.bi + form + position_bi_graph + + + Position BI + position.bi + + + + + + + + Position report + position.report + + mtm.component form diff --git a/modules/purchase_trade/view/gr_configuration_form.xml b/modules/purchase_trade/view/gr_configuration_form.xml index 99bfd47..794a5d0 100644 --- a/modules/purchase_trade/view/gr_configuration_form.xml +++ b/modules/purchase_trade/view/gr_configuration_form.xml @@ -9,6 +9,8 @@