[tryton-debian-vcs] tryton-modules-sale-shipment-cost branch upstream updated. upstream/3.4.1-1-g1913aaf
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Thu Apr 23 16:06:24 UTC 2015
The following commit has been merged in the upstream branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-sale-shipment-cost.git;a=commitdiff;h=upstream/3.4.1-1-g1913aaf
commit 1913aaf6daadeb0e12922ccd0fae1f16641296d2
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Thu Apr 23 17:00:05 2015 +0200
Adding upstream version 3.6.0.
Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>
diff --git a/CHANGELOG b/CHANGELOG
index 81a75de..fcc568a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,8 @@
-Version 3.4.1 - 2015-02-21
+Version 3.6.0 - 2015-04-20
* Bug fixes (see mercurial logs for details)
+* Add support for PyPy
+* Set sale shipment cost on sale only at quotation
+* Allow to change the carrier until the shipment is done
Version 3.4.0 - 2014-10-20
* Bug fixes (see mercurial logs for details)
diff --git a/PKG-INFO b/PKG-INFO
index dfa5ef8..f7c7cdb 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: trytond_sale_shipment_cost
-Version: 3.4.1
+Version: 3.6.0
Summary: Tryton module for sale shipment cost
Home-page: http://www.tryton.org/
Author: Tryton
Author-email: issue_tracker at tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/3.4/
+Download-URL: http://downloads.tryton.org/3.6/
Description: trytond_sale_shipment_cost
==========================
@@ -65,4 +65,6 @@ Classifier: Natural Language :: Slovenian
Classifier: Natural Language :: Spanish
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Office/Business
diff --git a/__init__.py b/__init__.py
index d16e02a..d27e065 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool
from .sale import *
diff --git a/doc/index.rst b/doc/index.rst
index fc3addc..b0679de 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -11,7 +11,8 @@ Two new fields are added to *Sale* and *Sale Configuration*:
- *On Order*: The cost will be computed once for the sale.
- *On Shipment*: The cost will be compted for each shipments.
-Once a carrier is selected a new line is appended with the shipment cost.
+At the quotation if a carrier is selected a new line is appended with the
+shipment cost but the added line can be modified when going back to draft.
Three new fields are added to *Customer Shipment*:
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 0657c31..4479e5e 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:stock.shipment.out:"
msgid "Missing \"Account Revenue\" on product \"%s\"."
-msgstr "No es troba el \"Compte a cobrar\" al producte \"%s\"."
+msgstr "No es troba el \"Compte d'ingressos\" al producte \"%s\"."
msgctxt "field:sale.configuration,sale_carrier:"
msgid "Carrier"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index 7399150..c2c4ffe 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -40,7 +40,7 @@ msgstr "Moneda del costo"
msgctxt "field:stock.shipment.out,cost_currency_digits:"
msgid "Cost Currency Digits"
-msgstr "Dígitos de moneda del costo"
+msgstr "Decimales de moneda del costo"
msgctxt "field:stock.shipment.out,cost_invoice_line:"
msgid "Cost Invoice Line"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index bd74b36..7cde4ce 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:stock.shipment.out:"
msgid "Missing \"Account Revenue\" on product \"%s\"."
-msgstr "Falta la \"Cuenta a cobrar\" en el producto \"%s\"."
+msgstr "Falta la \"Cuenta de ingresos\" en el producto \"%s\"."
msgctxt "field:sale.configuration,sale_carrier:"
msgid "Carrier"
diff --git a/sale.py b/sale.py
index 9dc2dab..d02a4fe 100644
--- a/sale.py
+++ b/sale.py
@@ -1,6 +1,6 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-from trytond.model import fields
+# This file is part of Tryton. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+from trytond.model import ModelView, Workflow, fields
from trytond.transaction import Transaction
from trytond.pyson import Eval, Bool
from trytond.pool import Pool, PoolMeta
@@ -54,101 +54,77 @@ class Sale:
config = Config(1)
return config.sale_shipment_cost_method
+ @classmethod
+ @ModelView.button
+ @Workflow.transition('quotation')
+ def quote(cls, sales):
+ super(Sale, cls).quote(sales)
+ for sale in sales:
+ sale.set_shipment_cost()
+ cls.save(sales)
+
def _get_carrier_context(self):
return {}
- @fields.depends(methods=['lines'])
- def on_change_carrier(self):
- return self.on_change_lines()
-
- @fields.depends('carrier', 'party', 'currency', 'sale_date',
- 'shipment_cost_method', 'lines')
- def on_change_lines(self):
+ def set_shipment_cost(self):
pool = Pool()
- Product = pool.get('product.product')
- Currency = pool.get('currency.currency')
- SaleLine = pool.get('sale.line')
Date = pool.get('ir.date')
-
- today = Date.today()
+ Currency = pool.get('currency.currency')
cost, currency_id = 0, None
if self.carrier:
with Transaction().set_context(self._get_carrier_context()):
cost, currency_id = self.carrier.get_sale_price()
- party = None
- party_context = {}
- if self.party:
- if self.party.lang:
- party_context['language'] = self.party.lang.code
-
- cost_line = {}
+ cost_line = None
products = [line.product for line in self.lines or []
if getattr(line, 'product', None)]
stockable = any(product.type in ('goods', 'assets')
for product in products)
if cost and currency_id and stockable:
+ today = Date.today()
date = self.sale_date or today
with Transaction().set_context(date=date):
cost = Currency.compute(Currency(currency_id), cost,
self.currency)
- product = self.carrier.carrier_product
- with Transaction().set_context(party_context):
- description = Product(product.id).rec_name
- taxes = []
- cost_line = SaleLine.default_get(SaleLine._fields.keys())
- cost_line.update({
- 'type': 'line',
- 'product': product.id,
- 'description': description,
- 'quantity': 1, # XXX
- 'unit': product.sale_uom.id,
- 'unit_price': cost,
- 'shipment_cost': cost,
- 'amount': cost,
- 'taxes': taxes,
- 'sequence': 9999, # XXX
- })
- pattern = SaleLine(**cost_line)._get_tax_rule_pattern()
- for tax in product.customer_taxes_used:
- if party and party.customer_tax_rule:
- tax_ids = party.customer_tax_rule.apply(tax, pattern)
- if tax_ids:
- taxes.extend(tax_ids)
- continue
- taxes.append(tax.id)
- if party and party.customer_tax_rule:
- tax_ids = party.customer_tax_rule.apply(None, pattern)
- if tax_ids:
- taxes.extend(tax_ids)
-
- to_remove = None
- operator, operand = None, None
- if not self.lines:
- self.lines = []
+ cost_line = self.get_shipment_cost_line(cost)
+
+ lines = list(self.lines or [])
for line in self.lines:
- if getattr(line, 'shipment_cost', None):
- if line.shipment_cost != cost_line.get('shipment_cost'):
- to_remove = line.id
- self.lines.remove(line)
- if cost_line:
- cost_line['description'] = getattr(line, 'description',
- '')
- else:
- cost_line = {}
- break
+ if line.type != 'line' or not line.shipment_cost:
+ continue
+ if cost_line and line.shipment_cost == cost:
+ cost_line = None
+ else:
+ lines.remove(line)
if cost_line:
- self.lines.append(SaleLine(**cost_line))
+ lines.append(cost_line)
+ self.lines = lines
- result = super(Sale, self).on_change_lines()
+ def get_shipment_cost_line(self, cost):
+ pool = Pool()
+ SaleLine = pool.get('sale.line')
- lines = result.setdefault('lines', {})
- if to_remove:
- lines.setdefault('remove', []).append(to_remove)
- if cost_line:
- lines.setdefault('add', []).append((-1, cost_line))
- return result
+ product = self.carrier.carrier_product
+
+ sequence = None
+ if self.lines:
+ last_line = self.lines[-1]
+ if last_line.sequence is not None:
+ sequence = last_line.sequence + 1
+
+ cost_line = SaleLine(
+ sale=self,
+ sequence=sequence,
+ type='line',
+ product=product,
+ quantity=1, # XXX
+ unit=product.sale_uom,
+ shipment_cost=cost,
+ )
+ cost_line.on_change_product()
+ cost_line.unit_price = cost_line.amount = cost
+ return cost_line
def create_shipment(self, shipment_type):
Shipment = Pool().get('stock.shipment.out')
diff --git a/setup.py b/setup.py
index 70b89cb..bb1dbc9 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,6 @@
#!/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.
+# This file is part of Tryton. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
from setuptools import setup
import re
@@ -94,6 +94,8 @@ setup(name=name,
'Natural Language :: Spanish',
'Operating System :: OS Independent',
'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: Implementation :: CPython',
+ 'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Office/Business',
],
license='GPL-3',
diff --git a/stock.py b/stock.py
index a83a864..69518c6 100644
--- a/stock.py
+++ b/stock.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
from trytond.model import fields
from trytond.pyson import Eval, Bool
from trytond.transaction import Transaction
@@ -12,11 +12,12 @@ __metaclass__ = PoolMeta
class ShipmentOut:
__name__ = 'stock.shipment.out'
carrier = fields.Many2One('carrier', 'Carrier', states={
- 'readonly': Eval('state') != 'draft',
+ 'readonly': ~Eval('state').in_(['draft', 'waiting', 'assigned',
+ 'packed']),
},
depends=['state'])
cost_currency = fields.Many2One('currency.currency',
- 'Cost Currency', states={
+ 'Cost Currency', states={
'invisible': ~Eval('carrier'),
'required': Bool(Eval('carrier')),
'readonly': ~Eval('state').in_(['draft', 'waiting', 'assigned',
@@ -26,7 +27,7 @@ class ShipmentOut:
'Cost Currency Digits'),
'on_change_with_cost_currency_digits')
cost = fields.Numeric('Cost',
- digits=(16, Eval('cost_currency_digits', 2)), states={
+ digits=(16, Eval('cost_currency_digits', 2)), states={
'invisible': ~Eval('carrier'),
'readonly': ~Eval('state').in_(['draft', 'waiting', 'assigned',
'packed']),
@@ -56,25 +57,22 @@ class ShipmentOut:
@fields.depends(methods=['inventory_moves'])
def on_change_carrier(self):
- return self.on_change_inventory_moves()
+ self.on_change_inventory_moves()
@fields.depends('carrier', 'customer', 'inventory_moves')
def on_change_inventory_moves(self):
- Currency = Pool().get('currency.currency')
-
try:
- result = super(ShipmentOut, self).on_change_inventory_moves()
+ super(ShipmentOut, self).on_change_inventory_moves()
except AttributeError:
- result = {}
+ pass
if not self.carrier:
- return result
+ return
with Transaction().set_context(self._get_carrier_context()):
cost, currency_id = self.carrier.get_sale_price()
- currency = Currency(currency_id)
- result['cost'] = cost
- result['cost_currency'] = currency.id
- result['cost_currency_digits'] = currency.digits if currency else 2
- return result
+ self.cost = cost
+ self.cost_currency = currency_id
+ self.cost_currency_digits = (self.cost_currency.digits
+ if self.cost_currency else 2)
def _get_cost_tax_rule_pattern(self):
'Get tax rule pattern for invoice line'
diff --git a/tests/__init__.py b/tests/__init__.py
index 5847e0b..2b2fb9a 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,5 +1,5 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# This file is part of Tryton. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
from .test_sale_shipment_cost import suite
diff --git a/tests/scenario_sale_shipment_cost.rst b/tests/scenario_sale_shipment_cost.rst
index 2247a64..45131ba 100644
--- a/tests/scenario_sale_shipment_cost.rst
+++ b/tests/scenario_sale_shipment_cost.rst
@@ -2,16 +2,18 @@
Sale Shipment Cost Scenario
===========================
-=============
-General Setup
-=============
-
Imports::
>>> import datetime
>>> from dateutil.relativedelta import relativedelta
>>> from decimal import Decimal
>>> from proteus import config, Model, Wizard
+ >>> from trytond.modules.company.tests.tools import create_company, \
+ ... get_company
+ >>> from trytond.modules.account.tests.tools import create_fiscalyear, \
+ ... create_chart, get_accounts
+ >>> from.trytond.modules.account_invoice.tests.tools import \
+ ... set_fiscalyear_invoice_sequences, create_payment_term
>>> today = datetime.date.today()
Create database::
@@ -26,34 +28,14 @@ Install sale_shipment_cost, sale and account_invoice::
... ('name', 'in', ('sale_shipment_cost',
... 'sale', 'account_invoice')),
... ])
- >>> Module.install([x.id for x in modules], config.context)
+ >>> for module in modules:
+ ... module.click('install')
>>> Wizard('ir.module.module.install_upgrade').execute('upgrade')
Create company::
- >>> Currency = Model.get('currency.currency')
- >>> CurrencyRate = Model.get('currency.currency.rate')
- >>> Company = Model.get('company.company')
- >>> Party = Model.get('party.party')
- >>> company_config = Wizard('company.company.config')
- >>> company_config.execute('company')
- >>> company = company_config.form
- >>> party = Party(name='Dunder Mifflin')
- >>> party.save()
- >>> company.party = party
- >>> currencies = Currency.find([('code', '=', 'USD')])
- >>> if not currencies:
- ... currency = Currency(name='U.S. Dollar', symbol='$', code='USD',
- ... rounding=Decimal('0.01'), mon_grouping='[3, 3, 0]',
- ... mon_decimal_point='.', mon_thousands_sep=',')
- ... currency.save()
- ... CurrencyRate(date=today + relativedelta(month=1, day=1),
- ... rate=Decimal('1.0'), currency=currency).save()
- ... else:
- ... currency, = currencies
- >>> company.currency = currency
- >>> company_config.execute('add')
- >>> company, = Company.find()
+ >>> _ = create_company()
+ >>> company = get_company()
Reload the context::
@@ -62,59 +44,16 @@ Reload the context::
Create fiscal year::
- >>> FiscalYear = Model.get('account.fiscalyear')
- >>> Sequence = Model.get('ir.sequence')
- >>> SequenceStrict = Model.get('ir.sequence.strict')
- >>> fiscalyear = FiscalYear(name='%s' % today.year)
- >>> fiscalyear.start_date = today + relativedelta(month=1, day=1)
- >>> fiscalyear.end_date = today + relativedelta(month=12, day=31)
- >>> fiscalyear.company = company
- >>> post_move_sequence = Sequence(name='%s' % today.year,
- ... code='account.move',
- ... company=company)
- >>> post_move_sequence.save()
- >>> fiscalyear.post_move_sequence = post_move_sequence
- >>> invoice_sequence = SequenceStrict(name='%s' % today.year,
- ... code='account.invoice',
- ... company=company)
- >>> invoice_sequence.save()
- >>> fiscalyear.out_invoice_sequence = invoice_sequence
- >>> fiscalyear.in_invoice_sequence = invoice_sequence
- >>> fiscalyear.out_credit_note_sequence = invoice_sequence
- >>> fiscalyear.in_credit_note_sequence = invoice_sequence
- >>> fiscalyear.save()
- >>> FiscalYear.create_period([fiscalyear.id], config.context)
+ >>> fiscalyear = set_fiscalyear_invoice_sequences(
+ ... create_fiscalyear(company))
+ >>> fiscalyear.click('create_period')
Create chart of accounts::
- >>> AccountTemplate = Model.get('account.account.template')
- >>> Account = Model.get('account.account')
- >>> AccountJournal = Model.get('account.journal')
- >>> account_template, = AccountTemplate.find([('parent', '=', None)])
- >>> create_chart = Wizard('account.create_chart')
- >>> create_chart.execute('account')
- >>> create_chart.form.account_template = account_template
- >>> create_chart.form.company = company
- >>> create_chart.execute('create_account')
- >>> receivable, = Account.find([
- ... ('kind', '=', 'receivable'),
- ... ('company', '=', company.id),
- ... ])
- >>> payable, = Account.find([
- ... ('kind', '=', 'payable'),
- ... ('company', '=', company.id),
- ... ])
- >>> revenue, = Account.find([
- ... ('kind', '=', 'revenue'),
- ... ('company', '=', company.id),
- ... ])
- >>> expense, = Account.find([
- ... ('kind', '=', 'expense'),
- ... ('company', '=', company.id),
- ... ])
- >>> create_chart.form.account_receivable = receivable
- >>> create_chart.form.account_payable = payable
- >>> create_chart.execute('create_properties')
+ >>> _ = create_chart(company)
+ >>> accounts = get_accounts(company)
+ >>> revenue = accounts['revenue']
+ >>> expense = accounts['expense']
Create customer::
@@ -175,38 +114,31 @@ Create carrier::
Create payment term::
- >>> PaymentTerm = Model.get('account.invoice.payment_term')
- >>> PaymentTermLine = Model.get('account.invoice.payment_term.line')
- >>> payment_term = PaymentTerm(name='Direct')
- >>> payment_term_line = PaymentTermLine(type='remainder', days=0)
- >>> payment_term.lines.append(payment_term_line)
+ >>> payment_term = create_payment_term()
>>> payment_term.save()
Sale products with cost on shipment::
>>> Sale = Model.get('sale.sale')
- >>> SaleLine = Model.get('sale.line')
>>> sale = Sale()
>>> sale.party = customer
>>> sale.carrier = carrier
>>> sale.payment_term = payment_term
>>> sale.invoice_method = 'shipment'
>>> sale.shipment_cost_method = 'shipment'
- >>> sale_line = SaleLine()
- >>> sale.lines.append(sale_line)
+ >>> sale_line = sale.lines.new()
>>> sale_line.product = product
>>> sale_line.quantity = 5.0
+ >>> sale.click('quote')
>>> cost_line = sale.lines[-1]
>>> cost_line.product == carrier_product
True
>>> cost_line.quantity
- 1
+ 1.0
>>> cost_line.amount
Decimal('3.00')
- >>> sale.save()
- >>> Sale.quote([sale.id], config.context)
- >>> Sale.confirm([sale.id], config.context)
- >>> Sale.process([sale.id], config.context)
+ >>> sale.click('confirm')
+ >>> sale.click('process')
>>> sale.state
u'processing'
>>> sale.untaxed_amount
@@ -220,27 +152,23 @@ Send products::
True
>>> shipment.cost
Decimal('3')
- >>> shipment.cost_currency == currency
+ >>> shipment.cost_currency == company.currency
True
>>> move, = shipment.inventory_moves
>>> move.quantity = 4
>>> shipment.cost
Decimal('3')
- >>> shipment.cost_currency == currency
+ >>> shipment.cost_currency == company.currency
True
>>> shipment.state
u'waiting'
- >>> shipment.save()
- >>> shipment.reload()
- >>> ShipmentOut.assign_force([shipment.id], config.context)
+ >>> shipment.click('assign_force')
>>> shipment.state
u'assigned'
- >>> shipment.reload()
- >>> ShipmentOut.pack([shipment.id], config.context)
+ >>> shipment.click('pack')
>>> shipment.state
u'packed'
- >>> shipment.reload()
- >>> ShipmentOut.done([shipment.id], config.context)
+ >>> shipment.click('done')
>>> shipment.state
u'done'
@@ -259,21 +187,19 @@ Sale products with cost on order::
>>> sale.payment_term = payment_term
>>> sale.invoice_method = 'order'
>>> sale.shipment_cost_method = 'order'
- >>> sale_line = SaleLine()
- >>> sale.lines.append(sale_line)
+ >>> sale_line = sale.lines.new()
>>> sale_line.product = product
>>> sale_line.quantity = 3.0
+ >>> sale.click('quote')
>>> cost_line = sale.lines[-1]
>>> cost_line.product == carrier_product
True
- >>> cost_line.quantity == 1
- True
+ >>> cost_line.quantity
+ 1.0
>>> cost_line.amount
Decimal('3.00')
- >>> sale.save()
- >>> Sale.quote([sale.id], config.context)
- >>> Sale.confirm([sale.id], config.context)
- >>> Sale.process([sale.id], config.context)
+ >>> sale.click('confirm')
+ >>> sale.click('process')
>>> sale.state
u'processing'
>>> sale.untaxed_amount
diff --git a/tests/test_sale_shipment_cost.py b/tests/test_sale_shipment_cost.py
index 0f987b3..2626d01 100644
--- a/tests/test_sale_shipment_cost.py
+++ b/tests/test_sale_shipment_cost.py
@@ -1,25 +1,15 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
+# 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 unittest
import doctest
import trytond.tests.test_tryton
-from trytond.tests.test_tryton import test_view, test_depends
+from trytond.tests.test_tryton import ModuleTestCase
from trytond.tests.test_tryton import doctest_setup, doctest_teardown
-class SaleShipmentCostTestCase(unittest.TestCase):
+class SaleShipmentCostTestCase(ModuleTestCase):
'Test Sale Shipment Cost module'
-
- def setUp(self):
- trytond.tests.test_tryton.install_module('sale_shipment_cost')
-
- def test0005views(self):
- 'Test views'
- test_view('sale_shipment_cost')
-
- def test0006depends(self):
- 'Test depends'
- test_depends()
+ module = 'sale_shipment_cost'
def suite():
diff --git a/tryton.cfg b/tryton.cfg
index 1790e97..5fb8c23 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
[tryton]
-version=3.4.1
+version=3.6.0
depends:
account_invoice
carrier
diff --git a/trytond_sale_shipment_cost.egg-info/PKG-INFO b/trytond_sale_shipment_cost.egg-info/PKG-INFO
index 28ebf0c..591af9a 100644
--- a/trytond_sale_shipment_cost.egg-info/PKG-INFO
+++ b/trytond_sale_shipment_cost.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: trytond-sale-shipment-cost
-Version: 3.4.1
+Version: 3.6.0
Summary: Tryton module for sale shipment cost
Home-page: http://www.tryton.org/
Author: Tryton
Author-email: issue_tracker at tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/3.4/
+Download-URL: http://downloads.tryton.org/3.6/
Description: trytond_sale_shipment_cost
==========================
@@ -65,4 +65,6 @@ Classifier: Natural Language :: Slovenian
Classifier: Natural Language :: Spanish
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Office/Business
diff --git a/trytond_sale_shipment_cost.egg-info/requires.txt b/trytond_sale_shipment_cost.egg-info/requires.txt
index bf502e9..4dfdd3d 100644
--- a/trytond_sale_shipment_cost.egg-info/requires.txt
+++ b/trytond_sale_shipment_cost.egg-info/requires.txt
@@ -1,6 +1,6 @@
-trytond_account_invoice >= 3.4, < 3.5
-trytond_carrier >= 3.4, < 3.5
-trytond_currency >= 3.4, < 3.5
-trytond_sale >= 3.4, < 3.5
-trytond_stock >= 3.4, < 3.5
-trytond >= 3.4, < 3.5
\ No newline at end of file
+trytond_account_invoice >= 3.6, < 3.7
+trytond_carrier >= 3.6, < 3.7
+trytond_currency >= 3.6, < 3.7
+trytond_sale >= 3.6, < 3.7
+trytond_stock >= 3.6, < 3.7
+trytond >= 3.6, < 3.7
\ No newline at end of file
--
tryton-modules-sale-shipment-cost
More information about the tryton-debian-vcs
mailing list