Initial commit: Odoo 18.0-20251222 extra-addons
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled

This commit is contained in:
tocmo0nlord
2026-03-13 20:43:25 +00:00
parent 36e847a7df
commit adbe430761
9472 changed files with 1265727 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
- Jordi Ballester Alomar \<<jordi.ballester@forgeflow.com>\>
- Christopher Ormaza \<<chris.ormaza@forgeflow.com>\>

View File

@@ -0,0 +1,7 @@
- This module uses the library [mpld3](https://github.com/mpld3/mpld3)
which is under the open-source BSD 3-clause "New" or "Revised"
License. Copyright (c) 2013, Jake Vanderplas
- This module uses the library [BeautifulSoup
4](https://pypi.org/project/beautifulsoup4/) which is under the
open-source MIT License. Copyright (c) 2014, Leonard Richardson
- Odoo Community Association (OCA)

View File

@@ -0,0 +1,6 @@
This module adds the possibility to insert mpld3 charts into Odoo
standard views. This is an interactive D3js-based viewer which brings
matplotlib graphics to the browser.
If you want to see some samples of mpld3's capabilities follow this
[link](http://mpld3.github.io/).

View File

@@ -0,0 +1,3 @@
You need to install the python mpld3 library:
pip install mpld3

View File

@@ -0,0 +1,33 @@
To insert a mpld3 chart in a view proceed as follows:
1. You should inherit from abstract class abstract.mpld3.parser:
_name = 'res.partner'
_inherit = ['res.partner', 'abstract.mpld3.parser']
2. Import the required libraries:
import matplotlib.pyplot as plt
3. Declare a json computed field like this:
mpld3_chart = fields.Json(
string='Mpld3 Chart',
compute='_compute_mpld3_chart',
)
4. In its computed method do:
def _compute_mpld3_chart(self):
for rec in self:
# Design your mpld3 figure:
plt.scatter([1, 10], [5, 9])
figure = plt.figure()
rec.mpld3_chart = self.convert_figure_to_json(figure)
5. In the view, add something like this wherever you want to display
your mpld3 chart:
<div>
<field name="mpld3_chart" widget="mpld3_chart" nolabel="1"/>
</div>