first commit

This commit is contained in:
root
2026-03-14 09:42:12 +00:00
commit 0adbd20c2c
10991 changed files with 1646955 additions and 0 deletions

View 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.

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr "Recomanable"
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr "Recomanable"
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr "Mètode"
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr "Mida"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr "Métode de recomanació de productes"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr "Mida"
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Productes recomanats"
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Productes recomanats"
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr "Configuració recomanació de producte"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr "Recomanació de producte"

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr "Empfehlenswert"
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr "Empfehlenswert"
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr "Methode"
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr "Größe"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr "Artikelempfehlungsmethode"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr "Größe"
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Empfohlene Artikel"
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Empfohlene Artikel"
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr "Verkauf Einstellungen Artikelempfehlung"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr "Artikelempfehlung"

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr "Recomendable"
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr "Recomendable"
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr "Método"
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr "Tamaño"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr "Método de recomendación de producto"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr "Tamaño"
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Productos recomendados"
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Productos recomendados"
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr "Configuración recomendación de producto"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr "Recomendación de producto"

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr "Recommandable"
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr "Recommandable"
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr "Méthode"
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr "Taille"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr "Méthode de recommandation de produit"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr "Taille"
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Produits Recommandés"
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Produits Recommandés"
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr "Configuration de vente de recommandation de produit"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr "Recommandation de produit"

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,46 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr "Raccomandabile"
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr "Raccomandabile"
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr "Metodo"
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr "Dimensione"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr "Metodo di raccomandazione del prodotto"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr "Dimensione"
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Prodotti consigliati"
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Prodotti consigliati"
#, fuzzy
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr "Raccomandazione del prodotto"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr "Raccomandazione del prodotto"

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr "Aanbevelen"
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr "Aanbevelen"
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr "Methode"
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr "Grootte"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr "Aanbevelingsmethode Product"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr "Grootte"
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Aanbevolen producten"
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr "Aanbevolen producten"
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr "Verkoop configuratie product aanbeveling"
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr "Productaanbeveling"

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,46 @@
#
#, fuzzy
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr "Velikost"
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr "Velikost"
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,45 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:product.product,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:product.template,recommendable:"
msgid "Recommendable"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_method:"
msgid "Method"
msgstr ""
msgctxt "field:sale.configuration,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_method:"
msgid "Product Recommendation Method"
msgstr ""
msgctxt ""
"field:sale.configuration.product_recommendation,product_recommendation_size:"
msgid "Size"
msgstr ""
msgctxt "field:sale.point.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "field:sale.sale,recommended_products:"
msgid "Recommended Products"
msgstr ""
msgctxt "model:sale.configuration.product_recommendation,string:"
msgid "Sale Configuration Product Recommendation"
msgstr ""
msgctxt "view:sale.configuration:"
msgid "Product Recommendation"
msgstr ""

View File

@@ -0,0 +1,24 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.model import fields
from trytond.pool import PoolMeta
from trytond.pyson import Eval
class Template(metaclass=PoolMeta):
__name__ = 'product.template'
recommendable = fields.Boolean(
"Recommendable",
states={
'invisible': ~Eval('salable'),
})
@classmethod
def default_recommendable(cls):
return True
class Product(metaclass=PoolMeta):
__name__ = 'product.product'

View File

@@ -0,0 +1,17 @@
<?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="product_template_view_form">
<field name="model">product.template</field>
<field name="inherit" ref="product.template_view_form"/>
<field name="name">product_template_form</field>
</record>
<record model="ir.ui.view" id="product_template_view_list">
<field name="model">product.template</field>
<field name="inherit" ref="product.template_view_tree"/>
<field name="name">product_template_list</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,103 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.model import ModelSQL, ValueMixin, fields
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
product_recommendation_method = fields.Selection([
(None, ""),
], "Method")
product_recommendation_size = fields.Integer(
"Size", required=True,
domain=[
('product_recommendation_size', '>=', 0),
])
class Configuration(metaclass=PoolMeta):
__name__ = 'sale.configuration'
product_recommendation_method = fields.MultiValue(
product_recommendation_method)
product_recommendation_size = fields.MultiValue(
product_recommendation_size)
@classmethod
def default_product_recommendation_size(cls, **pattern):
return (
cls.multivalue_model('product_recommendation_size')
.default_product_recommendation_size())
@classmethod
def multivalue_model(cls, field):
pool = Pool()
if field in {
'product_recommendation_method',
'product_recommendation_size',
}:
return pool.get('sale.configuration.product_recommendation')
return super().multivalue_model(field)
class ConfigurationProductRecommendation(ModelSQL, ValueMixin):
__name__ = 'sale.configuration.product_recommendation'
product_recommendation_method = fields.Selection(
'get_product_recommendation_methods', "Product Recommendation Method")
product_recommendation_size = product_recommendation_size
@classmethod
def get_product_recommendation_methods(cls):
pool = Pool()
Configuration = pool.get('sale.configuration')
field_name = 'product_recommendation_method'
return Configuration.fields_get(
[field_name])[field_name]['selection']
@classmethod
def default_product_recommendation_size(cls):
return 5
class SaleMixin:
__slots__ = ()
recommended_products = fields.Function(fields.Many2Many(
'product.product', None, None, "Recommended Products",
states={
'invisible': (
(Eval('state') != 'draft')
| ~Eval('recommended_products')),
}),
'on_change_with_recommended_products')
@fields.depends('state')
def on_change_with_recommended_products(self, name=None):
pool = Pool()
Configuration = pool.get('sale.configuration')
if self.state != 'draft':
return []
config = Configuration(1)
method = config.get_multivalue('product_recommendation_method')
size = config.get_multivalue('product_recommendation_size')
products = []
if method:
generator = getattr(self, '_recommended_products_%s' % method)()
for product in filter(self._is_recommendable_product, generator):
products.append(product)
if len(products) >= size:
break
return products
@classmethod
def _is_recommendable_product(cls, product):
return product.active and product.salable and product.recommendable
class Sale(SaleMixin, metaclass=PoolMeta):
__name__ = 'sale.sale'
class POSSale(SaleMixin, metaclass=PoolMeta):
__name__ = 'sale.point.sale'

View File

@@ -0,0 +1,25 @@
<?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="configuration_view_form">
<field name="model">sale.configuration</field>
<field name="inherit" ref="sale.sale_configuration_view_form"/>
<field name="name">configuration_form</field>
</record>
<record model="ir.ui.view" id="sale_view_form">
<field name="model">sale.sale</field>
<field name="inherit" ref="sale.sale_view_form"/>
<field name="name">sale_form</field>
</record>
</data>
<data depends="sale_point">
<record model="ir.ui.view" id="sale_point_sale_view_form">
<field name="model">sale.point.sale</field>
<field name="inherit" ref="sale_point.sale_view_form"/>
<field name="name">sale_form</field>
</record>
</data>
</tryton>

View 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.

View File

@@ -0,0 +1,12 @@
# 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 ModuleTestCase
class SaleProductRecommendationTestCase(ModuleTestCase):
"Test Sale Product Recommendation module"
module = 'sale_product_recommendation'
extras = ['sale_point']
del ModuleTestCase

View File

@@ -0,0 +1,23 @@
[tryton]
version=7.8.0
depends:
ir
product
sale
extras_depend:
sale_point
xml:
product.xml
sale.xml
[register]
model:
product.Template
product.Product
sale.Configuration
sale.ConfigurationProductRecommendation
sale.Sale
[register sale_point]
model:
sale.POSSale

View File

@@ -0,0 +1,12 @@
<?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="/form" position="inside">
<separator string="Product Recommendation" id="product_recommendation" colspan="4"/>
<label name="product_recommendation_method"/>
<field name="product_recommendation_method"/>
<label name="product_recommendation_size"/>
<field name="product_recommendation_size"/>
</xpath>
</data>

View 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. -->
<data>
<xpath expr="//group[@id='checkboxes']" position="inside">
<label name="recommendable"/>
<field name="recommendable" xexpand="0" width="25"/>
</xpath>
</data>

View File

@@ -0,0 +1,8 @@
<?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='salable']" position="after">
<field name="recommendable" optional="1"/>
</xpath>
</data>

View File

@@ -0,0 +1,8 @@
<?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='lines']" position="after">
<field name="recommended_products" colspan="4" view_ids="product.product_view_tree_simple"/>
</xpath>
</data>