first commit
This commit is contained in:
2
modules/sale_promotion/__init__.py
Normal file
2
modules/sale_promotion/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
BIN
modules/sale_promotion/__pycache__/__init__.cpython-311.pyc
Normal file
BIN
modules/sale_promotion/__pycache__/__init__.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/sale_promotion/__pycache__/exceptions.cpython-311.pyc
Normal file
BIN
modules/sale_promotion/__pycache__/exceptions.cpython-311.pyc
Normal file
Binary file not shown.
BIN
modules/sale_promotion/__pycache__/sale.cpython-311.pyc
Normal file
BIN
modules/sale_promotion/__pycache__/sale.cpython-311.pyc
Normal file
Binary file not shown.
Binary file not shown.
8
modules/sale_promotion/exceptions.py
Normal file
8
modules/sale_promotion/exceptions.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# 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.exceptions import ValidationError
|
||||
|
||||
|
||||
class FormulaError(ValidationError):
|
||||
pass
|
||||
182
modules/sale_promotion/locale/bg.po
Normal file
182
modules/sale_promotion/locale/bg.po
Normal file
@@ -0,0 +1,182 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Фирма"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Крайна дата"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Формула"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Условие за плащане"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Ценова листа"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Продукти по местонахождения"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Количество"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Начална дата"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Единица"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Продукт"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Израз на python който ще се изпълни с:\n"
|
||||
"- unit_price: оригиналната единична цена"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Продукти по местонахождения"
|
||||
164
modules/sale_promotion/locale/ca.po
Normal file
164
modules/sale_promotion/locale/ca.po
Normal file
@@ -0,0 +1,164 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr "Import original"
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Preu unitari original"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoció"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Import"
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr "Categories"
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Data final"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Fórmula"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Tarifa"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Productes"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Quantitat"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Data inicial"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Unitat"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Base imponible"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Categoria"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoció"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Producte"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoció"
|
||||
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoció"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr "Impost origen"
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr "Total original"
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr "Base imponible original"
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Expressió Python que s'avaluarà amb:\n"
|
||||
"- unit_price: El preu unitari original"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promocions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Promocions de venda"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr "Vendes"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Vendes per promoció"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"La fórmula \"%(formula)s\" de la promoció \"%(promotion)s\" es invàlida amb "
|
||||
"l'excepció \"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Usuari a les empreses"
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Usuari a les empreses"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promocions"
|
||||
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Promoció de venda"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Promoció de venda - Categoria de producte"
|
||||
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Promoció de venda - Producte"
|
||||
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Informe de vendes per promoció"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Productes"
|
||||
169
modules/sale_promotion/locale/cs.po
Normal file
169
modules/sale_promotion/locale/cs.po
Normal file
@@ -0,0 +1,169 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Namu"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
164
modules/sale_promotion/locale/de.po
Normal file
164
modules/sale_promotion/locale/de.po
Normal file
@@ -0,0 +1,164 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr "Ursprünglicher Betrag"
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Ursprünglicher Einzelpreis"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Verkaufsaktion"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Betrag"
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr "Kategorien"
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Unternehmen"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Währung"
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Enddatum"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Formel"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Preiskonditionsschema"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Artikel"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Menge"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Startdatum"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Einheit"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Nettobetrag"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Kategorie"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Verkaufsaktion"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Artikel"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Verkaufsaktion"
|
||||
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Verkaufsaktion"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr "Ursprüngliche Steuer"
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr "Ursprünglicher Bruttobetrag"
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr "Ursprünglicher Nettobetrag"
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Ein Pythonausdruck, der ausgewertet wird mit:\n"
|
||||
"unit_price: originaler unit_price (Preis pro Einheit)"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Verkaufsaktionen"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Verkaufsaktionen"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr "Verkäufe"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Verkäufe pro Verkaufsaktion"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Ungültige Formel \"%(formula)s\" in Verkaufsaktion \"%(promotion)s\" mit "
|
||||
"Fehler \"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Benutzer in Unternehmen"
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Benutzer in Unternehmen"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Verkaufsaktionen"
|
||||
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Verkaufsaktion"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Verkaufsaktion - Artikelkategorie"
|
||||
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Verkaufsaktion - Artikel"
|
||||
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Verkaufsbericht Verkaufsaktion"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Artikel"
|
||||
164
modules/sale_promotion/locale/es.po
Normal file
164
modules/sale_promotion/locale/es.po
Normal file
@@ -0,0 +1,164 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr "Importe original"
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Precio unitario original"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoción"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Importe"
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr "Categorías"
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Fecha final"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Fórmula"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Tarifa"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Productos"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Cantidad"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Fecha inicial"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Unidad"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Base imponible"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Categoría"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoción"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Producto"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoción"
|
||||
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoción"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr "Impuesto origen"
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr "Total original"
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr "Base imponible original"
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Expresión Python que será evaluada con:\n"
|
||||
"- unit_price: el campo unit_price original"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promociones"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Promociones de venta"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr "Ventas"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Ventas por promoción"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"La fórmula \"%(formula)s\" de la promoción \"%(promotion)s\" no es valida "
|
||||
"generando la excepción \"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Usuario en las empresas"
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Usuario en las empresas"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promociones"
|
||||
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Promoción de venta"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Promoción de venta - Categoría de producto"
|
||||
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Promoción de venta - Producto"
|
||||
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Informe de ventas por promoción"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Productos"
|
||||
165
modules/sale_promotion/locale/es_419.po
Normal file
165
modules/sale_promotion/locale/es_419.po
Normal file
@@ -0,0 +1,165 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Precio unitario borrador"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Lista de precios"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Expresión Python que se evaluará con:\n"
|
||||
"- unit_price: el precio unitario original"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Fórmula \"%(formula)s\" no válida en la promoción \"%(promotion)s\" con "
|
||||
"excepción \"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
170
modules/sale_promotion/locale/et.po
Normal file
170
modules/sale_promotion/locale/et.po
Normal file
@@ -0,0 +1,170 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Ühiku hinna mustand"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Soodustus"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr "Kategooriad"
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Ettevõte"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Lõppkuupäev"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Valem"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nimi"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Hinnakiri"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Tooted"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Kogus"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Alguskuupäev"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Ühik"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Kategooria"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Soodustus"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Toode"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Soodustus"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Soodustus"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Soodustused"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Müügisoodustus"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Müüg soodustus"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Kasutaja ettevõttes"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Kasutaja ettevõttes"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Soodustused"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Müüg soodustus"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Müügisoodustus - toote kategooria"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Müügisoodustus - toode"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Müüg soodustus"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Tooted"
|
||||
170
modules/sale_promotion/locale/fa.po
Normal file
170
modules/sale_promotion/locale/fa.po
Normal file
@@ -0,0 +1,170 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "پیش نویس واحد قیمت"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "تبلیغ و ترویج"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr "دسته بندی ها"
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "شرکت"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "تاریخ پایان"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "فرمول"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "نام"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "لیست قیمت"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "محصولات"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "مقدار/تعداد"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "تاریخ شروع"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "واحد"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "دستهبندی"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "تبلیغ و ترویج"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "محصول"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "تبلیغ و ترویج"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "تبلیغ و ترویج"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"عبارت پایتون که با آن ارزیابی می شود:\n"
|
||||
"- واحد_قیمت: واحد_قیمت اصلی"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "ترویج ها و تبلیغات"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "ترویج ها و تبلیغات فروش"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "تبلیغ و ترویج فروش"
|
||||
|
||||
#, fuzzy, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr "فرمول: \"%s\" در ترویج وتبلیع : \"%s\" با شرایط :\"%s\" نامعتبر میباشد."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "ترویج ها و تبلیغات"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "تبلیغ و ترویج فروش"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "دسته بندی محصولات - تبلیغ و ترویج فروش"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "محصولات - تبلیغ و ترویج فروش"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "تبلیغ و ترویج فروش"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "محصولات"
|
||||
168
modules/sale_promotion/locale/fi.po
Normal file
168
modules/sale_promotion/locale/fi.po
Normal file
@@ -0,0 +1,168 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
164
modules/sale_promotion/locale/fr.po
Normal file
164
modules/sale_promotion/locale/fr.po
Normal file
@@ -0,0 +1,164 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr "Montant original"
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Prix unitaire original"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotion"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Montant"
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr "Catégories"
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Société"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Devise"
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Date de fin"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Formule"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Liste de prix"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Produits"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Quantité"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Date de début"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Unité"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Montant hors taxe"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Catégorie"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotion"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Produit"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotion"
|
||||
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotion"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr "Taxe d'origine"
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr "Total d'origine"
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr "Original non taxé"
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"L'expression Python qui sera évaluée avec :\n"
|
||||
"- unit_price : le prix unitaire original"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Promotions de vente"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr "Ventes"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Ventes par promotion"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Formule invalide « %(formula)s » sur la promotion « %(promotion)s » avec "
|
||||
"l'exception « %(exception)s »."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Utilisateur dans les sociétés"
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Utilisateur dans les sociétés"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Promotion de vente"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Promotion de vente - Catégorie de produit"
|
||||
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Promotion de vente - Produit"
|
||||
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Rapport de promotion de vente"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Produits"
|
||||
180
modules/sale_promotion/locale/hu.po
Normal file
180
modules/sale_promotion/locale/hu.po
Normal file
@@ -0,0 +1,180 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Társaság"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Űrlap"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Név"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Árlista"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Termékek"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Mennyiség"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Egység"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Termék"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Python kifejezés, mely :\n"
|
||||
" unit_price: originaler unit_price, szerint van kiértékelve (ár/egység)"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Termékek"
|
||||
163
modules/sale_promotion/locale/id.po
Normal file
163
modules/sale_promotion/locale/id.po
Normal file
@@ -0,0 +1,163 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Perusahaan"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Tanggal Akhir"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Tanggal Awal"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Kategori"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Produk"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Pengguna di dalam perusahaan"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Pengguna di dalam perusahaan"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Produk"
|
||||
174
modules/sale_promotion/locale/it.po
Normal file
174
modules/sale_promotion/locale/it.po
Normal file
@@ -0,0 +1,174 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr "Importo non tassato"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Bozza prezzo unitario"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promozione"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Importo"
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr "Categorie"
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Azienda"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Valuta"
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Data finale"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Formula"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Listino"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Prodotti"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Quantità"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Data iniziale"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Unità"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Importo non tassato"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Categoria"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promozione"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Prodotto"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promozione"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promozione"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Espressione python che verrà valorizzata con:\n"
|
||||
"- unit_price: l'unit_price originario"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promozioni"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Promozione su vendite"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Promozione su vendite"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Formula \"%(formula)s\" invalida per la promozione \"%(promotion)s\" con "
|
||||
"eccezione \"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Utente in aziende"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Utente in aziende"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promozioni"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Promozione su vendite"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Promozione vendita - Categoria di prodotto"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Promozione su vendita - prodotto"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Promozione su vendite"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Prodotti"
|
||||
178
modules/sale_promotion/locale/lo.po
Normal file
178
modules/sale_promotion/locale/lo.po
Normal file
@@ -0,0 +1,178 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "ຫ້ອງການ/ສຳນັກງານ"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "ວັນທີສິ້ນສຸດ"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "ຊື່"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "ລາຍການລາຄາ"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "ຜະລິດຕະພັນ"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "ຈຳນວນ"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "ວັນທີເລີ່ມ"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "ໜ່ວຍ"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "ຜະລິດຕະພັນ"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "ຜະລິດຕະພັນ"
|
||||
169
modules/sale_promotion/locale/lt.po
Normal file
169
modules/sale_promotion/locale/lt.po
Normal file
@@ -0,0 +1,169 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Organizacija"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Pabaigos data"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Namu"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Pradžios data"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
164
modules/sale_promotion/locale/nl.po
Normal file
164
modules/sale_promotion/locale/nl.po
Normal file
@@ -0,0 +1,164 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr "Oorspronkelijk bedrag"
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Oorspronkelijke eenheidsprijs"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoties"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Bedrag"
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr "Categorieën"
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Bedrijf"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Valuta"
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Eind datum"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Formule"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "prijslijst"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Producten"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Hoeveelheid"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Start datum"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Eenheid"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Onbelast bedrag"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Categorie"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotie"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Product"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotie"
|
||||
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotie"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr "Oorspronkelijke belasting"
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr "Oorspronkelijk totaal"
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr "Oorspronkelijk onbelast"
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Python-expressie die wordt geëvalueerd met:\n"
|
||||
"- unit_price: de oorspronkelijke eenheidsprijs"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promoties"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Verkoopspromoties"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr "Verkopen"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Verkopen per promotie"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Ongeldige formule \"%(formula)s\" in promotie \"%(promotion)s\" 'met "
|
||||
"uitzondering \"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Gebruiker in het bedrijf"
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Gebruiker in bedrijven"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promoties"
|
||||
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Verkoop reclame"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Verkoop reclame - Product categorie"
|
||||
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Verkoop reclame - Product"
|
||||
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Verkoop rapportage reclame"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Producten"
|
||||
171
modules/sale_promotion/locale/pl.po
Normal file
171
modules/sale_promotion/locale/pl.po
Normal file
@@ -0,0 +1,171 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promocja"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Firma"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Data ukończenia"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Formuła"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Cennik"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Produkty"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Ilość"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Data rozpoczęcia"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Jednostka"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promocja"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Produkt"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promocja"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promocja"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Promocja sprzedaży"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Promocja sprzedaży"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Promocja sprzedaży - Produkt"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Promocja sprzedaży - Produkt"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Promocja sprzedaży"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Produkty"
|
||||
175
modules/sale_promotion/locale/pt.po
Normal file
175
modules/sale_promotion/locale/pt.po
Normal file
@@ -0,0 +1,175 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Rascunho de Preço Unitário"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoção"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Data Final"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Fórmula"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Lista de Preços"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Produtos"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Quantidade"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Data Inicial"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Unidade"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Categoria"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoção"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Produto"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoção"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoção"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Expressão Python que será avaliada com:\n"
|
||||
"- unit_price: o preço unitário original"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr "Vendas"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Promoção de Venda"
|
||||
|
||||
#, fuzzy, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Fórmula inválida \"%(formula)s\" na promoção \"%(promotion)s\" com a exceção"
|
||||
" \"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Promoção de Venda"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Promoção de Venda - Produto"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Promoção de Venda - Produto"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Promoção de Venda"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Produtos"
|
||||
175
modules/sale_promotion/locale/ro.po
Normal file
175
modules/sale_promotion/locale/ro.po
Normal file
@@ -0,0 +1,175 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr "Sumă neimpozată"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Ciornă Preț unitar"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoție"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr "Suma"
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr "Categorii"
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Societate"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr "Monedă"
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Data de sfârşit"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Formulă"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Nume"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Listă de prețuri"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Produse"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Cantitate"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Data de Început"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Unitate"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Sumă neimpozată"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr "Categorie"
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoție"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Produs"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoție"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promoție"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Expresie Python care va fi evaluată cu:\n"
|
||||
"- unit_price: unit_price inițial"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promoții"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Promoții de vânzare"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Promoție de vânzare"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Formula \"%(formula)s\" invalidă în promoția \"%(promotion)s\" cu excepția "
|
||||
"\"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Utilizator în Companii"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr "Utilizator în Companii"
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promoții"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Promoție de vânzare"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Promoție de vânzare - Categorie de produse"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Promoție de vânzare - Produs"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Promoție de vânzare"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Produse"
|
||||
177
modules/sale_promotion/locale/ru.po
Normal file
177
modules/sale_promotion/locale/ru.po
Normal file
@@ -0,0 +1,177 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Учет.орг."
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Дата окончания"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Правило оплаты"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Продукция"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Кол-во"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Дата начала"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "Штука"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Товарно материальные ценности (ТМЦ)"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Продукция"
|
||||
176
modules/sale_promotion/locale/sl.po
Normal file
176
modules/sale_promotion/locale/sl.po
Normal file
@@ -0,0 +1,176 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr "Cena v pripravi"
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Spodbuda"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr "Družba"
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr "Končni datum"
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr "Formula"
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr "Cenik"
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr "Izdelki"
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr "Količina"
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr "Začetni datum"
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr "enota"
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Spodbuda"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr "Izdelek"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Spodbuda"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Spodbuda"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
"Pythonski izraz, preračunan z:\n"
|
||||
"- unit_price: izvorna cena"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Spodbuda prodaje"
|
||||
|
||||
#, fuzzy, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
"Neveljavna formula \"%(formula)s\" v spodbude \"%(promotion)s\" z napako "
|
||||
"\"%(exception)s\"."
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Spodbuda prodaje"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr "Spodbuda prodaje - Izdelek"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Spodbuda prodaje - Izdelek"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Spodbuda prodaje"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr "Izdelki"
|
||||
168
modules/sale_promotion/locale/tr.po
Normal file
168
modules/sale_promotion/locale/tr.po
Normal file
@@ -0,0 +1,168 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
160
modules/sale_promotion/locale/uk.po
Normal file
160
modules/sale_promotion/locale/uk.po
Normal file
@@ -0,0 +1,160 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
169
modules/sale_promotion/locale/zh_CN.po
Normal file
169
modules/sale_promotion/locale/zh_CN.po
Normal file
@@ -0,0 +1,169 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=utf-8\n"
|
||||
|
||||
msgctxt "field:sale.line,original_amount:"
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.line,original_unit_price:"
|
||||
msgid "Original Unit Price"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.line,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion,amount:"
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,categories:"
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,company:"
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,currency:"
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,end_date:"
|
||||
msgid "End Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,formula:"
|
||||
msgid "Formula"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion,name:"
|
||||
msgid "Name"
|
||||
msgstr "纳木"
|
||||
|
||||
msgctxt "field:sale.promotion,price_list:"
|
||||
msgid "Price List"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,products:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,quantity:"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,start_date:"
|
||||
msgid "Start Date"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,unit:"
|
||||
msgid "Unit"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion,untaxed_amount:"
|
||||
msgid "Untaxed Amount"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.promotion-product.category,category:"
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.category,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.promotion-product.product,product:"
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.promotion-product.product,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "field:sale.reporting.promotion,promotion:"
|
||||
msgid "Promotion"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "field:sale.sale,original_tax_amount:"
|
||||
msgid "Original Tax"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_total_amount:"
|
||||
msgid "Original Total"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "field:sale.sale,original_untaxed_amount:"
|
||||
msgid "Original Untaxed"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "help:sale.promotion,formula:"
|
||||
msgid ""
|
||||
"Python expression that will be evaluated with:\n"
|
||||
"- unit_price: the original unit_price"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_form"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_promotion_relate"
|
||||
msgid "Sale Promotions"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:ir.action,name:act_sale_relate"
|
||||
msgid "Sales"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:ir.action,name:act_sale_reporting_promotion"
|
||||
msgid "Sales per Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, python-format
|
||||
msgctxt "model:ir.message,text:msg_invalid_formula"
|
||||
msgid ""
|
||||
"Invalid formula \"%(formula)s\" in promotion \"%(promotion)s\" 'with "
|
||||
"exception \"%(exception)s\"."
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.rule.group,name:rule_group_reporting_promotion_companies"
|
||||
msgid "User in companies"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "model:ir.ui.menu,name:menu_promotion"
|
||||
msgid "Promotions"
|
||||
msgstr "Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion,string:"
|
||||
msgid "Sale Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "model:sale.promotion-product.category,string:"
|
||||
msgid "Sale Promotion - Product Category"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.promotion-product.product,string:"
|
||||
msgid "Sale Promotion - Product"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
#, fuzzy
|
||||
msgctxt "model:sale.reporting.promotion,string:"
|
||||
msgid "Sale Reporting Promotion"
|
||||
msgstr "Sale Promotions"
|
||||
|
||||
msgctxt "view:sale.promotion:"
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
10
modules/sale_promotion/message.xml
Normal file
10
modules/sale_promotion/message.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<data grouped="1">
|
||||
<record model="ir.message" id="msg_invalid_formula">
|
||||
<field name="text">Invalid formula "%(formula)s" in promotion "%(promotion)s" 'with exception "%(exception)s".</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
433
modules/sale_promotion/sale.py
Normal file
433
modules/sale_promotion/sale.py
Normal file
@@ -0,0 +1,433 @@
|
||||
# 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 datetime
|
||||
from decimal import Decimal
|
||||
|
||||
from simpleeval import simple_eval
|
||||
|
||||
from trytond.i18n import gettext
|
||||
from trytond.model import (
|
||||
DeactivableMixin, MatchMixin, ModelSQL, ModelView, Workflow, fields)
|
||||
from trytond.modules.currency.fields import Monetary
|
||||
from trytond.modules.product import price_digits, round_price
|
||||
from trytond.modules.product_price_list import Null
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.pyson import Bool, Eval, If
|
||||
from trytond.tools import decistmt
|
||||
from trytond.transaction import Transaction
|
||||
|
||||
from .exceptions import FormulaError
|
||||
|
||||
|
||||
class Sale(metaclass=PoolMeta):
|
||||
__name__ = 'sale.sale'
|
||||
|
||||
original_untaxed_amount = fields.Function(Monetary(
|
||||
"Original Untaxed", digits='currency', currency='currency',
|
||||
states={
|
||||
'invisible': (
|
||||
~Eval('state').in_(['draft', 'quotation'])
|
||||
| (Eval('original_untaxed_amount')
|
||||
== Eval('untaxed_amount'))),
|
||||
}),
|
||||
'get_original_amount')
|
||||
original_tax_amount = fields.Function(Monetary(
|
||||
"Original Tax", digits='currency', currency='currency',
|
||||
states={
|
||||
'invisible': (
|
||||
~Eval('state').in_(['draft', 'quotation'])
|
||||
| (Eval('original_tax_amount') == Eval('tax_amount'))),
|
||||
}),
|
||||
'get_original_amount')
|
||||
original_total_amount = fields.Function(Monetary(
|
||||
"Original Total", digits='currency', currency='currency',
|
||||
states={
|
||||
'invisible': (
|
||||
~Eval('state').in_(['draft', 'quotation'])
|
||||
| (Eval('original_total_amount') == Eval('total_amount'))),
|
||||
}),
|
||||
'get_original_amount')
|
||||
|
||||
def get_original_amount(self, names):
|
||||
amounts = dict.fromkeys(names)
|
||||
if self.state in {'draft', 'quotation'}:
|
||||
amounts['original_untaxed_amount'] = sum(
|
||||
(line.original_amount for line in self.line_lines), Decimal(0))
|
||||
if {'original_tax_amount', 'original_total_amount'} & set(names):
|
||||
with Transaction().set_context(_original_amount=True):
|
||||
amounts['original_tax_amount'] = self.get_tax_amount()
|
||||
amounts['original_total_amount'] = sum(
|
||||
filter(None, amounts.values()))
|
||||
return amounts
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('draft')
|
||||
def draft(cls, sales):
|
||||
super().draft(sales)
|
||||
# Reset to draft unit price
|
||||
for sale in sales:
|
||||
sale.unapply_promotion()
|
||||
cls.save(sales)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('quotation')
|
||||
def quote(cls, sales):
|
||||
super().quote(sales)
|
||||
# Store draft unit price before changing it
|
||||
for sale in sales:
|
||||
sale.apply_promotion()
|
||||
cls.save(sales)
|
||||
|
||||
def unapply_promotion(self):
|
||||
"Unapply promotion"
|
||||
changed = False
|
||||
for line in self.lines:
|
||||
if line.type != 'line':
|
||||
continue
|
||||
if line.original_unit_price is not None:
|
||||
line.unit_price = line.original_unit_price
|
||||
line.original_unit_price = None
|
||||
changed = True
|
||||
if line.promotion:
|
||||
line.promotion = None
|
||||
changed = True
|
||||
if changed:
|
||||
self.lines = self.lines # Trigger changes
|
||||
|
||||
def apply_promotion(self):
|
||||
"Apply promotion"
|
||||
pool = Pool()
|
||||
Promotion = pool.get('sale.promotion')
|
||||
|
||||
for line in self.lines:
|
||||
if line.type == 'line' and line.original_unit_price is None:
|
||||
line.original_unit_price = line.unit_price
|
||||
|
||||
promotions = Promotion.get_promotions(self)
|
||||
for promotion in promotions:
|
||||
promotion.apply(self)
|
||||
|
||||
|
||||
class Line(metaclass=PoolMeta):
|
||||
__name__ = 'sale.line'
|
||||
|
||||
original_unit_price = Monetary(
|
||||
"Original Unit Price", digits=price_digits, currency='currency',
|
||||
readonly=True,
|
||||
states={
|
||||
'required': Bool(Eval('promotion', None)),
|
||||
'invisible': ~Eval('promotion'),
|
||||
})
|
||||
original_amount = fields.Function(Monetary(
|
||||
"Original Amount", digits='currency', currency='currency',
|
||||
states={
|
||||
'invisible': ~Eval('promotion'),
|
||||
}),
|
||||
'get_original_amount')
|
||||
promotion = fields.Many2One('sale.promotion', "Promotion",
|
||||
ondelete='RESTRICT',
|
||||
domain=[
|
||||
('company', '=', Eval('company', -1)),
|
||||
])
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module):
|
||||
table_h = cls.__table_handler__(module)
|
||||
# Migration from 7.4: rename draft_unit_price
|
||||
table_h.column_rename('draft_unit_price', 'original_unit_price')
|
||||
super().__register__(module)
|
||||
|
||||
def get_original_amount(self, name):
|
||||
currency = self.sale.currency
|
||||
|
||||
def _amount(line):
|
||||
return currency.round(
|
||||
Decimal(str(line.quantity))
|
||||
* (line.original_unit_price or line.unit_price))
|
||||
|
||||
if self.type == 'line':
|
||||
return _amount(self)
|
||||
elif self.type == 'subtotal':
|
||||
amount = Decimal(0)
|
||||
for line2 in self.sale.lines:
|
||||
if line2.type == 'line':
|
||||
amount += _amount(line2)
|
||||
elif line2.type == 'subtotal':
|
||||
if self == line2:
|
||||
break
|
||||
amount = Decimal(0)
|
||||
return amount
|
||||
|
||||
@property
|
||||
def taxable_lines(self):
|
||||
lines = super().taxable_lines
|
||||
if (getattr(self, 'type', None) == 'line'
|
||||
and Transaction().context.get('_original_amount')):
|
||||
lines = [(
|
||||
getattr(self, 'taxes', None) or [],
|
||||
getattr(self, 'original_unit_price', None)
|
||||
or getattr(self, 'unit_price', None)
|
||||
or Decimal(0),
|
||||
getattr(self, 'quantity', None) or 0,
|
||||
None,
|
||||
)]
|
||||
return lines
|
||||
|
||||
|
||||
class Promotion(
|
||||
DeactivableMixin, ModelSQL, ModelView, MatchMixin):
|
||||
__name__ = 'sale.promotion'
|
||||
|
||||
name = fields.Char('Name', translate=True, required=True)
|
||||
company = fields.Many2One(
|
||||
'company.company', "Company", required=True,
|
||||
states={
|
||||
'readonly': Eval('id', 0) > 0,
|
||||
})
|
||||
start_date = fields.Date('Start Date',
|
||||
domain=['OR',
|
||||
('start_date', '<=', If(~Eval('end_date', None),
|
||||
datetime.date.max,
|
||||
Eval('end_date', datetime.date.max))),
|
||||
('start_date', '=', None),
|
||||
])
|
||||
end_date = fields.Date('End Date',
|
||||
domain=['OR',
|
||||
('end_date', '>=', If(~Eval('start_date', None),
|
||||
datetime.date.min,
|
||||
Eval('start_date', datetime.date.min))),
|
||||
('end_date', '=', None),
|
||||
])
|
||||
price_list = fields.Many2One('product.price_list', 'Price List',
|
||||
ondelete='CASCADE',
|
||||
domain=[
|
||||
('company', '=', Eval('company', -1)),
|
||||
])
|
||||
|
||||
amount = Monetary("Amount", currency='currency', digits='currency')
|
||||
currency = fields.Many2One(
|
||||
'currency.currency', "Currency",
|
||||
states={
|
||||
'required': Bool(Eval('amount', 0)),
|
||||
})
|
||||
untaxed_amount = fields.Boolean(
|
||||
"Untaxed Amount",
|
||||
states={
|
||||
'invisible': ~Eval('amount'),
|
||||
})
|
||||
|
||||
quantity = fields.Float('Quantity', digits='unit')
|
||||
unit = fields.Many2One('product.uom', 'Unit',
|
||||
states={
|
||||
'required': Bool(Eval('quantity', 0)),
|
||||
})
|
||||
products = fields.Many2Many(
|
||||
'sale.promotion-product.product', 'promotion', 'product', "Products",
|
||||
context={
|
||||
'company': Eval('company', -1),
|
||||
},
|
||||
depends={'company'})
|
||||
categories = fields.Many2Many(
|
||||
'sale.promotion-product.category', 'promotion', 'category',
|
||||
"Categories",
|
||||
context={
|
||||
'company': Eval('company', -1),
|
||||
},
|
||||
depends={'company'})
|
||||
formula = fields.Char('Formula', required=True,
|
||||
help=('Python expression that will be evaluated with:\n'
|
||||
'- unit_price: the original unit_price'))
|
||||
|
||||
@staticmethod
|
||||
def default_company():
|
||||
return Transaction().context.get('company')
|
||||
|
||||
@classmethod
|
||||
def default_untaxed_amount(cls):
|
||||
return False
|
||||
|
||||
@classmethod
|
||||
def validate_fields(cls, promotions, field_names):
|
||||
super().validate_fields(promotions, field_names)
|
||||
cls.check_formula(promotions, field_names)
|
||||
|
||||
@classmethod
|
||||
def check_formula(cls, promotions, field_names=None):
|
||||
if field_names and 'formula' not in field_names:
|
||||
return
|
||||
for promotion in promotions:
|
||||
context = promotion.get_context_formula(None)
|
||||
try:
|
||||
unit_price = promotion.get_unit_price(**context)
|
||||
if not isinstance(unit_price, Decimal):
|
||||
raise ValueError('Not a Decimal')
|
||||
except Exception as exception:
|
||||
raise FormulaError(
|
||||
gettext('sale_promotion.msg_invalid_formula',
|
||||
formula=promotion.formula,
|
||||
promotion=promotion.rec_name,
|
||||
exception=exception)) from exception
|
||||
|
||||
@classmethod
|
||||
def _promotions_domain(cls, sale):
|
||||
pool = Pool()
|
||||
Date = pool.get('ir.date')
|
||||
with Transaction().set_context(company=sale.company.id):
|
||||
sale_date = sale.sale_date or Date.today()
|
||||
return [
|
||||
['OR',
|
||||
('start_date', '<=', sale_date),
|
||||
('start_date', '=', None),
|
||||
],
|
||||
['OR',
|
||||
('end_date', '=', None),
|
||||
('end_date', '>=', sale_date),
|
||||
],
|
||||
['OR',
|
||||
('price_list', '=', None),
|
||||
('price_list', '=',
|
||||
sale.price_list.id if sale.price_list else None),
|
||||
],
|
||||
('company', '=', sale.company.id),
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def get_promotions(cls, sale, pattern=None):
|
||||
'Yield promotions that apply to sale'
|
||||
promotions = cls.search(cls._promotions_domain(sale))
|
||||
if pattern is None:
|
||||
pattern = {}
|
||||
for promotion in promotions:
|
||||
ppattern = pattern.copy()
|
||||
ppattern.update(promotion.get_pattern(sale))
|
||||
if promotion.match(ppattern):
|
||||
yield promotion
|
||||
|
||||
def get_pattern(self, sale):
|
||||
pool = Pool()
|
||||
Currency = pool.get('currency.currency')
|
||||
Uom = pool.get('product.uom')
|
||||
Sale = pool.get('sale.sale')
|
||||
pattern = {}
|
||||
if self.currency:
|
||||
amount = self.get_sale_amount(Sale(sale.id))
|
||||
pattern['amount'] = Currency.compute(
|
||||
sale.currency, amount, self.currency)
|
||||
if self.unit:
|
||||
quantity = 0
|
||||
for line in sale.lines:
|
||||
if line.type != 'line':
|
||||
continue
|
||||
if self.is_valid_sale_line(line):
|
||||
quantity += Uom.compute_qty(line.unit, line.quantity,
|
||||
self.unit)
|
||||
pattern['quantity'] = quantity
|
||||
return pattern
|
||||
|
||||
def match(self, pattern):
|
||||
def sign(amount):
|
||||
return Decimal(1).copy_sign(amount)
|
||||
if 'quantity' in pattern:
|
||||
pattern = pattern.copy()
|
||||
if (self.quantity or 0) > pattern.pop('quantity'):
|
||||
return False
|
||||
if 'amount' in pattern:
|
||||
pattern = pattern.copy()
|
||||
amount = pattern.pop('amount')
|
||||
if (sign(self.amount or 0) * sign(amount) >= 0
|
||||
and abs(self.amount or 0) > abs(amount)):
|
||||
return False
|
||||
return super().match(pattern)
|
||||
|
||||
def get_sale_amount(self, sale):
|
||||
if self.untaxed_amount:
|
||||
return sale.untaxed_amount
|
||||
else:
|
||||
return sale.total_amount
|
||||
|
||||
def is_valid_sale_line(self, line):
|
||||
|
||||
def parents(categories):
|
||||
for category in categories:
|
||||
while category:
|
||||
yield category
|
||||
category = category.parent
|
||||
|
||||
if line.quantity <= 0 or line.unit_price <= 0:
|
||||
return False
|
||||
elif self.unit and line.unit.category != self.unit.category:
|
||||
return False
|
||||
elif self.products and line.product not in self.products:
|
||||
return False
|
||||
elif self.categories:
|
||||
if not line.product:
|
||||
return False
|
||||
categories = set(parents(line.product.categories_all))
|
||||
if not categories.intersection(self.categories):
|
||||
return False
|
||||
return True
|
||||
|
||||
def apply(self, sale):
|
||||
applied = False
|
||||
for line in sale.lines:
|
||||
if line.type != 'line':
|
||||
continue
|
||||
if not self.is_valid_sale_line(line):
|
||||
continue
|
||||
context = self.get_context_formula(line)
|
||||
new_price = self.get_unit_price(**context)
|
||||
if new_price is not None:
|
||||
if new_price < 0:
|
||||
new_price = Decimal(0)
|
||||
if line.unit_price >= new_price:
|
||||
line.unit_price = round_price(new_price)
|
||||
line.promotion = self
|
||||
applied = True
|
||||
if applied:
|
||||
sale.lines = sale.lines # Trigger the change
|
||||
|
||||
def get_context_formula(self, sale_line):
|
||||
pool = Pool()
|
||||
Product = pool.get('product.product')
|
||||
if sale_line:
|
||||
with Transaction().set_context(
|
||||
sale_line._get_context_sale_price()):
|
||||
prices = Product.get_sale_price([sale_line.product])
|
||||
unit_price = prices[sale_line.product.id]
|
||||
else:
|
||||
unit_price = Decimal(0)
|
||||
return {
|
||||
'names': {
|
||||
'unit_price': unit_price if unit_price is not None else Null(),
|
||||
},
|
||||
}
|
||||
|
||||
def get_unit_price(self, **context):
|
||||
'Return unit price (as Decimal)'
|
||||
context.setdefault('functions', {})['Decimal'] = Decimal
|
||||
unit_price = simple_eval(decistmt(self.formula), **context)
|
||||
unit_price = max(unit_price, Decimal(0))
|
||||
if isinstance(unit_price, Null):
|
||||
unit_price = None
|
||||
return unit_price
|
||||
|
||||
|
||||
class Promotion_Product(ModelSQL):
|
||||
__name__ = 'sale.promotion-product.product'
|
||||
|
||||
promotion = fields.Many2One(
|
||||
'sale.promotion', "Promotion", required=True, ondelete='CASCADE')
|
||||
product = fields.Many2One('product.product', 'Product',
|
||||
required=True, ondelete='CASCADE')
|
||||
|
||||
|
||||
class Promotion_ProductCategory(ModelSQL):
|
||||
__name__ = 'sale.promotion-product.category'
|
||||
|
||||
promotion = fields.Many2One(
|
||||
'sale.promotion', "Promotion", required=True, ondelete='CASCADE')
|
||||
category = fields.Many2One(
|
||||
'product.category', "Category",
|
||||
required=True, ondelete='CASCADE')
|
||||
107
modules/sale_promotion/sale.xml
Normal file
107
modules/sale_promotion/sale.xml
Normal file
@@ -0,0 +1,107 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="sale_sale_view_form">
|
||||
<field name="model">sale.sale</field>
|
||||
<field name="inherit" ref="sale.sale_view_form"/>
|
||||
<field name="name">sale_sale_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="sale_line_view_form">
|
||||
<field name="model">sale.line</field>
|
||||
<field name="inherit" ref="sale.sale_line_view_form"/>
|
||||
<field name="name">sale_line_form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="promotion_view_form">
|
||||
<field name="model">sale.promotion</field>
|
||||
<field name="type">form</field>
|
||||
<field name="name">promotion_form</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="promotion_view_list">
|
||||
<field name="model">sale.promotion</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="name">promotion_list</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.act_window" id="act_promotion_form">
|
||||
<field name="name">Promotions</field>
|
||||
<field name="res_model">sale.promotion</field>
|
||||
<field name="search_value"
|
||||
eval="['OR', ('end_date', '>=', Date()), ('end_date', '=', None)]"
|
||||
pyson="1"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_promotion_form_view1">
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="view" ref="promotion_view_list"/>
|
||||
<field name="act_window" ref="act_promotion_form"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_promotion_form_view2">
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="view" ref="promotion_view_form"/>
|
||||
<field name="act_window" ref="act_promotion_form"/>
|
||||
</record>
|
||||
<menuitem
|
||||
parent="sale.menu_configuration"
|
||||
action="act_promotion_form"
|
||||
sequence="30"
|
||||
id="menu_promotion"/>
|
||||
|
||||
<record model="ir.action.act_window" id="act_promotion_relate">
|
||||
<field name="name">Sale Promotions</field>
|
||||
<field name="res_model">sale.promotion</field>
|
||||
<field name="domain"
|
||||
eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('price_list', '=', Eval('active_id')), ('price_list', 'in', Eval('active_ids')))]"
|
||||
pyson="1"/>
|
||||
<field name="search_value"
|
||||
eval="['OR', ('end_date', '>=', Date()), ('end_date', '=', None)]"
|
||||
pyson="1"/>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="act_promotion_relate_keyword1">
|
||||
<field name="keyword">form_relate</field>
|
||||
<field name="model">product.price_list,-1</field>
|
||||
<field name="action" ref="act_promotion_relate"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule.group" id="rule_group_promotion_companies">
|
||||
<field name="name">User in companies</field>
|
||||
<field name="model">sale.promotion</field>
|
||||
<field name="global_p" eval="True"/>
|
||||
</record>
|
||||
<record model="ir.rule" id="rule_promotion_companies">
|
||||
<field name="domain"
|
||||
eval="[('company', 'in', Eval('companies', []))]"
|
||||
pyson="1"/>
|
||||
<field name="rule_group" ref="rule_group_promotion_companies"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.access" id="access_promotion">
|
||||
<field name="model">sale.promotion</field>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_create" eval="False"/>
|
||||
<field name="perm_delete" eval="False"/>
|
||||
</record>
|
||||
<record model="ir.model.access" id="access_promotion_sale_admin">
|
||||
<field name="model">sale.promotion</field>
|
||||
<field name="group" ref="sale.group_sale_admin"/>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="True"/>
|
||||
<field name="perm_create" eval="True"/>
|
||||
<field name="perm_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.act_window" id="act_sale_relate">
|
||||
<field name="name">Sales</field>
|
||||
<field name="res_model">sale.sale</field>
|
||||
<field name="domain" eval="[('lines.promotion', 'in', Eval('active_ids', []))]" pyson="1"/>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="act_sale_relate_keyword1">
|
||||
<field name="keyword">form_relate</field>
|
||||
<field name="model">sale.promotion,-1</field>
|
||||
<field name="action" ref="act_sale_relate"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
44
modules/sale_promotion/sale_reporting.py
Normal file
44
modules/sale_promotion/sale_reporting.py
Normal file
@@ -0,0 +1,44 @@
|
||||
# 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 sql import Literal
|
||||
|
||||
from trytond.model import ModelView, fields
|
||||
from trytond.modules.sale.sale_reporting import Abstract
|
||||
|
||||
|
||||
class Promotion(Abstract, ModelView):
|
||||
__name__ = 'sale.reporting.promotion'
|
||||
|
||||
promotion = fields.Many2One('sale.promotion', "Promotion")
|
||||
|
||||
@classmethod
|
||||
def _sale_line_columns(cls, line, sale):
|
||||
return super()._sale_line_columns(line, sale) + [
|
||||
line.promotion.as_('promotion')]
|
||||
|
||||
@classmethod
|
||||
def _pos_sale_line_columns(cls, line, point, sale, currency):
|
||||
try:
|
||||
columns = super()._pos_sale_line_columns(
|
||||
line, point, sale, currency)
|
||||
except AttributeError:
|
||||
columns = []
|
||||
return columns + [Literal(None).as_('promotion')]
|
||||
|
||||
@classmethod
|
||||
def _columns(cls, tables, withs):
|
||||
line = tables['line']
|
||||
return super()._columns(tables, withs) + [line.promotion]
|
||||
|
||||
@classmethod
|
||||
def _group_by(cls, tables, withs):
|
||||
line = tables['line']
|
||||
return super()._group_by(tables, withs) + [line.promotion]
|
||||
|
||||
def get_rec_name(self, name):
|
||||
return self.promotion.rec_name if self.promotion else None
|
||||
|
||||
@classmethod
|
||||
def search_rec_name(cls, name, clause):
|
||||
return [('promotion.rec_name', *clause[1:])]
|
||||
40
modules/sale_promotion/sale_reporting.xml
Normal file
40
modules/sale_promotion/sale_reporting.xml
Normal file
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="sale_reporting_promotion_view_list">
|
||||
<field name="model">sale.reporting.promotion</field>
|
||||
<field name="type" eval="None"/>
|
||||
<field name="inherit" ref="sale.reporting_main_view_list"/>
|
||||
<field name="name">sale_reporting_promotion_list</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.act_window" id="act_sale_reporting_promotion">
|
||||
<field name="name">Sales per Promotion</field>
|
||||
<field name="res_model">sale.reporting.promotion</field>
|
||||
<field name="context_model">sale.reporting.context</field>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view" id="act_sale_reporting_promotion_view1">
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="view" ref="sale_reporting_promotion_view_list"/>
|
||||
<field name="act_window" ref="act_sale_reporting_promotion"/>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="act_sale_reporting_promotion_keyword1">
|
||||
<field name="keyword">tree_open</field>
|
||||
<field name="model" ref="sale.menu_reporting_sale"/>
|
||||
<field name="action" ref="act_sale_reporting_promotion"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule.group" id="rule_group_reporting_promotion_companies">
|
||||
<field name="name">User in companies</field>
|
||||
<field name="model">sale.reporting.promotion</field>
|
||||
<field name="global_p" eval="True"/>
|
||||
</record>
|
||||
<record model="ir.rule" id="rule_reporting_promotion_companies">
|
||||
<field name="domain" eval="[('company', 'in', Eval('companies', []))]" pyson="1"/>
|
||||
<field name="rule_group" ref="rule_group_reporting_promotion_companies"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</tryton>
|
||||
2
modules/sale_promotion/tests/__init__.py
Normal file
2
modules/sale_promotion/tests/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
166
modules/sale_promotion/tests/scenario_sale_promotion.rst
Normal file
166
modules/sale_promotion/tests/scenario_sale_promotion.rst
Normal file
@@ -0,0 +1,166 @@
|
||||
=======================
|
||||
Sale Promotion Scenario
|
||||
=======================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> import datetime
|
||||
>>> from decimal import Decimal
|
||||
|
||||
>>> from proteus import Model
|
||||
>>> from trytond.modules.account.tests.tools import (
|
||||
... create_chart, create_tax, get_accounts)
|
||||
>>> from trytond.modules.account_invoice.tests.tools import create_payment_term
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('sale_promotion', create_company, create_chart)
|
||||
|
||||
Get accounts::
|
||||
|
||||
>>> accounts = get_accounts()
|
||||
>>> revenue = accounts['revenue']
|
||||
|
||||
Create a tax::
|
||||
|
||||
>>> tax = create_tax(Decimal('0.1'))
|
||||
|
||||
Create customer::
|
||||
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> customer = Party(name='Customer')
|
||||
>>> customer.save()
|
||||
|
||||
Create account category::
|
||||
|
||||
>>> ProductCategory = Model.get('product.category')
|
||||
>>> account_category = ProductCategory(name="Account Category")
|
||||
>>> account_category.accounting = True
|
||||
>>> account_category.account_revenue = revenue
|
||||
>>> account_category.customer_taxes.append(tax)
|
||||
>>> account_category.save()
|
||||
|
||||
Create products::
|
||||
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> Product = Model.get('product.product')
|
||||
>>> Category = Model.get('product.category')
|
||||
|
||||
>>> category = Category(name="Root")
|
||||
>>> category1 = category.childs.new(name="Child 1")
|
||||
>>> category1b = category1.childs.new(name="Child 1b")
|
||||
>>> category2 = category.childs.new(name="Child 2")
|
||||
>>> category.save()
|
||||
>>> category1, category2 = category.childs
|
||||
>>> category1b, = category1.childs
|
||||
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
>>> template = ProductTemplate()
|
||||
>>> template.name = 'Product'
|
||||
>>> template.default_uom = unit
|
||||
>>> template.type = 'goods'
|
||||
>>> template.salable = True
|
||||
>>> template.lead_time = datetime.timedelta(0)
|
||||
>>> template.list_price = Decimal('20')
|
||||
>>> template.account_category = account_category
|
||||
>>> template.categories.append(Category(category1b.id))
|
||||
>>> template.save()
|
||||
>>> product1 = Product()
|
||||
>>> product1.template = template
|
||||
>>> product1.save()
|
||||
>>> product2 = Product()
|
||||
>>> product2.template = template
|
||||
>>> product2.save()
|
||||
>>> product3 = Product()
|
||||
>>> product3.template = template
|
||||
>>> product3.save()
|
||||
|
||||
>>> template4, = template.duplicate(default={'categories': [category2.id]})
|
||||
>>> template4.account_category = account_category
|
||||
>>> template4.save()
|
||||
>>> product4 = Product(template4.products[0].id)
|
||||
|
||||
Create payment term::
|
||||
|
||||
>>> payment_term = create_payment_term()
|
||||
>>> payment_term.save()
|
||||
|
||||
Create Promotion::
|
||||
|
||||
>>> Promotion = Model.get('sale.promotion')
|
||||
>>> promotion = Promotion(name='10% on 10 products 1 or 2')
|
||||
>>> promotion.quantity = 10
|
||||
>>> promotion.unit = unit
|
||||
>>> promotion.products.extend([product1, product2, product4])
|
||||
>>> promotion.categories.append(Category(category1.id))
|
||||
>>> promotion.formula = '0.9 * unit_price'
|
||||
>>> promotion.save()
|
||||
|
||||
Sale enough products for promotion::
|
||||
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.payment_term = payment_term
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product1
|
||||
>>> sale_line.quantity = 5
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product2
|
||||
>>> sale_line.quantity = 10
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product3
|
||||
>>> sale_line.quantity = 5
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product4
|
||||
>>> sale_line.quantity = 5
|
||||
>>> sale.save()
|
||||
>>> sale.untaxed_amount
|
||||
Decimal('500.00')
|
||||
>>> sale.tax_amount
|
||||
Decimal('50.00')
|
||||
>>> sale.total_amount
|
||||
Decimal('550.00')
|
||||
>>> sale.click('quote')
|
||||
>>> sale.untaxed_amount
|
||||
Decimal('470.00')
|
||||
>>> sale.tax_amount
|
||||
Decimal('47.00')
|
||||
>>> sale.total_amount
|
||||
Decimal('517.00')
|
||||
>>> sale.original_untaxed_amount
|
||||
Decimal('500.00')
|
||||
>>> sale.original_tax_amount
|
||||
Decimal('50.00')
|
||||
>>> sale.original_total_amount
|
||||
Decimal('550.00')
|
||||
|
||||
Go back to draft reset the original price::
|
||||
|
||||
>>> sale.click('draft')
|
||||
>>> sale.untaxed_amount
|
||||
Decimal('500.00')
|
||||
|
||||
Sale not enough products for promotion::
|
||||
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale.payment_term = payment_term
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product1
|
||||
>>> sale_line.quantity = 5
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product2
|
||||
>>> sale_line.quantity = 3
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product3
|
||||
>>> sale_line.quantity = 10
|
||||
>>> sale.save()
|
||||
>>> sale.untaxed_amount
|
||||
Decimal('360.00')
|
||||
>>> sale.click('quote')
|
||||
>>> sale.untaxed_amount
|
||||
Decimal('360.00')
|
||||
@@ -0,0 +1,88 @@
|
||||
==============================
|
||||
Sale Promotion Amount Scenario
|
||||
==============================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> from decimal import Decimal
|
||||
|
||||
>>> from proteus import Model
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.modules.currency.tests.tools import get_currency
|
||||
>>> from trytond.tests.tools import activate_modules
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('sale_promotion', create_company)
|
||||
|
||||
Create customer::
|
||||
|
||||
>>> Party = Model.get('party.party')
|
||||
>>> customer = Party(name='Customer')
|
||||
>>> customer.save()
|
||||
|
||||
Create products::
|
||||
|
||||
>>> ProductUom = Model.get('product.uom')
|
||||
>>> ProductTemplate = Model.get('product.template')
|
||||
>>> Product = Model.get('product.product')
|
||||
|
||||
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
|
||||
>>> template = ProductTemplate()
|
||||
>>> template.name = 'Product'
|
||||
>>> template.default_uom = unit
|
||||
>>> template.type = 'goods'
|
||||
>>> template.salable = True
|
||||
>>> template.list_price = Decimal('20')
|
||||
>>> template.save()
|
||||
>>> product1 = Product()
|
||||
>>> product1.template = template
|
||||
>>> product1.save()
|
||||
>>> product2 = Product()
|
||||
>>> product2.template = template
|
||||
>>> product2.save()
|
||||
|
||||
Create Promotion::
|
||||
|
||||
>>> Promotion = Model.get('sale.promotion')
|
||||
>>> promotion = Promotion(name='product 2 free')
|
||||
>>> promotion.amount = Decimal('100')
|
||||
>>> promotion.currency = get_currency()
|
||||
>>> promotion.products.extend([product2])
|
||||
>>> promotion.formula = '0.0'
|
||||
>>> promotion.save()
|
||||
|
||||
Sale enough for promotion::
|
||||
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product1
|
||||
>>> sale_line.quantity = 4
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product2
|
||||
>>> sale_line.quantity = 2
|
||||
>>> sale.save()
|
||||
>>> sale.total_amount
|
||||
Decimal('120.00')
|
||||
>>> sale.click('quote')
|
||||
>>> sale.untaxed_amount
|
||||
Decimal('80.00')
|
||||
|
||||
Sale not enough for promotion::
|
||||
|
||||
>>> sale = Sale()
|
||||
>>> sale.party = customer
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product1
|
||||
>>> sale_line.quantity = 2
|
||||
>>> sale_line = sale.lines.new()
|
||||
>>> sale_line.product = product2
|
||||
>>> sale_line.quantity = 2
|
||||
>>> sale.save()
|
||||
>>> sale.total_amount
|
||||
Decimal('80.00')
|
||||
>>> sale.click('quote')
|
||||
>>> sale.untaxed_amount
|
||||
Decimal('80.00')
|
||||
14
modules/sale_promotion/tests/test_module.py
Normal file
14
modules/sale_promotion/tests/test_module.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# 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.modules.company.tests import CompanyTestMixin
|
||||
from trytond.tests.test_tryton import ModuleTestCase
|
||||
|
||||
|
||||
class SalePromotionTestCase(CompanyTestMixin, ModuleTestCase):
|
||||
'Test Sale Promotion module'
|
||||
module = 'sale_promotion'
|
||||
extras = ['sale_point']
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
8
modules/sale_promotion/tests/test_scenario.py
Normal file
8
modules/sale_promotion/tests/test_scenario.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# 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.tests.test_tryton import load_doc_tests
|
||||
|
||||
|
||||
def load_tests(*args, **kwargs):
|
||||
return load_doc_tests(__name__, __file__, *args, **kwargs)
|
||||
26
modules/sale_promotion/tryton.cfg
Normal file
26
modules/sale_promotion/tryton.cfg
Normal file
@@ -0,0 +1,26 @@
|
||||
[tryton]
|
||||
version=7.8.0
|
||||
depends:
|
||||
company
|
||||
currency
|
||||
ir
|
||||
product
|
||||
product_price_list
|
||||
res
|
||||
sale
|
||||
sale_price_list
|
||||
extras_depend:
|
||||
sale_point
|
||||
xml:
|
||||
sale.xml
|
||||
sale_reporting.xml
|
||||
message.xml
|
||||
|
||||
[register]
|
||||
model:
|
||||
sale.Promotion
|
||||
sale.Promotion_Product
|
||||
sale.Promotion_ProductCategory
|
||||
sale.Sale
|
||||
sale.Line
|
||||
sale_reporting.Promotion
|
||||
43
modules/sale_promotion/view/promotion_form.xml
Normal file
43
modules/sale_promotion/view/promotion_form.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<form col="6">
|
||||
<label name="name"/>
|
||||
<field name="name"/>
|
||||
<label name="company"/>
|
||||
<field name="company"/>
|
||||
<label name="active"/>
|
||||
<field name="active"/>
|
||||
|
||||
<label name="start_date"/>
|
||||
<field name="start_date"/>
|
||||
<label name="end_date"/>
|
||||
<field name="end_date"/>
|
||||
<label name="price_list"/>
|
||||
<field name="price_list"/>
|
||||
|
||||
<label name="formula"/>
|
||||
<field name="formula" colspan="5"/>
|
||||
<separator id="pattern" colspan="6"/>
|
||||
|
||||
<label name="amount"/>
|
||||
<field name="amount" symbol=""/>
|
||||
<label name="currency"/>
|
||||
<field name="currency"/>
|
||||
<group id="amount" col="-1" colspan="2">
|
||||
<label name="untaxed_amount"/>
|
||||
<field name="untaxed_amount" xexpand="0" width="25"/>
|
||||
</group>
|
||||
|
||||
<label name="quantity"/>
|
||||
<field name="quantity"/>
|
||||
<label name="unit"/>
|
||||
<field name="unit"/>
|
||||
|
||||
<notebook colspan="6">
|
||||
<page id="products" string="Products">
|
||||
<field name="categories" colspan="2"/>
|
||||
<field name="products" colspan="2" view_ids="product.product_view_tree_simple"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
9
modules/sale_promotion/view/promotion_list.xml
Normal file
9
modules/sale_promotion/view/promotion_list.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<tree>
|
||||
<field name="company" expand="1" optional="1"/>
|
||||
<field name="name" expand="2"/>
|
||||
<field name="start_date"/>
|
||||
<field name="end_date"/>
|
||||
</tree>
|
||||
11
modules/sale_promotion/view/sale_line_form.xml
Normal file
11
modules/sale_promotion/view/sale_line_form.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<data>
|
||||
<xpath expr="//field[@name='quantity']" position="after">
|
||||
<label name="original_unit_price"/>
|
||||
<field name="original_unit_price"/>
|
||||
<label name="original_amount"/>
|
||||
<field name="original_amount"/>
|
||||
</xpath>
|
||||
</data>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<data>
|
||||
<xpath expr="//field[@name='number']" position="before">
|
||||
<field name="promotion" expand="1"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='revenue_trend']" position="replace"></xpath>
|
||||
</data>
|
||||
14
modules/sale_promotion/view/sale_sale_form.xml
Normal file
14
modules/sale_promotion/view/sale_sale_form.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
this repository contains the full copyright notices and license terms. -->
|
||||
<data>
|
||||
<xpath expr="//field[@name='untaxed_amount']" position="before">
|
||||
<field name="original_untaxed_amount" xalign="1.0" xexpand="0"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='tax_amount']" position="before">
|
||||
<field name="original_tax_amount" xalign="1.0" xexpand="0"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='total_amount']" position="before">
|
||||
<field name="original_total_amount" xalign="1.0" xexpand="0"/>
|
||||
</xpath>
|
||||
</data>
|
||||
Reference in New Issue
Block a user