From 04b5bd010943b5ddd4b73224b346c0b074bcb6bc Mon Sep 17 00:00:00 2001
From: Benjamin <Benjamin@MBP-de-Benj.(none)>
Date: Fri, 22 Sep 2017 19:29:25 +0200
Subject: [PATCH] add cca

---
 models/lefilament_tdb.py    |  10 +++-
 static/src/js/tresorerie.js | 112 +++---------------------------------
 2 files changed, 18 insertions(+), 104 deletions(-)

diff --git a/models/lefilament_tdb.py b/models/lefilament_tdb.py
index 6ac2736..5438175 100644
--- a/models/lefilament_tdb.py
+++ b/models/lefilament_tdb.py
@@ -190,5 +190,13 @@ class LeFilamentTdb(models.Model):
 					order by date_trunc('month', date);""")
 		tresorerie = self._cr.dictfetchall()
 
-		return tresorerie
+		self._cr.execute("""SELECT to_char(date_trunc('month', e.date),'YYYY-MM') as mois, 
+					sum(es.total_amount) as cca
+					from hr_expense_sheet es, hr_expense e 
+					where es.id = e.sheet_id and e.payment_mode='own_account' and es.state!='done'
+					group by date_trunc('month', e.date) 
+					order by date_trunc('month', e.date);""")
+		cca = self._cr.dictfetchall()
+
+		return { 'tresorerie': tresorerie, 'cca': cca }
 
diff --git a/static/src/js/tresorerie.js b/static/src/js/tresorerie.js
index 7dedce2..de30eef 100644
--- a/static/src/js/tresorerie.js
+++ b/static/src/js/tresorerie.js
@@ -50,11 +50,12 @@ odoo.define('lefilament_tdb.tresorerie', function (require) {
             var sortie = [];
             var variation = [];
             var treso = [];
+            var cca = [];
             var labels = [];
 
-            var tabLength = this.values.length - 1;
+            var tabLength = this.values.tresorerie.length - 1;
 
-            _.each(this.values, function(value, key) {
+            _.each(this.values.tresorerie, function(value, key) {
             	if (key == 0 ) {
             		treso.push(value.variation);
             	} else {
@@ -65,16 +66,17 @@ odoo.define('lefilament_tdb.tresorerie', function (require) {
             });
 
             for (var i = (tabLength-11); i < tabLength+1 ; i++) {
-            	entree.push(this.values[i].entree);
-            	sortie.push(this.values[i].sortie * (-1) );
-            	variation.push(this.values[i].variation);
-            	labels.push(moment(this.values[i].mois).format('MMM YYYY'));
+            	entree.push(this.values.tresorerie[i].entree);
+            	sortie.push(this.values.tresorerie[i].sortie * (-1) );
+            	variation.push(this.values.tresorerie[i].variation);
+            	cca.push(this.values.cca[i].cca);
+            	labels.push(moment(this.values.tresorerie[i].mois).format('MMM YYYY'));
             }
 
-            console.log(treso.slice(tabLength-11, tabLength+1));
 
    			var datasets = [
    				{ label: 'Trésorerie', data: treso.slice(tabLength-11, tabLength+1), backgroundColor: 'transparent',borderColor: '#5E8ED5' },
+   				{ label: 'CCA', data: cca, backgroundColor: 'transparent',borderColor: '#FFA063' },
    				{ label: 'Variation', data: variation, backgroundColor: 'rgba(255, 197, 98, 0.3)',borderColor: '#FFC562' },
 		        { label: 'Entrées', data: entree, backgroundColor: 'rgba(81, 210, 183, 0.3)', borderColor: '#51d2b7' },
 		        { label: 'Sorties', data: sortie, backgroundColor: 'rgba(249, 96, 117, 0.3)', borderColor: '#F96075' },
@@ -87,106 +89,10 @@ odoo.define('lefilament_tdb.tresorerie', function (require) {
 	            datasets : datasets
 	        };
 
-
-      //       var options = { 
-      //       	legend: {
-      //       		display: false,
-      //       	},
-      //       	layout: { 
-      //       		padding: { left:0, right: 0, bottom: 20, top: 20, },
-      //       	},
-      //       	scales: {
-		    //         xAxes: [{
-		    //             stacked: true,
-		    //             scaleShowLabels: false,
-      //                   display : false ,
-		    //         }],
-      //               yAxes: [{
-      //                       stacked: true,
-      //                       scaleShowLabels: false,
-      //                       display : false ,
-      //                   }]
-		    //     },
-		    //     tooltips: {
-		    //     	backgroundColor: 'rgba(255,255,255,0.8)',
-		    //     	titleFontStyle: 'normal',
-		    //     	titleFontColor: '#999',
-		    //     	bodyFontColor: '#777',
-		    //     	callbacks: {
-	     //                label: function(tooltipItems, data) { 
-	     //                    return (tooltipItems.xLabel * self.target  / 100000).toLocaleString('fr', { maximumFractionDigits: 2 }) + ' K€';
-	     //                }
-	     //            }
-		    //     },
-		    //     responsive: true,
-      //       }
-
             var myLineChart = new Chart(this.ctx, { type: 'line', data: this.targetData, } );
 
 	    },
 
-	    render_monetary: function(value) {
-	        value = value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €';
-	        return value;
-	    },
-	    render_keur: function(value) {
-	        value = (value/ 1000).toLocaleString('fr', { maximumFractionDigits: 0 }) + ' K€';
-	        return value;
-	    },
-	    render_percent: function(value) {
-	        value = value.toLocaleString('fr', { maximumFractionDigits: 1 }) + ' %';
-	        return value;
-	    },
-	    render_date: function(value) {
-	    	var dateFormat = new Date(value);
-            var new_value = moment(dateFormat).format('Do MMM YYYY');
-            return new_value;
-	    },
-	    render_monetary_color: function(value) {
-	        if (value >= 0)
-	          value = '<span class="positive">'+value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €</span>';
-	        else
-	          value = '<span class="negative">'+value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €</span>';
-	        
-	        return value;
-	    },
-
-	    facture: function() {
-	    	var self = this;
-	    	var context = { 'user_id': this.session.uid, }
-
-        	var action = ({
-            	type: 'ir.actions.act_window',
-             	res_model: 'account.invoice',
-            	view_type: 'form',
-            	view_mode: 'tree,form',
-            	views: [[false, 'list'], [false, 'form']],
-            	domain: [['state','=','open'],['type','=','out_invoice']],
-            	target:'current',
-            	name: 'Factures en cours',
-            	context: context
-        	})
-
-        	this.do_action(action);
-	    },
-	    commandes: function() {
-	    	var self = this;
-	    	var context = { 'user_id': this.session.uid, }
-
-        	var action = ({
-            	type: 'ir.actions.act_window',
-             	res_model: 'sale.order',
-            	view_type: 'form',
-            	view_mode: 'tree,form',
-            	views: [[false, 'list'], [false, 'form']],
-            	domain: [['invoice_status','=','to invoice']],
-            	target:'current',
-            	name: 'Commandes en cours',
-            	context: context
-        	})
-
-        	this.do_action(action);
-	    },
 	});
 
 	core.action_registry.add('lefilament_tdb.tresorerie', TresorerieView);
-- 
GitLab