From 2ac375a6db5830bee57bc370788bedf73bf51405 Mon Sep 17 00:00:00 2001 From: hicham Date: Wed, 28 Jun 2023 10:53:01 +0100 Subject: [PATCH 1/4] [Add] #1237285 portage smile decimal precision v15 --- smile_decimal_precision/README.rst | 102 ++++ smile_decimal_precision/__init__.py | 5 + smile_decimal_precision/__manifest__.py | 24 + smile_decimal_precision/i18n/fr.po | 41 ++ smile_decimal_precision/models/__init__.py | 7 + .../models/decimal_precision.py | 27 ++ smile_decimal_precision/models/fields.py | 22 + smile_decimal_precision/models/ir_http.py | 15 + .../models/res_currency.py | 24 + smile_decimal_precision/report/__init__.py | 4 + smile_decimal_precision/report/ir_qweb.py | 17 + .../static/description/choose_field.png | Bin 0 -> 57046 bytes .../description/edit_decimal_accuracy.png | Bin 0 -> 10872 bytes .../static/description/icon.png | Bin 0 -> 9433 bytes .../static/description/index.html | 454 ++++++++++++++++++ .../description/new_decimal_accuracy.png | Bin 0 -> 58473 bytes .../description/select_decimal_accuracy.png | Bin 0 -> 11163 bytes .../views/decimal_precision_view.xml | 30 ++ .../views/res_currency_view.xml | 18 + 19 files changed, 790 insertions(+) create mode 100644 smile_decimal_precision/README.rst create mode 100644 smile_decimal_precision/__init__.py create mode 100644 smile_decimal_precision/__manifest__.py create mode 100644 smile_decimal_precision/i18n/fr.po create mode 100644 smile_decimal_precision/models/__init__.py create mode 100644 smile_decimal_precision/models/decimal_precision.py create mode 100644 smile_decimal_precision/models/fields.py create mode 100644 smile_decimal_precision/models/ir_http.py create mode 100644 smile_decimal_precision/models/res_currency.py create mode 100644 smile_decimal_precision/report/__init__.py create mode 100644 smile_decimal_precision/report/ir_qweb.py create mode 100644 smile_decimal_precision/static/description/choose_field.png create mode 100644 smile_decimal_precision/static/description/edit_decimal_accuracy.png create mode 100644 smile_decimal_precision/static/description/icon.png create mode 100644 smile_decimal_precision/static/description/index.html create mode 100644 smile_decimal_precision/static/description/new_decimal_accuracy.png create mode 100644 smile_decimal_precision/static/description/select_decimal_accuracy.png create mode 100644 smile_decimal_precision/views/decimal_precision_view.xml create mode 100644 smile_decimal_precision/views/res_currency_view.xml diff --git a/smile_decimal_precision/README.rst b/smile_decimal_precision/README.rst new file mode 100644 index 000000000..a527f040c --- /dev/null +++ b/smile_decimal_precision/README.rst @@ -0,0 +1,102 @@ +========================= +Display Decimal Precision +========================= + +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-Smile_SA%2Fodoo_addons-lightgray.png?logo=github + :target: https://github.com/Smile-SA/odoo_addons/tree/15.0/smile_decimal_precision + :alt: Smile-SA/odoo_addons + +|badge2| |badge3| + + +This module allows to distinguish computation digits and display digits in decimal precision. +It is also possible to manage a number of decimal places to display on devices. + +Features: + +* The administrator edit the decimal precision by specifying the name of digits parameter. +* The administrator put the number of digits he want to compute. +* The administrator put the number of digits he want to display. +* By default the display digits equals the the digits calculated. +* The administrator can make the display digits superior than the the digits calculated. +* The administrator can make the display digits inferior than the the digits calculated. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To edit a decimal precision : + +1. Choose a field that you want to edit its decimal accuracy (Ex. Product Price) : + +.. figure:: static/description/choose_field.png + :alt: Choose field + :width: 900px + +2. Go to ``Settings > Technical > Database Structure``> Decimal accuracy menu. +3. Select Decimal accuracy corresponding to field. + +.. figure:: static/description/select_decimal_accuracy.png + :alt: Select Decimal accuracy + :width: 900px + +4. Then edit the value of digits you want to compute, and the number of digits you want to display. + + In this example we put 3 digits to display and 5 to compute + +.. figure:: static/description/edit_decimal_accuracy.png + :alt: Decimal accuracy edited + :width: 900px + +5. Now, go back to your interface to see the new decimal accuracy : + +.. figure:: static/description/new_decimal_accuracy.png + :alt: New decimal accuracy + :width: 900px + + +Bug Tracker +=========== + +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 smashing it by providing a detailed and welcomed feedback +`here `_. + +Do not contact contributors directly about support or help with technical issues. + +GDPR / EU Privacy +================= + +This addons does not collect any data and does not set any browser cookies. + +Credits +======= + +Contributors +------------ + +* Corentin POUHET-BRUNERIE +* Wafaa Jaouahar + +Maintainer +---------- + +This module is maintained by Smile SA. + +Since 1991 Smile has been a pioneer of technology and also the European expert in open source solutions. + +.. image:: https://avatars0.githubusercontent.com/u/572339?s=200&v=4 + :alt: Smile SA + :target: http://smile.fr + +This module is part of the `odoo-addons `_ project on GitHub. + +You are welcome to contribute. diff --git a/smile_decimal_precision/__init__.py b/smile_decimal_precision/__init__.py new file mode 100644 index 000000000..18bcd8483 --- /dev/null +++ b/smile_decimal_precision/__init__.py @@ -0,0 +1,5 @@ +# (C) 2023 Smile () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import models +from . import report diff --git a/smile_decimal_precision/__manifest__.py b/smile_decimal_precision/__manifest__.py new file mode 100644 index 000000000..10cb262ee --- /dev/null +++ b/smile_decimal_precision/__manifest__.py @@ -0,0 +1,24 @@ +# (C) 2023 Smile () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Display Decimal Precision", + "version": "15.0.0.0.1", + "depends": ["base"], + "author": "Smile", + "license": 'AGPL-3', + "description": """ +This module allows to distinguish computation digits +and display digits in decimal precision. +""", + "website": "", + "category": "Hidden/Dependency", + "sequence": 32, + "data": [ + "views/decimal_precision_view.xml", + "views/res_currency_view.xml", + ], + "auto_install": True, + "installable": True, + "application": False, +} diff --git a/smile_decimal_precision/i18n/fr.po b/smile_decimal_precision/i18n/fr.po new file mode 100644 index 000000000..c8d3012ec --- /dev/null +++ b/smile_decimal_precision/i18n/fr.po @@ -0,0 +1,41 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * smile_decimal_precision +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-19 08:58+0000\n" +"PO-Revision-Date: 2018-03-19 08:58+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: smile_decimal_precision +#: model:ir.model,name:smile_decimal_precision.model_res_currency +msgid "Currency" +msgstr "Devise" + +#. module: smile_decimal_precision +#: model:ir.model.fields,field_description:smile_decimal_precision.field_res_currency_display_decimal_places +msgid "Display Decimal Places" +msgstr "Décimales affichées" + +#. module: smile_decimal_precision +#: model:ir.model.fields,field_description:smile_decimal_precision.field_decimal_precision_display_digits +msgid "Display Digits" +msgstr "Décimales affichées" + +#. module: smile_decimal_precision +#: model:ir.model.fields,field_description:smile_decimal_precision.field_res_currency_display_rounding +msgid "Display Rounding Factor" +msgstr "Facteur d'arrondi affiché" + +#. module: smile_decimal_precision +#: model:ir.model,name:smile_decimal_precision.model_ir_http +msgid "HTTP routing" +msgstr "Routage HTTP" diff --git a/smile_decimal_precision/models/__init__.py b/smile_decimal_precision/models/__init__.py new file mode 100644 index 000000000..f9fede949 --- /dev/null +++ b/smile_decimal_precision/models/__init__.py @@ -0,0 +1,7 @@ +# (C) 2023 Smile () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from .decimal_precision import DecimalPrecision +from . import fields +from . import ir_http +from . import res_currency diff --git a/smile_decimal_precision/models/decimal_precision.py b/smile_decimal_precision/models/decimal_precision.py new file mode 100644 index 000000000..8a95ea699 --- /dev/null +++ b/smile_decimal_precision/models/decimal_precision.py @@ -0,0 +1,27 @@ +# (C) 2023 Smile () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models, tools + + +class DecimalPrecision(models.Model): + _inherit = 'decimal.precision' + + display_digits = fields.Integer('Display Digits', required=True, default=2) + + @api.model + @tools.ormcache('application') + def display_precision_get(self, application): + self.env.cr.execute( + 'select display_digits from decimal_precision where name=%s', + (application,)) + res = self.env.cr.fetchone() + return res[0] if res else 2 + + @staticmethod + def get_display_precision(env, application): + res = 2 + dp = env['decimal.precision'] + if hasattr(dp, 'display_precision_get'): + res = dp.display_precision_get(application) + return 16, res diff --git a/smile_decimal_precision/models/fields.py b/smile_decimal_precision/models/fields.py new file mode 100644 index 000000000..cbf0d3afc --- /dev/null +++ b/smile_decimal_precision/models/fields.py @@ -0,0 +1,22 @@ +# (C) 2023 Smile () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo.fields import Field + +from odoo.addons.smile_decimal_precision.models import DecimalPrecision as dp + + + +native_get_description = Field.get_description + + +def new_get_description(self, env): + desc = native_get_description(self, env) + if hasattr(self, '_related__digits') and isinstance(self._related__digits, str): + application = self._related__digits + desc['digits'] = dp.get_display_precision(env, application) + return desc + + +Field.get_description = new_get_description + diff --git a/smile_decimal_precision/models/ir_http.py b/smile_decimal_precision/models/ir_http.py new file mode 100644 index 000000000..bc7e2b73b --- /dev/null +++ b/smile_decimal_precision/models/ir_http.py @@ -0,0 +1,15 @@ +# (C) 2023 Smile () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import models + + +class IrHttp(models.AbstractModel): + _inherit = 'ir.http' + + def get_currencies(self): + res = super(IrHttp, self).get_currencies() + currency_ids = list(res.keys()) + for currency in self.env['res.currency'].browse(currency_ids): + res[currency.id]['digits'][1] = currency.display_decimal_places + return res diff --git a/smile_decimal_precision/models/res_currency.py b/smile_decimal_precision/models/res_currency.py new file mode 100644 index 000000000..c5ad312d0 --- /dev/null +++ b/smile_decimal_precision/models/res_currency.py @@ -0,0 +1,24 @@ +# (C) 2023 Smile () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +import math + +from odoo import api, fields, models + + +class ResCurrency(models.Model): + _inherit = 'res.currency' + + display_rounding = fields.Float('Display Rounding Factor', digits=(12, 6)) + display_decimal_places = fields.Integer( + compute='_get_display_decimal_places') + + @api.depends('rounding', 'display_rounding') + def _get_display_decimal_places(self): + if not self.display_rounding: + self.display_decimal_places = self.decimal_places + elif 0 < self.display_rounding < 1: + self.display_decimal_places = \ + int(math.ceil(math.log10(1 / self.display_rounding))) + else: + self.display_decimal_places = 0 diff --git a/smile_decimal_precision/report/__init__.py b/smile_decimal_precision/report/__init__.py new file mode 100644 index 000000000..53e435ff9 --- /dev/null +++ b/smile_decimal_precision/report/__init__.py @@ -0,0 +1,4 @@ +# (C) 2023 Smile () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import ir_qweb diff --git a/smile_decimal_precision/report/ir_qweb.py b/smile_decimal_precision/report/ir_qweb.py new file mode 100644 index 000000000..c7d1f8224 --- /dev/null +++ b/smile_decimal_precision/report/ir_qweb.py @@ -0,0 +1,17 @@ +# (C) 2023 Smile () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo.addons.base.models.ir_qweb_fields import FloatConverter + + +def record_to_html(self, record, field_name, options): + if 'precision' not in options and 'decimal_precision' not in options: + _, precision = \ + record._fields[field_name].get_description(self.env)['digits'] or \ + (None, None) + options = dict(options, precision=precision) + return super(FloatConverter, self).record_to_html( + record, field_name, options) + + +FloatConverter.record_to_html = record_to_html diff --git a/smile_decimal_precision/static/description/choose_field.png b/smile_decimal_precision/static/description/choose_field.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8e5af3a00c0a897889a3586d396708624fddcc GIT binary patch literal 57046 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�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�=oBLEGFrP10Y z8fNh)r@QF^%6M#`&;)gIz&=AH~BO z9l$~?UIjoAInu}(wb?04bu(4t;k@4t*fWOdjnN;=(*hqhXF9#^KG5Zo%qFCLRN&_=;rz7=N&D(5rWfBIxm3{7 zbCX!Qlm`U)EU-C+^3A)H8N&mkx)zSRI3eeY*G_f4Yfmf7HK;#zO~!%lC-*&{FJ%Q6 z4y*|{WnI4@pS@!2Hw0WCYVob7x5`A>3Xm3?ol980_2R50QeX^XsOs9`SMz6J^U{5u z?CRljWRM#tFfLL3LszA~hXtb)4}^h|``8yeXz3sJM~}bpf<#~s#>9DmGd}Uq=JvOx zHS%{BjspD@{*t8k?BzPw#ZcXMYk4yVzAqVc%$)Pa6;oAIuoSZ%dpznr$)eHj+L#D0 z`Qf=SED2{{={Ce>X6q$TDa|&)H8KY$vI7J-MV-Y~6|Wf5FC{li26Q)`(Q)A>j#JK+ z@KldB-18Wq;_=$@n)Yhf5uogP=%2m_I}eb(&bF2-n}p$xJQZ1Vdov4y!Px7bwxa3E zJm!*is5_bq4QV_nf9vGUeZDF-H+?Bl=n*AlM$Jf-o|<^bxv6w~4_@;|0_+K`yFcou zYa!>Tz{C3DMRSlySR^s|&Br3^|0rdDga-f;=&NkL=BA`BsW5F#$Ydgy7W>W;JPqj* zJG2{@V}2!>I?XF$!q&}X4pv=d_ruF0s7k}uF&ZKX^quH)WA1l+$1-x-qgC(@{15BG z_3&oxr|>}(-tZsZQ%39t!l(NI(82!CT)s3#Ro}^uE z!n9G^Mwut`d;?B;cLhLWL>GnSh)h6}_u+Zr4~r0$1fQ#m%5xROSSKjv;v`s7p=}~+ z@C(nvEr}D4HogH!lh?5pq(LbAkWTbG!=hQ4aXTuQR-{*-X?G8=mb@fWCbP4gH}b(` z2(xa!Iq4U^oGyTC)#JWGxAwda0rm3@3qtd^2XwYumD6qZT1?Xo!BQpOUGBd?M>1QNMl{e$qGlpWyFeGECOx2-~VL3`Z}{b#5K z4Vmru+tMlvap(N`o-T09%y);AJr6QWO6d_I3XMu)*MW^8?aaB^7T23#)Su1j`wk@- zGylCqgkr%<>}oj+o}%)SE%pWZdxO5QU$3d5C{x&`2~U8Q(0F1Lt>gO@v8vq5rk1;c2fL7q-3%p^DNn4ueind zPv{2jw8Ri29SuGiyTD>PSA|OxS6gXUw9rjp^7JGHRjn{h?#%?c+m2&Rbr-_X>fO*9 z{}(9#+4*rP`$|`jTA9t!DhD09s%L9!^oF{R?W$a*;7m9O?zl5+QsvWD9|@jfToFrV zk_ouJv{GzC(6pO7@y=O6BWjmcVuI@!9zu_t#~0whX2L;m*PaOb|bd)&f7L_`)ERV z=a$#heF0zHyo$PQwl0#;U*m6F4idmEONrU$xTm!R@UnJ0&r_3%)-A8!67;6G68o&; z_C)ENi_MVK`=Y4R2kKBZWw>EeO{ZPxsU{CZ+uyEK(h*MmhFtWtQNH~xLzQD|Hn8(6E!=$@Ue^Ln*TrgB z&afC6t^(KY$R?aHO2xTm4@DK!$q~BI$kqi^@BqJ4cLr-ys##s{efgUyNY>xa0@Tpm z=^IurTlz$b_dfItgKSqb-cz<~FtYzdcvr0PCX%$bP_dzK z=Wi%kM$ce zX;l@G+S5l&_==Ws6(NK_u3hd-5#7NK z8A8c?WWA)0f2JraiywiYxr-Tad6N}G@c!__|BS=>Us6pl9I4HlL?a@!)cDP7Rg^Rp Ji{;;Z{6CZEF~R@< literal 0 HcmV?d00001 diff --git a/smile_decimal_precision/static/description/icon.png b/smile_decimal_precision/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..17984e2d08aac83e8271009bdce6cfdd09195231 GIT binary patch literal 9433 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 Ms(LDQN;dEQAN$d}kN^Mx literal 0 HcmV?d00001 diff --git a/smile_decimal_precision/static/description/index.html b/smile_decimal_precision/static/description/index.html new file mode 100644 index 000000000..a377fae1e --- /dev/null +++ b/smile_decimal_precision/static/description/index.html @@ -0,0 +1,454 @@ + + + + + + +Display Decimal Precision + + + +
+

Display Decimal Precision

+ +

License: AGPL-3 Smile-SA/odoo_addons

+

This module allows to distinguish computation digits and display digits in decimal precision. +It is also possible to manage a number of decimal places to display on devices.

+

Features:

+
    +
  • The administrator edit the decimal precision by specifying the name of digits parameter.
  • +
  • The administrator put the number of digits he want to compute.
  • +
  • The administrator put the number of digits he want to display.
  • +
  • By default the display digits equals the the digits calculated.
  • +
  • The administrator can make the display digits superior than the the digits calculated.
  • +
  • The administrator can make the display digits inferior than the the digits calculated.
  • +
+

Table of contents

+ +
+

Usage

+

To edit a decimal precision :

+
    +
  1. Choose a field that you want to edit its decimal accuracy (Ex. Product Price) :
  2. +
+
+Choose field +
+
    +
  1. Go to Settings > Technical > Database Structure> Decimal accuracy menu.
  2. +
  3. Select Decimal accuracy corresponding to field.
  4. +
+
+Select Decimal accuracy +
+
    +
  1. Then edit the value of digits you want to compute, and the number of digits you want to display.

    +

    In this example we put 3 digits to display and 5 to compute

    +
  2. +
+
+Decimal accuracy edited +
+
    +
  1. Now, go back to your interface to see the new decimal accuracy :
  2. +
+
+New decimal accuracy +
+
+
+

Bug Tracker

+

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 smashing it by providing a detailed and welcomed feedback +here.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

GDPR / EU Privacy

+

This addons does not collect any data and does not set any browser cookies.

+
+
+

Credits

+
+

Contributors

+
    +
  • Corentin POUHET-BRUNERIE
  • +
  • Wafaa Jaouahar
  • +
+
+
+

Maintainer

+

This module is maintained by Smile SA.

+

Since 1991 Smile has been a pioneer of technology and also the European expert in open source solutions.

+Smile SA +

This module is part of the odoo-addons project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + diff --git a/smile_decimal_precision/static/description/new_decimal_accuracy.png b/smile_decimal_precision/static/description/new_decimal_accuracy.png new file mode 100644 index 0000000000000000000000000000000000000000..283ed6ef053b57812b0d7c8ba97619e24b945bac GIT binary patch literal 58473 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 SL! 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 bdG^=krOTHB={Z#YeoDpXYVt+0uipL_`t0#I literal 0 HcmV?d00001 diff --git a/smile_decimal_precision/static/description/select_decimal_accuracy.png b/smile_decimal_precision/static/description/select_decimal_accuracy.png new file mode 100644 index 0000000000000000000000000000000000000000..e4638ee572e791852328577481510df54dd0da22 GIT binary patch literal 11163 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 z z^G7J>`m0qKy4nZ?Y1hahCENw~gyr|fzjx$Z09PL zgFgPHT&)C*(4-uhv$aWrzwxJSN*T`+T@8-|-Xbo%YzpkG1E=5q@pQgLOFVbJlyg~? z64>BH+7KtIr>aO!2p-CO`Zo%E`KoD!3DqE zlWUK&eaSemr~Gy3J=q$e5;VeDDmN$5JD9@I9v?RvjCM0s`Etapjl z`xb%_8ks^Z)i*@ETeat#ls%*}3z?Rb83m2e@V`##nZ=vI9Jp`>uEO(5x~p3sXYF<9 z%nRMsxQO0~2SYa;TxE_6$73flb}R?y%@6*|JsPMx3d@$j+8|6OF-n>S0U9aiOBrYR zUlwblzUFtuvnP+C%)8{wGYc$R5J@eS>C=;~(FaLi(>=P1C$_R;XRldVgE;!BZF()0 z@kUK{tU19fc_trO+`=N~s#;%WF=+%}+pJKQajqC^f3o*BIp)WRVZx9B7OsF#?D4Uy zY(_2`Y(c7YO0LgY4hD)2s>=L4>#p%!R-^=lAa$cbl>m#LV%$6yh81{eJU19EeYTpKkd~ z%SFj?&j%o8z@zIefmr<49)hzW10w_&uk!ouC=TE=EgN#-%iX~R0N^%=Ymz$bT$kj& zv<28tB|( + + + + + Decimal Precision + decimal.precision + + + + + + + + + + Decimal Precision List + decimal.precision + + tree + + + + + + + + + + diff --git a/smile_decimal_precision/views/res_currency_view.xml b/smile_decimal_precision/views/res_currency_view.xml new file mode 100644 index 000000000..896604dca --- /dev/null +++ b/smile_decimal_precision/views/res_currency_view.xml @@ -0,0 +1,18 @@ + + + + + + res.currency.form + res.currency + + + + + + + + + + + From c8174a74893b7b2c59352b593417dca42f6ec126 Mon Sep 17 00:00:00 2001 From: micheledic Date: Thu, 4 Jul 2024 12:53:52 +0200 Subject: [PATCH 2/4] [MIG] 14.0 smile_decimal_precision --- smile_decimal_precision/__manifest__.py | 4 ++-- smile_decimal_precision/models/res_currency.py | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/smile_decimal_precision/__manifest__.py b/smile_decimal_precision/__manifest__.py index 10cb262ee..1b48ceee9 100644 --- a/smile_decimal_precision/__manifest__.py +++ b/smile_decimal_precision/__manifest__.py @@ -3,8 +3,8 @@ { "name": "Display Decimal Precision", - "version": "15.0.0.0.1", - "depends": ["base"], + "version": "14.0.0.0.1", + "depends": ["web"], "author": "Smile", "license": 'AGPL-3', "description": """ diff --git a/smile_decimal_precision/models/res_currency.py b/smile_decimal_precision/models/res_currency.py index c5ad312d0..0cca8a47d 100644 --- a/smile_decimal_precision/models/res_currency.py +++ b/smile_decimal_precision/models/res_currency.py @@ -15,10 +15,11 @@ class ResCurrency(models.Model): @api.depends('rounding', 'display_rounding') def _get_display_decimal_places(self): - if not self.display_rounding: - self.display_decimal_places = self.decimal_places - elif 0 < self.display_rounding < 1: - self.display_decimal_places = \ - int(math.ceil(math.log10(1 / self.display_rounding))) - else: - self.display_decimal_places = 0 + for currency in self: + if not currency.display_rounding: + currency.display_decimal_places = currency.decimal_places + elif 0 < currency.display_rounding < 1: + currency.display_decimal_places = \ + int(math.ceil(math.log10(1 / currency.display_rounding))) + else: + currency.display_decimal_places = 0 From 387a0efaf38ee8a8681ea343d21b89d4312a3c26 Mon Sep 17 00:00:00 2001 From: micheledic Date: Fri, 5 Jul 2024 09:28:46 +0200 Subject: [PATCH 3/4] fix qweb --- smile_decimal_precision/report/ir_qweb.py | 68 +++++++++++++++++++++-- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/smile_decimal_precision/report/ir_qweb.py b/smile_decimal_precision/report/ir_qweb.py index c7d1f8224..bf30aaf33 100644 --- a/smile_decimal_precision/report/ir_qweb.py +++ b/smile_decimal_precision/report/ir_qweb.py @@ -1,17 +1,77 @@ # (C) 2023 Smile () # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo.addons.base.models.ir_qweb_fields import FloatConverter +from odoo.addons.base.models.ir_qweb_fields import FloatConverter, MonetaryConverter -def record_to_html(self, record, field_name, options): - if 'precision' not in options and 'decimal_precision' not in options: +def record_to_html_float(self, record, field_name, options): + if 'precision' not in options and 'decimal_precision' not in options and 'digits' in record._fields[field_name].get_description(self.env): + _, precision = \ record._fields[field_name].get_description(self.env)['digits'] or \ (None, None) options = dict(options, precision=precision) + #raise Exception(precision) return super(FloatConverter, self).record_to_html( record, field_name, options) +def record_to_html_monetary(self, record, field_name, options): + options = dict(options) + #currency should be specified by monetary field + field = record._fields[field_name] -FloatConverter.record_to_html = record_to_html + if not options.get('display_currency') and field.type == 'monetary' and field.currency_field: + options['display_currency'] = record[field.currency_field] + if not options.get('display_currency'): + # search on the model if they are a res.currency field to set as default + fields = record._fields.items() + currency_fields = [k for k, v in fields if v.type == 'many2one' and v.comodel_name == 'res.currency'] + if currency_fields: + options['display_currency'] = record[currency_fields[0]] + if 'precision' not in options and 'decimal_precision' not in options and 'digits' in record._fields[field_name].get_description(self.env): + + _, precision = \ + record._fields[field_name].get_description(self.env)['digits'] or \ + (None, None) + options = dict(options, precision=precision) + #raise Exception(options) + return super(MonetaryConverter, self).record_to_html( + record, field_name, options) + +def value_to_html_monetary(self, value, options): + display_currency = options['display_currency'] + + if not isinstance(value, (int, float)): + raise ValueError(_("The value send to monetary field is not a number.")) + + + # lang.format mandates a sprintf-style format. These formats are non- + # minimal (they have a default fixed precision instead), and + # lang.format will not set one by default. currency.round will not + # provide one either. So we need to generate a precision value + # (integer > 0) from the currency's rounding (a float generally < 1.0). + fmt = "%.{0}f".format(display_currency.display_decimal_places) + + if options.get('from_currency'): + date = options.get('date') or fields.Date.today() + company_id = options.get('company_id') + if company_id: + company = self.env['res.company'].browse(company_id) + else: + company = self.env.company + value = options['from_currency']._convert(value, display_currency, company, date) + + lang = self.user_lang() + formatted_amount = lang.format(fmt, display_currency.round(value), + grouping=True, monetary=True).replace(r' ', u'\N{NO-BREAK SPACE}').replace(r'-', u'-\N{ZERO WIDTH NO-BREAK SPACE}') + + pre = post = u'' + if display_currency.position == 'before': + pre = u'{symbol}\N{NO-BREAK SPACE}'.format(symbol=display_currency.symbol or '') + else: + post = u'\N{NO-BREAK SPACE}{symbol}'.format(symbol=display_currency.symbol or '') + + return u'{pre}{0}{post}'.format(formatted_amount, pre=pre, post=post) +FloatConverter.record_to_html = record_to_html_float +MonetaryConverter.record_to_html = record_to_html_monetary +MonetaryConverter.value_to_html = value_to_html_monetary \ No newline at end of file From 33dd600d601ea897aac8426c399fff4f150a7224 Mon Sep 17 00:00:00 2001 From: micheledic Date: Fri, 5 Jul 2024 11:17:17 +0200 Subject: [PATCH 4/4] fix invoice --- smile_decimal_precision/__manifest__.py | 2 +- smile_decimal_precision/models/__init__.py | 1 + smile_decimal_precision/models/account_move.py | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 smile_decimal_precision/models/account_move.py diff --git a/smile_decimal_precision/__manifest__.py b/smile_decimal_precision/__manifest__.py index 1b48ceee9..d906bd8e2 100644 --- a/smile_decimal_precision/__manifest__.py +++ b/smile_decimal_precision/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Display Decimal Precision", "version": "14.0.0.0.1", - "depends": ["web"], + "depends": ["web","account"], "author": "Smile", "license": 'AGPL-3', "description": """ diff --git a/smile_decimal_precision/models/__init__.py b/smile_decimal_precision/models/__init__.py index f9fede949..989bd0de1 100644 --- a/smile_decimal_precision/models/__init__.py +++ b/smile_decimal_precision/models/__init__.py @@ -5,3 +5,4 @@ from . import fields from . import ir_http from . import res_currency +from . import account_move diff --git a/smile_decimal_precision/models/account_move.py b/smile_decimal_precision/models/account_move.py new file mode 100644 index 000000000..b580a497e --- /dev/null +++ b/smile_decimal_precision/models/account_move.py @@ -0,0 +1,16 @@ +from odoo import api, fields, models, tools +from odoo.tools.misc import formatLang + +class AccountTax(models.Model): + _inherit = 'account.move' + @api.depends('line_ids.price_subtotal', 'line_ids.tax_base_amount', 'line_ids.tax_line_id', 'partner_id', 'currency_id') + def _compute_invoice_taxes_by_group(self): + res = super()._compute_invoice_taxes_by_group() + for move in self: + elements = [] + for element in move.amount_by_group: + item = list(element) + item[3] = formatLang(self.env,item[1], digits=move.currency_id.display_decimal_places, currency_obj=move.currency_id) + item[4] = formatLang(self.env,item[2], digits=move.currency_id.display_decimal_places, currency_obj=move.currency_id) + elements +=[tuple(item)] + move.amount_by_group = elements