From bc59f42b40d062ced378144a106bff939a654fac Mon Sep 17 00:00:00 2001 From: Juliana <juliana@le-filament.com> Date: Thu, 29 Apr 2021 16:10:18 +0200 Subject: [PATCH] [ADD Add comment function --- __manifest__.py | 1 - models/enercoop_operation.py | 86 +++++++++++- static/src/js/render_graph.js | 179 ------------------------- static/src/xml/templates.xml | 10 -- views/enercoop_operation_templates.xml | 1 - 5 files changed, 81 insertions(+), 196 deletions(-) delete mode 100644 static/src/js/render_graph.js delete mode 100644 static/src/xml/templates.xml diff --git a/__manifest__.py b/__manifest__.py index d52db54..e1af3a9 100755 --- a/__manifest__.py +++ b/__manifest__.py @@ -12,7 +12,6 @@ "security/ir.model.access.csv", # datas # wizard - # 'wizards/enercoop_operation_wizard_views.xml', # views 'views/enercoop_operation_views.xml', 'views/enercoop_operation_templates.xml', diff --git a/models/enercoop_operation.py b/models/enercoop_operation.py index a8b2419..48c6489 100644 --- a/models/enercoop_operation.py +++ b/models/enercoop_operation.py @@ -34,7 +34,14 @@ class EnercoopOperation(models.Model): # ------------------------------------------------------ @api.model def graph_view(self, domain, scale): - # Function call when load Qweb views + """ + Fonction appelée lors du chargement de la vue Qweb + :param domain: représente le champ recherche de la vue + scale: type d'affichage des graphes + (day/week/month/semestre/year) + défini par le clic bouton + :return: dictionnaire pour la construction des graphes + """ result_graph = {} # Get the operations depending to the domain operation_ids = self.env['enercoop.operation'].search(domain) @@ -57,6 +64,10 @@ class EnercoopOperation(models.Model): # Actions # ------------------------------------------------------ def action_view_courbes(self): + """ + Action qui ouvre la vue Qweb + :return: Vue Qweb + """ self.ensure_one() action = self.env["ir.actions.actions"]._for_xml_id( "enercoop_cdc.enercoop_operation_action_client_courbes") @@ -74,6 +85,33 @@ class EnercoopOperation(models.Model): # Business methods # ------------------------------------------------------ def get_last_day(self, scale): + """ + Fonction retournant une date de début et une date de fin. + Ces dates sont calculées en fonction de l'échelle choisie + - day: la date de début est égale à la dernière date + avec un enreisgtrement pour l'opération donnée + la date de fin ets la date de début + 1 + - week: la date de début est égale à la dernière date + avec un enreisgtrement pour l'opération donnée moins 7 jours + la date de fin est égale à la dernière date + avec un enreisgtrement pour l'opération donnée + - month: la date de début est égale à la dernière date + avec un enreisgtrement pour l'opération donnée moins 1 mois + la date de fin est égale à la dernière date + avec un enreisgtrement pour l'opération donnée + - semestre: la date de début est égale à la dernière date + avec un enreisgtrement pour l'opération donnée moins 6 mois + la date de fin est égale à la dernière date + avec un enreisgtrement pour l'opération donnée + - year: la date de début est égale à la dernière date + avec un enreisgtrement pour l'opération donnée moins 1 an + la date de fin est égale à la dernière date + avec un enreisgtrement pour l'opération donnée + :param scale: type d'affichage des graphes + (day/week/month/semestre/year) + :return: une date de début et une date de fin + """ + # Get last date slot recorded last_record = self.env['enercoop.enedis.cdc'].search([ ('enercoop_operation_id', '=', self.ids), @@ -97,7 +135,13 @@ class EnercoopOperation(models.Model): return date_start, date_end def chart_data_cons(self, chart_data): - # Creation chart + """ + Fonction retournant le dictionnaire permettant la construiction + des graphes de la partie consommation + :param chart_data: données à afficher dans les chart (labels et data) + :return: un dictionnaire de chart + """ + result = {} result['line_chart_conso'] = { 'type': 'line', @@ -162,7 +206,13 @@ class EnercoopOperation(models.Model): return result def chart_data_prod(self, chart_data): - # Creation chart + """ + Fonction retournant le dictionnaire permettant la construiction + des graphes de la partie production + :param chart_data: données à afficher dans les chart (labels et data) + :return: un dictionnaire de chart + """ + result = {} result['line_chart_prod']= { 'type': 'line', @@ -221,6 +271,17 @@ class EnercoopOperation(models.Model): return result def get_cdc(self, type, date_start, date_end): + """ + Fonction permettant de récupérer les données pour la + construction des chart pour une ou des opérations données + :param type: type d'affichage des graphes + (day/week/month/semestre/year) + date_start: date début + date_end: date de fin + :return: un dictionnaire de données + (labels et data pour les charts à afficher) + """ + cdc_jour = [] label_line_cons = [] @@ -332,7 +393,15 @@ class EnercoopOperation(models.Model): # Functions to manage route # ------------------------------------------------------ def graph_view_conso(self, scale): - # Function call when load Qweb views + """ + Fonction appelée pour l'affcihage des courbes consommation + sur le portail + :param scale: type d'affichage des graphes + (day/week/month/semestre/year) + défini par le clic bouton + :return: dictionnaire pour la construction des graphes + """ + result_graph = {} # Get date start and date end depending on type of scale @@ -347,7 +416,14 @@ class EnercoopOperation(models.Model): return result_graph def graph_view_prod(self, scale): - # Function call when load Qweb views + """ + Fonction appelée pour l'affcihage des courbes production + sur le portail + :param scale: type d'affichage des graphes + (day/week/month/semestre/year) + défini par le clic bouton + :return: dictionnaire pour la construction des graphes + """ result_graph = {} # Get date start and date end depending on type of scale diff --git a/static/src/js/render_graph.js b/static/src/js/render_graph.js deleted file mode 100644 index 3b75c30..0000000 --- a/static/src/js/render_graph.js +++ /dev/null @@ -1,179 +0,0 @@ - // © 2019 Le Filament (<http://www.le-filament.com>) - // License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -odoo.define('enercoop_cdc.render_graph', function (require) { - "use strict"; - - var core = require('web.core'); - var session = require('web.session'); - var AbstractAction = require('web.AbstractAction'); - var QWeb = core.qweb; - - var RenderGraph = AbstractAction.extend({ - template: 'renderGraph', - - init: function(parent, action) { - this._super(parent, action); -// this.customer_id = action.params.customer_id; - }, - -// willStart: function() { -// var deferred = new jQuery.Deferred(); -// var self = this; -// this.values = {}; -// this._rpc({ -// model: 'res.partner', -// method: 'graph_view', -// args: [self.customer_id], -// }) -// .then(function(results) { -// self.values = results; -// deferred.resolve(); -// }); -// return jQuery.when(this._super.apply(this, arguments),deferred); -// }, - - start: function() { - var options = { options: { - legend: { - position: 'top', - display: false, - }, - title: { - display: false, - }, - scale: { - ticks: { - beginAtZero: true, - max: 5, - stepSize: 1, - } - } - }} - - console.log(this.values) - - // Radar par thème > 3 - this.radar_theme_sup = this.$el.find('#radar_theme_sup')[0].getContext('2d'); - var RadarThemeSup = new Chart( - this.radar_theme_sup, - Object.assign({}, this.values.radar_theme_sup, options) - ); -// // Radar par thème < 3 -// this.radar_theme_inf = this.$el.find('#radar_theme_inf')[0].getContext('2d'); -// var RadarThemeInf = new Chart( -// this.radar_theme_inf, -// Object.assign({}, this.values.radar_theme_inf, options) -// ); -// -// // Radar par thème - Pref societal -// this.radar_societal = this.$el.find('#radar_societal')[0].getContext('2d'); -// var RadarSocietal = new Chart( -// this.radar_societal, -// Object.assign({}, this.values.radar_societal, options) -// ); -// -// // Radar par thème - Pref social -// this.radar_social = this.$el.find('#radar_social')[0].getContext('2d'); -// var RadarSocial = new Chart( -// this.radar_social, -// Object.assign({}, this.values.radar_social, options) -// ); -// -// // Radar par thème - Pref économique -// this.radar_eco = this.$el.find('#radar_eco')[0].getContext('2d'); -// var RadarEco = new Chart( -// this.radar_eco, -// Object.assign({}, this.values.radar_eco, options) -// ); -// -// // Radar par thème - Pref environnemental -// this.radar_environnement = this.$el.find('#radar_environnement')[0].getContext('2d'); -// var RadarEnvironnement = new Chart( -// this.radar_environnement, -// Object.assign({}, this.values.radar_environnement, options) -// ); - - console.log(this.values.carto_rse.datasets); - // Carto RSE -// this.carto_rse = this.$el.find('#carto_rse')[0].getContext('2d'); -// var CartoRse = new Chart( -// this.carto_rse, -// { -// type: 'scatter', -// data: this.values.carto_rse, -// options: { -// legend: { -// display: true, -// }, -// showLines: false, -// scales: { -// yAxes: [{ -// display: true, -// scaleLabel: { -// display: true, -// labelString: 'Total Oïkos sur 13', -// fontSize: 16, -// }, -// ticks: { -// beginAtZero:true, -// max: 13, -// stepSize: 1, -// } -// }], -// xAxes: [{ -// type: 'linear', -// position: 'bottom', -// display: true, -// scaleLabel: { -// display: true, -// labelString: 'Note Autoévaluation', -// fontSize: 16, -// }, -// gridLines: { -// display: true -// }, -// ticks: { -// beginAtZero:true, -// max: 5, -// stepSize: 1, -// } -// }] -// }, -// tooltips: { -// displayColors: true, -// callbacks: { -// title: function(tooltipItems, data) { -// var index = tooltipItems[0].index; -// var datasetIndex = tooltipItems[0].datasetIndex; -// var dataset = data.datasets[datasetIndex]; -// var datasetItem = dataset.data[index]; -// -// return datasetItem.theme; -// }, -// label: function(tooltipItems, data) { -// var output = ""; -// -// var index = tooltipItems.index; -// var datasetIndex = tooltipItems.datasetIndex; -// var dataset = data.datasets[datasetIndex]; -// var datasetItem = dataset.data[index]; -// -// output += " Autoévaluation : " + datasetItem.x + "\n | \n"; -// output += "Total Oïkos : " + datasetItem.y; -// return output; -// } -// } -// } -// } -// }); - - }, - - }); - - core.action_registry.add('enercoop_cdc.render_graph', RenderGraph); - - -}); - diff --git a/static/src/xml/templates.xml b/static/src/xml/templates.xml deleted file mode 100644 index 66a8e11..0000000 --- a/static/src/xml/templates.xml +++ /dev/null @@ -1,10 +0,0 @@ -<!--?xml version="1.0" encoding="UTF-8"?--> -<templates xml:space="preserve"> - <t t-name="Qweb.buttons"> - <div class="btn-group" role="toolbar" aria-label="TEST"> - <button class="btn btn-secondary o_graph_button" title="Dernier jour" aria-label="Dernier jour" data-mode="last_day">Dernier jour</button> - <button class="btn btn-secondary fa fa-area-chart o_graph_button" title="Line Chart" aria-label="Line Chart" data-mode="line"/> -<!-- <button class="btn btn-secondary fa fa-pie-chart o_graph_button" title="Pie Chart" aria-label="Pie Chart" data-mode="pie"/>--> - </div> - </t> -</templates> \ No newline at end of file diff --git a/views/enercoop_operation_templates.xml b/views/enercoop_operation_templates.xml index 93814a2..cb8ee7c 100644 --- a/views/enercoop_operation_templates.xml +++ b/views/enercoop_operation_templates.xml @@ -4,7 +4,6 @@ <template id="assets_backend" name="operation assets" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <script type="text/javascript" src="/enercoop_cdc/static/src/js/operation_graph.js"></script> -<!-- <script type="text/javascript" src="/enercoop_cdc/static/src/js/render_graph.js"></script>--> </xpath> </template> -- GitLab