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