diff --git a/models/__init__.py b/models/__init__.py index 6b0cf992834fc7ab85ec38b7da04f5541028b6a0..dab03728f51bfa5f11fe6514ae77d6fd3d07b99d 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,3 +1,4 @@ # -*- coding: utf-8 -*- import lefilament_tdb +import res_company diff --git a/models/lefilament_tdb.py b/models/lefilament_tdb.py index 80136fc3c3cabcf8eaa546d753d235c786379752..2000d61cfbe69c25c45d0eb95245d3c2766ef2c8 100644 --- a/models/lefilament_tdb.py +++ b/models/lefilament_tdb.py @@ -120,6 +120,9 @@ class LeFilamentTdb(models.Model): (select sum(price_subtotal-qty_invoiced*price_unit) from sale_order_line where invoice_status='to invoice') as commandes; """) datas = cr.dictfetchall() + cr.execute("select ca_target from res_company;") + ca_target = cr.dictfetchall() + res['facture'] =+ datas[0]['facture'] res['a_encaisser'] =+ datas[0]['a_encaisser'] res['pipe'] =+ datas[0]['pipe'] @@ -128,6 +131,7 @@ class LeFilamentTdb(models.Model): res['sortie'] =+ datas[0]['sortie'] res['variation'] =+ datas[0]['variation'] res['commandes'] =+ datas[0]['commandes'] + res['target'] =+ ca_target[0]['ca_target'] return res diff --git a/static/src/css/lefilament_tdb.css b/static/src/css/lefilament_tdb.css index b3e64981330e7a4a140145bf875b016090594329..88e21c2580ae355bc257b74af8db0e8950a50160 100644 --- a/static/src/css/lefilament_tdb.css +++ b/static/src/css/lefilament_tdb.css @@ -33,4 +33,6 @@ .card { background-color: #fff; color: #73879C; padding: 20px; margin: 10px; } .card-header { margin: 0!important; } .card-number { font-size: 30px; font-weight: 300; margin: 0!important; font-family: "Helvetica Neue", Helvetica, "Open Sans", Arial, sans-serif; } -.tresorerie .card-number { font-size: 20px; font-weight: 300; } \ No newline at end of file +.tresorerie .card-number { font-size: 20px; font-weight: 300; } + +.ca_target:hover { cursor: pointer; color: rgba(115, 135, 156,0.5); } \ No newline at end of file diff --git a/static/src/js/dashboard_year.js b/static/src/js/dashboard_year.js index 6b310c2e91dd2cd3d4f32d3966227ceb6d8cbebe..c76dbbfc9512cee497b5fb8ac127e30bc3497510 100644 --- a/static/src/js/dashboard_year.js +++ b/static/src/js/dashboard_year.js @@ -14,6 +14,10 @@ odoo.define('lefilament_tdb.dashboard_year', function (require) { var YearDashboardView = Widget.extend({ template: 'YearDashboard', + events: { + 'click .ca_target': 'target_clicked', + }, + init: function() { var result = this._super.apply(this, arguments); return result; @@ -28,7 +32,6 @@ odoo.define('lefilament_tdb.dashboard_year', function (require) { .call('retrieve_datas_dashboard', []) .then(function(results) { self.values = results; - console.log(self.values); self.progress = results.facture / results.target; deferred.resolve(); }); @@ -48,14 +51,15 @@ odoo.define('lefilament_tdb.dashboard_year', function (require) { step: function(state, circle) { value = self.progress*100 circle.setText( - self.values.target.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' € <br />' + '<span class="ca_target">'+ + self.values.target.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' € </span><br />' +value.toLocaleString('fr', { maximumFractionDigits: 0 }) + ' %'); - } + }, }); bar.text.style.fontFamily = '"Raleway", Helvetica, sans-serif'; bar.text.style.fontSize = '2rem'; bar.text.style.color = '#73879C'; - this.$el.find('.progressbar-text').css('opacity',self.progress) + // this.$el.find('.progressbar-text').css('opacity',self.progress) bar.text.style.textAlign = 'center'; bar.animate(self.progress); @@ -66,13 +70,33 @@ odoo.define('lefilament_tdb.dashboard_year', function (require) { return 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; - }, + 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); + }, }); diff --git a/static/src/xml/lefilament_tdb.xml b/static/src/xml/lefilament_tdb.xml index cd17d1619021f41a58c9aaea6ea9b29ce1409a48..41582b152de71152034eb79d492679dbba6d6fec 100644 --- a/static/src/xml/lefilament_tdb.xml +++ b/static/src/xml/lefilament_tdb.xml @@ -102,7 +102,7 @@ </div> <div class="col-xs-12"> <div class="card"> - <p class="card-header">Reste à encaisser</p> + <p class="card-header">Facturé non encaissé</p> <p class="card-number"> <t t-esc="widget.render_monetary(widget.values.a_encaisser)"></t> </p> diff --git a/views/views.xml b/views/views.xml index d86a883a3dc744eb18d266f244d1e9e6dfff2864..be0a7b552934da0bdc10254a5bef46d03915e538 100644 --- a/views/views.xml +++ b/views/views.xml @@ -104,6 +104,18 @@ </form> </field> </record> + + <!-- Company Form --> + <record id="view_form_lefilament_project_form_inherited" model="ir.ui.view"> + <field name="name">res.company.form.tdb</field> + <field name="model">res.company</field> + <field name="inherit_id" ref="base.view_company_form"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='website']" position="after"> + <field name="ca_target" /> + </xpath> + </field> + </record> <!-- <record id="lefilament_dashboard_data" model="ir.ui.view"> <field name="name">Le Filament Dashboard Data</field>