[tryton-debian-vcs] tryton-modules-project-invoice branch upstream-3.4 updated. upstream/3.4.1-1-ge4089ef

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Wed Dec 23 16:53:31 UTC 2015


The following commit has been merged in the upstream-3.4 branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-project-invoice.git;a=commitdiff;h=upstream/3.4.1-1-ge4089ef

commit e4089ef22760dc3ebe976332f658663a0924a8a3
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Dec 23 15:16:39 2015 +0100

    Adding upstream version 3.4.2.
    
    Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>

diff --git a/CHANGELOG b/CHANGELOG
index 21b802a..f17ab77 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.4.2 - 2015-12-22
+* Bug fixes (see mercurial logs for details)
+
 Version 3.4.1 - 2015-02-22
 * Bug fixes (see mercurial logs for details)
 
diff --git a/PKG-INFO b/PKG-INFO
index de3da34..b8da526 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond_project_invoice
-Version: 3.4.1
+Version: 3.4.2
 Summary: Tryton module to invoice projects
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/tests/scenario_project_invoice_timesheet.rst b/tests/scenario_project_invoice_timesheet.rst
index 0163f69..fa1ac49 100644
--- a/tests/scenario_project_invoice_timesheet.rst
+++ b/tests/scenario_project_invoice_timesheet.rst
@@ -212,7 +212,7 @@ Invoice project::
     >>> project.hours_to_invoice
     0.0
     >>> project.invoiced_amount
-    Decimal('100.000000000000')
+    Decimal('100.00')
 
 Create more timesheets::
 
@@ -232,7 +232,7 @@ Check project hours::
     >>> project.hours_to_invoice
     4.0
     >>> project.invoiced_amount
-    Decimal('100.000000000000')
+    Decimal('100.00')
 
 Invoice again project::
 
@@ -244,4 +244,4 @@ Invoice again project::
     >>> project.hours_to_invoice
     0.0
     >>> project.invoiced_amount
-    Decimal('180.000000000000')
+    Decimal('180.00')
diff --git a/tryton.cfg b/tryton.cfg
index a93d565..8492bf4 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=3.4.1
+version=3.4.2
 depends:
     ir
     project
diff --git a/trytond_project_invoice.egg-info/PKG-INFO b/trytond_project_invoice.egg-info/PKG-INFO
index 67c7953..595a265 100644
--- a/trytond_project_invoice.egg-info/PKG-INFO
+++ b/trytond_project_invoice.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond-project-invoice
-Version: 3.4.1
+Version: 3.4.2
 Summary: Tryton module to invoice projects
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/work.py b/work.py
index 7f44401..d73af63 100644
--- a/work.py
+++ b/work.py
@@ -140,6 +140,7 @@ class Work:
     def _get_invoiced_amount_effort(works):
         pool = Pool()
         InvoiceLine = pool.get('account.invoice.line')
+        Currency = pool.get('currency.currency')
 
         invoice_lines = InvoiceLine.browse([
                 w.invoice_line.id for w in works
@@ -148,9 +149,14 @@ class Work:
         id2invoice_lines = dict((l.id, l) for l in invoice_lines)
         amounts = {}
         for work in works:
+            currency = work.company.currency
             if work.invoice_line:
                 invoice_line = id2invoice_lines[work.invoice_line.id]
-                amounts[work.id] = invoice_line.amount
+                invoice_currency = (invoice_line.invoice.currency
+                    if invoice_line.invoice else invoice_line.currency)
+                amounts[work.id] = Currency.compute(invoice_currency,
+                    Decimal(str(work.effort)) * invoice_line.unit_price,
+                    currency)
             else:
                 amounts[work.id] = Decimal(0)
         return amounts
@@ -159,6 +165,7 @@ class Work:
     def _get_invoiced_amount_timesheet(works):
         pool = Pool()
         InvoiceLine = pool.get('account.invoice.line')
+        Currency = pool.get('currency.currency')
 
         invoice_lines = InvoiceLine.browse([
                 t.invoice_line.id for w in works
@@ -168,13 +175,18 @@ class Work:
         id2invoice_lines = dict((l.id, l) for l in invoice_lines)
         amounts = {}
         for work in works:
+            currency = work.company.currency
             amounts[work.id] = Decimal(0)
             for timesheet_line in work.work.timesheet_lines:
                 if not timesheet_line.invoice_line:
                     continue
                 invoice_line = id2invoice_lines[timesheet_line.invoice_line.id]
-                amounts[work.id] += (invoice_line.unit_price
-                    * Decimal(str(timesheet_line.hours)))
+                invoice_currency = (invoice_line.invoice.currency
+                    if invoice_line.invoice else invoice_line.currency)
+                amounts[work.id] += Currency.compute(invoice_currency,
+                    (Decimal(str(timesheet_line.hours))
+                        * invoice_line.unit_price),
+                    currency)
         return amounts
 
     @staticmethod
-- 
tryton-modules-project-invoice



More information about the tryton-debian-vcs mailing list