[FIX] delivery: Delivery methods not translated

In function name_get on model "delivery.carrier", the field name
is taken from "product.template" and the translations were just
available on model "product.product".

The translations for the "product.template" records were not available
in the .pot file because there was no external identifiers created for
the "product.template".

Now when creating the external identifier of a record, all the external
identifiers of the inherits models of this record are also created.
In this way, all the translations will be created.

opw:728682
This commit is contained in:
Goffin Simon
2017-04-27 12:11:18 +02:00
parent 1faa4a74aa
commit c242526b7b
2 changed files with 19 additions and 10 deletions
+3
View File
@@ -588,6 +588,7 @@ msgstr ""
#. module: delivery
#: model:delivery.carrier,name:delivery.free_delivery_carrier
#: model:product.product,name:delivery.free_delivery_carrier_product_product
#: model:product.template,name:delivery.free_delivery_carrier_product_template
msgid "Free delivery charges"
msgstr ""
@@ -936,6 +937,7 @@ msgstr ""
#. module: delivery
#: model:delivery.carrier,name:delivery.normal_delivery_carrier
#: model:product.product,name:delivery.normal_delivery_carrier_product_product
#: model:product.template,name:delivery.normal_delivery_carrier_product_template
msgid "Normal Delivery Charges"
msgstr ""
@@ -1425,6 +1427,7 @@ msgstr ""
#. module: delivery
#: model:delivery.carrier,name:delivery.delivery_carrier
#: model:product.product,name:delivery.delivery_carrier_product_product
#: model:product.template,name:delivery.delivery_carrier_product_template
msgid "The Poste"
msgstr ""
+16 -10
View File
@@ -1227,16 +1227,22 @@ class IrModelData(models.Model):
record = record.create(values)
if xml_id:
for parent_model, parent_field in record._inherits.iteritems():
if parent_model in existing_parents:
continue
self.sudo().create({
'name': xml_id + '_' + parent_model.replace('.', '_'),
'model': parent_model,
'module': module,
'res_id': record[parent_field].id,
'noupdate': noupdate,
})
#To add an external identifiers to all inherits model
inherit_models = [record]
while inherit_models:
current_model = inherit_models.pop()
for parent_model_name, parent_field in current_model._inherits.iteritems():
inherit_models.append(self.env[parent_model_name])
if parent_model_name in existing_parents:
continue
self.sudo().create({
'name': xml_id + '_' + parent_model_name.replace('.', '_'),
'model': parent_model_name,
'module': module,
'res_id': record[parent_field].id,
'noupdate': noupdate,
})
existing_parents.add(parent_model_name)
self.sudo().create({
'name': xml_id,
'model': model,