Newer
Older
odoo.define('lefilament_tdb.dashboard_year', function (require) {
var core = require('web.core');
var formats = require('web.formats');
var Model = require('web.Model');
var session = require('web.session');
var Widget = require('web.Widget');
var QWeb = core.qweb;
var _t = core._t;
var _lt = core._lt;
var YearDashboardView = Widget.extend({
template: 'YearDashboard',

Benjamin
a validé
events: {
'click .ca_target': 'target_clicked',
},
init: function() {
var result = this._super.apply(this, arguments);
return result;
},
willStart: function() {
var deferred = new jQuery.Deferred();
var self = this;
this.values = {};
this.progess = 0
new Model('lefilament.dashboard')
.call('retrieve_datas_dashboard', [])
.then(function(results) {
self.values = results;
self.progress = results.facture / results.target;
deferred.resolve();
});
return jQuery.when(this._super.apply(this, arguments),deferred);
},
start: function() {
self = this;
ctx = this.$el.find('#progressbar')[0];
var bar = new ProgressBar.Circle(ctx, {
color: '#ED6A5A', //FFEA82
easing: 'easeInOut',
strokeWidth: 5,
trailWidth: 1,
step: function(state, circle) {
value = self.progress*100
circle.setText(

Benjamin
a validé
'<span class="ca_target">'+
self.values.target.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' € </span><br />'
+value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' %');

Benjamin
a validé
},
});
bar.text.style.fontFamily = '"Raleway", Helvetica, sans-serif';
bar.text.style.fontSize = '2rem';
bar.text.style.color = '#73879C';

Benjamin
a validé
// this.$el.find('.progressbar-text').css('opacity',self.progress)
bar.text.style.textAlign = 'center';
bar.animate(self.progress);
},
render_monetary: function(value) {
value = value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' €';
return value;
},
render_monetary_color: function(value) {

Benjamin
a validé
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;
},
target_clicked: function(ev){
var self = this;
id = this.session.uid;
var context = {
'user_id': self.session.uid,
}
var action = ({
type: 'ir.actions.act_window',
res_model: 'res.company',
res_id: id,
view_type: 'form',
view_mode: 'form',
views: [[false, 'form']],
target:'current',
context: context
})
this.do_action(action);
},