Merge pull request #10 from akretion/8-default-tax-on-product

[IMP] play onchange while import
This commit is contained in:
Alexis de Lattre
2016-01-27 00:08:20 +01:00
2 changed files with 252 additions and 16 deletions

View File

@@ -0,0 +1,212 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * procurement_suggest
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-12-07 15:19+0000\n"
"PO-Revision-Date: 2015-12-07 15:19+0000\n"
"Last-Translator: 2015-12-08\n"
"Language-Team: EL HADJ MIMOUNE Mourad <mourad.elhadj.mimoune@akretion.com> \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: procurement_suggest
#: code:addons/procurement_suggest/wizard/procurement_suggest.py:195
#: code:addons/procurement_suggest/wizard/procurement_suggest.py:196
#, python-format
msgid " Suggest"
msgstr " Suggerer"
#. module: procurement_suggest
#: code:addons/procurement_suggest/wizard/procurement_suggest.py:202
#, python-format
msgid "All requested quantities are null."
msgstr "Toutes les quantités recherchées sont null."
#. module: procurement_suggest
#: view:procurement.create.from.suggest:procurement_suggest.procurement_create_from_suggest_form
#: view:procurement.suggest.generate:procurement_suggest.procurement_suggest_generate_form
msgid "Cancel"
msgstr "Annuler"
#. module: procurement_suggest
#: model:ir.actions.act_window,name:procurement_suggest.procurement_create_from_suggest_action
#: view:procurement.create.from.suggest:procurement_suggest.procurement_create_from_suggest_form
msgid "Create Procurements"
msgstr "Créer un réappro"
#. module: procurement_suggest
#: model:ir.model,name:procurement_suggest.model_procurement_create_from_suggest
msgid "Create Procurements from Procurement Suggestions"
msgstr "Créer un réappro à partir de Suggestions de réappro"
#. module: procurement_suggest
#: view:procurement.create.from.suggest:procurement_suggest.procurement_create_from_suggest_form
msgid "Create Purchase Orders"
msgstr "Créer une commande d'achat"
#. module: procurement_suggest
#: field:procurement.create.from.suggest,create_uid:0
#: field:procurement.suggest,create_uid:0
#: field:procurement.suggest.generate,create_uid:0
msgid "Created by"
msgstr "Créé par"
#. module: procurement_suggest
#: field:procurement.create.from.suggest,create_date:0
#: field:procurement.suggest,create_date:0
#: field:procurement.suggest.generate,create_date:0
msgid "Created on"
msgstr "Créé le"
#. module: procurement_suggest
#: field:procurement.suggest,procurement_qty:0
msgid "Current Procurement Quantity"
msgstr "Qté réappro courrante"
#. module: procurement_suggest
#: view:procurement.suggest.generate:procurement_suggest.procurement_suggest_generate_form
msgid "Generate"
msgstr "Générer"
#. module: procurement_suggest
#: view:procurement.suggest.generate:procurement_suggest.procurement_suggest_generate_form
msgid "Generate Procurement Suggestions"
msgstr "Générer des Suggestions de réappro"
#. module: procurement_suggest
#: view:procurement.suggest:procurement_suggest.procurement_suggest_search
msgid "Group By"
msgstr "Grouper par"
#. module: procurement_suggest
#: field:procurement.create.from.suggest,id:0
#: field:procurement.suggest,id:0
#: field:procurement.suggest.generate,id:0
msgid "ID"
msgstr "ID"
#. module: procurement_suggest
#: field:procurement.suggest,incoming_qty:0
msgid "Incoming Quantity"
msgstr "Qté Entrante"
#. module: procurement_suggest
#: field:procurement.create.from.suggest,write_uid:0
#: field:procurement.suggest,write_uid:0
#: field:procurement.suggest.generate,write_uid:0
msgid "Last Updated by"
msgstr "Dernière MAJ par"
#. module: procurement_suggest
#: field:procurement.create.from.suggest,write_date:0
#: field:procurement.suggest,write_date:0
#: field:procurement.suggest.generate,write_date:0
msgid "Last Updated on"
msgstr "Dernière MAJ le"
#. module: procurement_suggest
#: model:ir.model,name:procurement_suggest.model_stock_warehouse_orderpoint
msgid "Minimum Inventory Rule"
msgstr "Règle de stock minimum"
#. module: procurement_suggest
#: field:procurement.suggest,new_procurement_qty:0
msgid "New Procurement Quantity"
msgstr "Qté à acheter"
#. module: procurement_suggest
#: field:procurement.suggest,outgoing_qty:0
msgid "Outgoing Quantity"
msgstr "Qté sortante"
#. module: procurement_suggest
#: model:ir.actions.act_window,name:procurement_suggest.procurement_suggest_action
#: model:ir.actions.act_window,name:procurement_suggest.procurement_suggest_generate_action
#: model:ir.model,name:procurement_suggest.model_procurement_suggest
#: model:ir.ui.menu,name:procurement_suggest.procurement_suggest_generate_menu
#: view:procurement.suggest:procurement_suggest.procurement_suggest_search
#: view:procurement.suggest:procurement_suggest.procurement_suggest_tree
msgid "Procurement Suggestions"
msgstr "Suggestions"
#. module: procurement_suggest
#: field:procurement.suggest,product_id:0
msgid "Product"
msgstr "Article"
#. module: procurement_suggest
#: field:procurement.suggest.generate,categ_id:0
msgid "Product Category"
msgstr "Catégorie article"
#. module: procurement_suggest
#: field:procurement.suggest,qty_available:0
msgid "Quantity On Hand"
msgstr "Quantité en stock"
#. module: procurement_suggest
#: field:procurement.suggest,orderpoint_id:0
msgid "Re-ordering Rule"
msgstr "Règle de réassort"
#. module: procurement_suggest
#: view:stock.warehouse.orderpoint:procurement_suggest.warehouse_orderpoint_search
msgid "Real"
msgstr "Réel"
#. module: procurement_suggest
#: view:procurement.suggest:procurement_suggest.procurement_suggest_search
msgid "Seller"
msgstr "Fournisseur"
#. module: procurement_suggest
#: model:ir.model,name:procurement_suggest.model_procurement_suggest_generate
msgid "Start to generate the procurement suggestions"
msgstr "Début de génération des suggestion de réappro"
#. module: procurement_suggest
#: field:procurement.suggest.generate,location_id:0
msgid "Stock Location"
msgstr "Emplacement de stock"
#. module: procurement_suggest
#: view:stock.warehouse.orderpoint:procurement_suggest.warehouse_orderpoint_search
#: field:stock.warehouse.orderpoint,suggest:0
msgid "Suggest"
msgstr "Suggerer"
#. module: procurement_suggest
#: field:procurement.suggest,seller_id:0
#: field:procurement.suggest.generate,seller_id:0
msgid "Supplier"
msgstr "Fournisseur"
#. module: procurement_suggest
#: code:addons/procurement_suggest/wizard/procurement_suggest.py:138
#, python-format
msgid "The virtual stock for all related products is above the minimum stock level."
msgstr "Le stock virtuel des produits est au dessus de stock min."
#. module: procurement_suggest
#: code:addons/procurement_suggest/wizard/procurement_suggest.py:102
#, python-format
msgid "There are 2 orderpoints (%s and %s) for the same product on stock location %s or its children."
msgstr "Il y a 2 règle de stock min (%s and %s) pour le même article et le même dépot %s."
#. module: procurement_suggest
#: view:procurement.create.from.suggest:procurement_suggest.procurement_create_from_suggest_form
msgid "This wizard will create procurements and confirm them, so that it creates purchase orders or manufacturing orders."
msgstr "Ce wizard créra des réapprot et les confirme. Ces réappro crééron des commandes d'achat ou des ordres de fabrication en fonction des articles."

View File

@@ -24,19 +24,48 @@ from openerp import models, fields, api, _
from openerp.exceptions import ValidationError
class ProductTemplate(models.Model):
_inherit = 'product.template'
class ProductCategTaxMixin(models.AbstractModel):
_name = 'product.categ.tax.mixin'
@api.onchange('categ_id')
def onchange_categ_id(self):
if self.categ_id:
# I cannot use the commented line below:
#self.taxes_id = self.categ_id.sale_tax_ids.ids
# because it ADDS the taxes (equivalent of (4, ID)) instead
# of replacing the taxes... and I want to REPLACE the taxes
# So I have to use the awful syntax (6, 0, [IDs])
self.taxes_id = [(6, 0, self.categ_id.sale_tax_ids.ids)]
self.supplier_taxes_id = [(6, 0, self.categ_id.purchase_tax_ids.ids)]
self.taxes_id, self.supplier_taxes_id = (
self.apply_tax_from_category(self.categ_id))
@api.model
def apply_tax_from_category(self, categ_id):
# self.ensure_one()
# I cannot use the commented line below:
# self.taxes_id = self.categ_id.sale_tax_ids.ids
# because it ADDS the taxes (equivalent of (4, ID)) instead
# of replacing the taxes... and I want to REPLACE the taxes
# So I have to use the awful syntax (6, 0, [IDs])
# values are sent to ('taxes_id' and 'supplier_taxes_id')
return ([(6, 0, categ_id.sale_tax_ids.ids)],
[(6, 0, categ_id.purchase_tax_ids.ids)])
@api.model
def write_or_create(self, vals):
if vals.get('categ_id'):
vals['taxes_id'], vals['supplier_taxes_id'] = (
self.apply_tax_from_category(
self.categ_id.browse(vals['categ_id'])))
@api.model
def create(self, vals):
self.write_or_create(vals)
return super(ProductCategTaxMixin, self).create(vals)
@api.multi
def write(self, vals):
self.write_or_create(vals)
return super(ProductCategTaxMixin, self).write(vals)
class ProductTemplate(models.Model):
_inherit = ['product.template', 'product.categ.tax.mixin']
_name = 'product.template'
@api.one
@api.constrains('taxes_id', 'supplier_taxes_id')
@@ -61,13 +90,8 @@ class ProductTemplate(models.Model):
class ProductProduct(models.Model):
_inherit = 'product.product'
@api.onchange('categ_id')
def onchange_categ_id(self):
if self.categ_id:
self.taxes_id = [(6, 0, self.categ_id.sale_tax_ids.ids)]
self.supplier_taxes_id = [(6, 0, self.categ_id.purchase_tax_ids.ids)]
_inherit = ['product.product', 'product.categ.tax.mixin']
_name = 'product.product'
class ProductCategory(models.Model):