Not create a package when that already use the product without packages

#038038
This commit is contained in:
Raimon Esteve 2019-06-21 14:32:35 +02:00
parent 853cdb80c3
commit 3a146cede6
5 changed files with 27 additions and 4 deletions

View file

@ -18,7 +18,13 @@ msgctxt "field:sale.line,product_template:"
msgid "Product's template"
msgstr "Plantilla de producte"
msgctxt "model:ir.message,text:package_quantity"
msgctxt "model:ir.message,text:msg_product_package_null"
msgid "You can not create a package because there are sale lines that already "
"use the product without packages."
msgstr "No pot crear paquets perque ja hi han línies de venta que ja utilitzen "
"aquest producte sense paquets."
msgctxt "model:ir.message,text:msg_package_quantity"
msgid ""
"The quantity \"%(qty)s\" of product \"%(product)s\" is not a multiple of "
"it\\'s package \"%(package)s\" quantity \"%(package_qty)s\"."

View file

@ -18,7 +18,13 @@ msgctxt "field:sale.line,product_template:"
msgid "Product's template"
msgstr "Plantilla de producto"
msgctxt "model:ir.message,text:package_quantity"
msgctxt "model:ir.message,text:msg_product_package_null"
msgid "You can not create a package because there are sale lines that already "
"use the product without packages."
msgstr "No puede crear paquetes porque hay líneas de venta que ya usan este "
"producto sin paquetes."
msgctxt "model:ir.message,text:msg_package_quantity"
msgid ""
"The quantity \"%(qty)s\" of product \"%(product)s\" is not a multiple of "
"it\\'s package \"%(package)s\" quantity \"%(package_qty)s\"."

View file

@ -3,8 +3,11 @@
this repository contains the full copyright notices and license terms. -->
<tryton>
<data group="1">
<record model="ir.message" id="package_quantity">
<record model="ir.message" id="msg_package_quantity">
<field name="text">The quantity "%(qty)s" of product "%(product)s" is not a multiple of it\'s package "%(package)s" quantity "%(package_qty)s".</field>
</record>
<record model="ir.message" id="msg_product_package_null">
<field name="text">You can not create a package because there are sale lines that already use the product without packages.</field>
</record>
</data>
</tryton>

View file

@ -10,6 +10,13 @@ __all__ = ['Package']
class Package(metaclass=PoolMeta):
__name__ = 'product.package'
@classmethod
def __setup__(cls):
super(Package, cls).__setup__()
cls._create_package.append(
('sale.line', 'sale_product_package.msg_product_package_null'),
)
@classmethod
def find_packages(cls, records):
find_packages = super(Package, cls).find_packages(records)

View file

@ -47,7 +47,8 @@ class SaleLine(metaclass=PoolMeta):
and Transaction().context.get('validate_package', True)):
package_quantity = self.quantity / self.product_package.quantity
if float(int(package_quantity)) != package_quantity:
raise UserError(gettext('sale_product_package.package_quantity',
raise UserError(gettext(
'sale_product_package.msg_package_quantity',
qty=self.quantity,
product=self.product.rec_name,
package=self.product_package.rec_name,