[tryton-debian-vcs] tryton-modules-project-invoice branch upstream updated. upstream/3.0.0-1-g2ad1307

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Tue Apr 22 13:09:12 UTC 2014


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

commit 2ad130727964c874a468eba7bab036de3bf8c35b
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Tue Apr 22 14:22:51 2014 +0200

    Adding upstream version 3.2.0.

diff --git a/CHANGELOG b/CHANGELOG
index cd2dc58..aeba0cd 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 3.2.0 - 2014-04-21
+* Bug fixes (see mercurial logs for details)
+
 Version 3.0.0 - 2013-10-21
 * Bug fixes (see mercurial logs for details)
 
diff --git a/COPYRIGHT b/COPYRIGHT
index 1ef62b0..f8646f0 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,5 +1,5 @@
-Copyright (C) 2013 Cédric Krier.
-Copyright (C) 2013 B2CK SPRL.
+Copyright (C) 2013-2014 Cédric Krier.
+Copyright (C) 2013-2014 B2CK SPRL.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff --git a/INSTALL b/INSTALL
index 2a0be6c..5e8e3ee 100644
--- a/INSTALL
+++ b/INSTALL
@@ -4,7 +4,7 @@ Installing trytond_project_invoice
 Prerequisites
 -------------
 
- * Python 2.6 or later (http://www.python.org/)
+ * Python 2.7 or later (http://www.python.org/)
  * trytond (http://www.tryton.org/)
  * python-sql (http://code.google.com/p/python-sql/)
  * trytond_project (http://www.tryton.org/)
diff --git a/MANIFEST.in b/MANIFEST.in
index fc0b03e..f2f691a 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,13 +1,11 @@
 include INSTALL
 include README
-include TODO
 include COPYRIGHT
 include CHANGELOG
 include LICENSE
 include tryton.cfg
 include *.xml
 include view/*.xml
-include *.odt
 include locale/*.po
 include doc/*
 include tests/*.rst
diff --git a/PKG-INFO b/PKG-INFO
index 97b0fd1..7d6cbef 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_project_invoice
-Version: 3.0.0
+Version: 3.2.0
 Summary: Tryton module to invoice projects
 Home-page: http://www.tryton.org/
 Author: Tryton
-Author-email: UNKNOWN
+Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.0/
+Download-URL: http://downloads.tryton.org/3.2/
 Description: trytond_project_invoice
         =======================
         
@@ -43,6 +43,7 @@ Description: trytond_project_invoice
         
           http://www.tryton.org/
         
+Keywords: tryton project invoice
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
@@ -63,6 +64,5 @@ Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 9747808..91bced6 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -4,7 +4,7 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:project.work:"
 msgid "There is no list price on work \"%s\"."
-msgstr "No hi ha cap producte al treball \"%s\"."
+msgstr "No hi ha cap preu al treball \"%s\"."
 
 msgctxt "error:project.work:"
 msgid "There is no party on work \"%s\"."
diff --git a/locale/es_ES.po b/locale/es_CO.po
similarity index 72%
copy from locale/es_ES.po
copy to locale/es_CO.po
index 6b0f2e6..5107864 100644
--- a/locale/es_ES.po
+++ b/locale/es_CO.po
@@ -4,51 +4,51 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:project.work:"
 msgid "There is no list price on work \"%s\"."
-msgstr "No hay precio en el trabajo \"%s\"."
+msgstr "No hay lista de precios en la tarea \"%s\"."
 
 msgctxt "error:project.work:"
 msgid "There is no party on work \"%s\"."
-msgstr "No hay ningún tercero en el trabajo \"%s\"."
+msgstr "No hay tercero en la tarea \"%s\"."
 
 msgctxt "error:project.work:"
 msgid "There is no product on work \"%s\"."
-msgstr "No hay ningún producto en el trabajo \"%s\"."
+msgstr "No hay producto en la tarea \"%s\"."
 
 msgctxt "error:timesheet.line:"
 msgid "You can not delete invoiced line."
-msgstr "No puede eliminar una línea facturada."
+msgstr "No puede eliminar líneas facturadas."
 
 msgctxt "error:timesheet.line:"
 msgid "You can not modify invoiced line."
-msgstr "No puede modificar una línea facturada."
+msgstr "No puede modificar una línea facurada."
 
 msgctxt "field:project.work,hours_to_invoice:"
 msgid "Hours to Invoice"
-msgstr "Horas a facturar"
+msgstr "Horas a Facturar"
 
 msgctxt "field:project.work,invoice_line:"
 msgid "Invoice Line"
-msgstr "Línea de factura"
+msgstr "Línea de Factura"
 
 msgctxt "field:project.work,invoice_method:"
 msgid "Invoice Method"
-msgstr "Método de facturación"
+msgstr "Método de Facturación"
 
 msgctxt "field:project.work,invoiced_amount:"
 msgid "Invoiced Amount"
-msgstr "Importe facturado"
+msgstr "Valor Facturado"
 
 msgctxt "field:project.work,invoiced_hours:"
 msgid "Invoiced Hours"
-msgstr "Horas facturadas"
+msgstr "Horas Facturadas"
 
 msgctxt "field:project.work,project_invoice_method:"
 msgid "Invoice Method"
-msgstr "Método de facturación"
+msgstr "Método de Facturación"
 
 msgctxt "field:timesheet.line,invoice_line:"
 msgid "Invoice Line"
-msgstr "Línea de factura"
+msgstr "Línea de Factura"
 
 msgctxt "model:ir.action,name:open_invoice"
 msgid "Invoices"
@@ -56,7 +56,7 @@ msgstr "Facturas"
 
 msgctxt "model:res.group,name:group_project_invoice"
 msgid "Project Invoice"
-msgstr "Facturación de proyectos"
+msgstr "Facturación de Proyecto"
 
 msgctxt "selection:project.work,invoice_method:"
 msgid "Manual"
@@ -64,11 +64,11 @@ msgstr "Manual"
 
 msgctxt "selection:project.work,invoice_method:"
 msgid "On Effort"
-msgstr "Por el esfuerzo estimado"
+msgstr "Por Esfuerzo"
 
 msgctxt "selection:project.work,invoice_method:"
 msgid "On Timesheet"
-msgstr "Por las horas realizadas"
+msgstr "Por Registro de Tiempo"
 
 msgctxt "selection:project.work,project_invoice_method:"
 msgid "Manual"
@@ -76,11 +76,11 @@ msgstr "Manual"
 
 msgctxt "selection:project.work,project_invoice_method:"
 msgid "On Effort"
-msgstr "Por el esfuerzo estimado"
+msgstr "Por Esfuerzo"
 
 msgctxt "selection:project.work,project_invoice_method:"
 msgid "On Timesheet"
-msgstr "Por las horas realizadas"
+msgstr "Por Registro de Tiempo"
 
 msgctxt "view:project.work:"
 msgid "Invoice"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 6b0f2e6..fa04c28 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -4,7 +4,7 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:project.work:"
 msgid "There is no list price on work \"%s\"."
-msgstr "No hay precio en el trabajo \"%s\"."
+msgstr "No hay ningún precio en el trabajo \"%s\"."
 
 msgctxt "error:project.work:"
 msgid "There is no party on work \"%s\"."
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index 901ce6d..5bcd25d 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -8,7 +8,7 @@ msgstr "Pri dejavnosti \"%s\" ni cenika."
 
 msgctxt "error:project.work:"
 msgid "There is no party on work \"%s\"."
-msgstr "Pri dejavnosti \"%s\" ni stranke."
+msgstr "Pri dejavnosti \"%s\" ni partnerja."
 
 msgctxt "error:project.work:"
 msgid "There is no product on work \"%s\"."
diff --git a/setup.py b/setup.py
index d20d425..03adb51 100644
--- a/setup.py
+++ b/setup.py
@@ -11,33 +11,51 @@ import ConfigParser
 def read(fname):
     return open(os.path.join(os.path.dirname(__file__), fname)).read()
 
+
+def get_require_version(name):
+    if minor_version % 2:
+        require = '%s >= %s.%s.dev0, < %s.%s'
+    else:
+        require = '%s >= %s.%s, < %s.%s'
+    require %= (name, major_version, minor_version,
+        major_version, minor_version + 1)
+    return require
+
 config = ConfigParser.ConfigParser()
 config.readfp(open('tryton.cfg'))
 info = dict(config.items('tryton'))
 for key in ('depends', 'extras_depend', 'xml'):
     if key in info:
         info[key] = info[key].strip().splitlines()
-major_version, minor_version, _ = info.get('version', '0.0.1').split('.', 2)
+version = info.get('version', '0.0.1')
+major_version, minor_version, _ = version.split('.', 2)
 major_version = int(major_version)
 minor_version = int(minor_version)
+name = 'trytond_project_invoice'
+
+download_url = 'http://downloads.tryton.org/%s.%s/' % (
+    major_version, minor_version)
+if minor_version % 2:
+    version = '%s.%s.dev0' % (major_version, minor_version)
+    download_url = (
+        'hg+http://hg.tryton.org/modules/%s#egg=%s-%s' % (
+            name[8:], name, version))
 
 requires = ['python-sql']
 for dep in info.get('depends', []):
     if not re.match(r'(ir|res|webdav)(\W|$)', dep):
-        requires.append('trytond_%s >= %s.%s, < %s.%s' %
-            (dep, major_version, minor_version, major_version,
-                minor_version + 1))
-requires.append('trytond >= %s.%s, < %s.%s' %
-    (major_version, minor_version, major_version, minor_version + 1))
+        requires.append(get_require_version('trytond_%s' % dep))
+requires.append(get_require_version('trytond'))
 
-setup(name='trytond_project_invoice',
-    version=info.get('version', '0.0.1'),
+setup(name=name,
+    version=version,
     description='Tryton module to invoice projects',
     long_description=read('README'),
     author='Tryton',
+    author_email='issue_tracker at tryton.org',
     url='http://www.tryton.org/',
-    download_url=("http://downloads.tryton.org/" +
-        info.get('version', '0.0.1').rsplit('.', 1)[0] + '/'),
+    download_url=download_url,
+    keywords='tryton project invoice',
     package_dir={'trytond.modules.project_invoice': '.'},
     packages=[
         'trytond.modules.project_invoice',
@@ -67,7 +85,6 @@ setup(name='trytond_project_invoice',
         'Natural Language :: Slovenian',
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
-        'Programming Language :: Python :: 2.6',
         'Programming Language :: Python :: 2.7',
         'Topic :: Office/Business',
         ],
diff --git a/tests/scenario_project_invoice_effort.rst b/tests/scenario_project_invoice_effort.rst
index 37e03a0..6d1192c 100644
--- a/tests/scenario_project_invoice_effort.rst
+++ b/tests/scenario_project_invoice_effort.rst
@@ -187,8 +187,8 @@ Check project hours::
     0.0
     >>> project.hours_to_invoice
     0.0
-    >>> project.invoiced_amount == Decimal(0)
-    True
+    >>> project.invoiced_amount
+    Decimal('0')
 
 Do 1 task::
 
@@ -202,8 +202,8 @@ Check project hours::
     0.0
     >>> project.hours_to_invoice
     5.0
-    >>> project.invoiced_amount == Decimal(0)
-    True
+    >>> project.invoiced_amount
+    Decimal('0')
 
 Invoice project::
 
@@ -214,8 +214,8 @@ Invoice project::
     5.0
     >>> project.hours_to_invoice
     0.0
-    >>> project.invoiced_amount == Decimal(100)
-    True
+    >>> project.invoiced_amount
+    Decimal('100.00')
 
 Do project::
 
@@ -230,8 +230,8 @@ Check project hours::
     5.0
     >>> project.hours_to_invoice
     1.0
-    >>> project.invoiced_amount == Decimal(100)
-    True
+    >>> project.invoiced_amount
+    Decimal('100.00')
 
 Invoice again project::
 
@@ -242,5 +242,5 @@ Invoice again project::
     6.0
     >>> project.hours_to_invoice
     0.0
-    >>> project.invoiced_amount == Decimal(120)
-    True
+    >>> project.invoiced_amount
+    Decimal('120.00')
diff --git a/tests/scenario_project_invoice_timesheet.rst b/tests/scenario_project_invoice_timesheet.rst
index cef9ed0..0163f69 100644
--- a/tests/scenario_project_invoice_timesheet.rst
+++ b/tests/scenario_project_invoice_timesheet.rst
@@ -199,8 +199,8 @@ Check project hours::
     0.0
     >>> project.hours_to_invoice
     5.0
-    >>> project.invoiced_amount == Decimal(0)
-    True
+    >>> project.invoiced_amount
+    Decimal('0')
 
 Invoice project::
 
@@ -211,8 +211,8 @@ Invoice project::
     5.0
     >>> project.hours_to_invoice
     0.0
-    >>> project.invoiced_amount == Decimal(100)
-    True
+    >>> project.invoiced_amount
+    Decimal('100.000000000000')
 
 Create more timesheets::
 
@@ -231,8 +231,8 @@ Check project hours::
     5.0
     >>> project.hours_to_invoice
     4.0
-    >>> project.invoiced_amount == Decimal(100)
-    True
+    >>> project.invoiced_amount
+    Decimal('100.000000000000')
 
 Invoice again project::
 
@@ -243,5 +243,5 @@ Invoice again project::
     9.0
     >>> project.hours_to_invoice
     0.0
-    >>> project.invoiced_amount == Decimal(180)
-    True
+    >>> project.invoiced_amount
+    Decimal('180.000000000000')
diff --git a/tests/test_project_invoice.py b/tests/test_project_invoice.py
index 99effe3..1ae7354 100644
--- a/tests/test_project_invoice.py
+++ b/tests/test_project_invoice.py
@@ -1,55 +1,26 @@
-#!/usr/bin/env python
 #This file is part of Tryton.  The COPYRIGHT file at the top level of
 #this repository contains the full copyright notices and license terms.
-
-import sys
-import os
-DIR = os.path.abspath(os.path.normpath(os.path.join(__file__,
-    '..', '..', '..', '..', '..', 'trytond')))
-if os.path.isdir(DIR):
-    sys.path.insert(0, os.path.dirname(DIR))
-
 import unittest
 import doctest
 import trytond.tests.test_tryton
-from trytond.tests.test_tryton import test_view, test_depends
-from trytond.backend.sqlite.database import Database as SQLiteDatabase
+from trytond.tests.test_tryton import test_view, test_depends, doctest_dropdb
 
 
 class ProjectInvoiceTestCase(unittest.TestCase):
-    '''
-    Test Project Invoice module.
-    '''
+    'Test Project Invoice module'
 
     def setUp(self):
         trytond.tests.test_tryton.install_module('project_invoice')
 
     def test0005views(self):
-        '''
-        Test views.
-        '''
+        'Test views'
         test_view('project_invoice')
 
     def test0006depends(self):
-        '''
-        Test depends.
-        '''
+        'Test depends'
         test_depends()
 
 
-def doctest_dropdb(test):
-    '''
-    Remove sqlite memory database
-    '''
-    database = SQLiteDatabase().connect()
-    cursor = database.cursor(autocommit=True)
-    try:
-        database.drop(cursor, ':memory:')
-        cursor.commit()
-    finally:
-        cursor.close()
-
-
 def suite():
     suite = trytond.tests.test_tryton.suite()
     suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
@@ -63,6 +34,3 @@ def suite():
             setUp=doctest_dropdb, tearDown=doctest_dropdb, encoding='utf-8',
             optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
     return suite
-
-if __name__ == '__main__':
-    unittest.TextTestRunner(verbosity=2).run(suite())
diff --git a/timesheet.py b/timesheet.py
index 39b7414..c14998f 100644
--- a/timesheet.py
+++ b/timesheet.py
@@ -30,10 +30,10 @@ class TimesheetLine:
         return super(TimesheetLine, cls).copy(records, default=default)
 
     @classmethod
-    def write(cls, records, values):
-        if any(r.invoice_line for r in records):
+    def write(cls, *args):
+        if any(l.invoice_line for lines in args[::2] for l in lines):
             cls.raise_user_error('modify_invoiced_line')
-        super(TimesheetLine, cls).write(records, values)
+        super(TimesheetLine, cls).write(*args)
 
     @classmethod
     def delete(cls, records):
diff --git a/tryton.cfg b/tryton.cfg
index a68f498..2799c25 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=3.0.0
+version=3.2.0
 depends:
     ir
     project
diff --git a/trytond_project_invoice.egg-info/PKG-INFO b/trytond_project_invoice.egg-info/PKG-INFO
index f53780c..cd36152 100644
--- a/trytond_project_invoice.egg-info/PKG-INFO
+++ b/trytond_project_invoice.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-project-invoice
-Version: 3.0.0
+Version: 3.2.0
 Summary: Tryton module to invoice projects
 Home-page: http://www.tryton.org/
 Author: Tryton
-Author-email: UNKNOWN
+Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.0/
+Download-URL: http://downloads.tryton.org/3.2/
 Description: trytond_project_invoice
         =======================
         
@@ -43,6 +43,7 @@ Description: trytond_project_invoice
         
           http://www.tryton.org/
         
+Keywords: tryton project invoice
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Plugins
@@ -63,6 +64,5 @@ Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Office/Business
diff --git a/trytond_project_invoice.egg-info/SOURCES.txt b/trytond_project_invoice.egg-info/SOURCES.txt
index e00a96a..a7678d8 100644
--- a/trytond_project_invoice.egg-info/SOURCES.txt
+++ b/trytond_project_invoice.egg-info/SOURCES.txt
@@ -18,6 +18,7 @@ doc/index.rst
 locale/ca_ES.po
 locale/de_DE.po
 locale/es_AR.po
+locale/es_CO.po
 locale/es_ES.po
 locale/fr_FR.po
 locale/sl_SI.po
diff --git a/trytond_project_invoice.egg-info/requires.txt b/trytond_project_invoice.egg-info/requires.txt
index d1fcedf..0608f3d 100644
--- a/trytond_project_invoice.egg-info/requires.txt
+++ b/trytond_project_invoice.egg-info/requires.txt
@@ -1,8 +1,8 @@
 python-sql
-trytond_project >= 3.0, < 3.1
-trytond_project_revenue >= 3.0, < 3.1
-trytond_timesheet >= 3.0, < 3.1
-trytond_account >= 3.0, < 3.1
-trytond_account_invoice >= 3.0, < 3.1
-trytond_product >= 3.0, < 3.1
-trytond >= 3.0, < 3.1
\ No newline at end of file
+trytond_project >= 3.2, < 3.3
+trytond_project_revenue >= 3.2, < 3.3
+trytond_timesheet >= 3.2, < 3.3
+trytond_account >= 3.2, < 3.3
+trytond_account_invoice >= 3.2, < 3.3
+trytond_product >= 3.2, < 3.3
+trytond >= 3.2, < 3.3
\ No newline at end of file
-- 
tryton-modules-project-invoice



More information about the tryton-debian-vcs mailing list