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