This module allows the use of simple math formulas in integer/float fields (e.g. "=45 + 4/3 - 5 * (2 + 1)").
- Only supports parentheses, decimal points, thousands separators, and the operators "+", "-", "*", and "/"
- Will use the decimal point and thousands separator characters associated with your language
- If the formula is valid, the result will be computed and displayed, and the formula will be stored for editing
- If the formula is not valid, it's retained in the field as text
Technical Details
- Overloads web.form_widgets.FieldFloat (so it works for fields.integer & fields.float)
- Uses the eval() JS function to evaluate the formula
- Does not do any rounding (this is handled elsewhere)
- Avoids code injection by applying strict regex to formula prior to eval() (e.g. "=alert('security')" would not get evaluated)
To install this module, simply follow the standard install process.
No configuration is needed or possible.
Install and enjoy. A short demo video can be found at http://www.youtube.com/watch?v=jQGdD34WYrA.
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smash it by providing detailed and welcomed feedback.
- Sylvain Le Gal (https://twitter.com/legalsylvain)
- Oleg Bulkin <[email protected]>
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
To contribute to this module, please visit http://odoo-community.org.