def __setFeatureTranslatedFields(self, field_id, attr_value): from odoo.addons.splashsync.helpers import TransHelper for iso_code in TransHelper.get_extra_iso(): iso_field_id = field_id+"_"+iso_code if iso_field_id not in self._in.keys(): continue TransHelper.set(attr_value, 'name', iso_code, self._in[iso_field_id]) self._in.__delitem__(iso_field_id)
def __getFeatureTranslatedFields(self, field_id, attr_value): from odoo.addons.splashsync.helpers import TransHelper for iso_code in TransHelper.get_extra_iso(): iso_field_id = field_id+"_"+iso_code for key, val in self._in.copy().items(): if iso_field_id != val: continue self._out[iso_field_id] = TransHelper.get(attr_value, 'name', iso_code, attr_value.name) self._in.__delitem__(key)
def _set_attribute_value_langs(attr_value, field_values): """ Update a Product Attribute Value Translations :param attr_value: product.attribute.value :param field_values: dict """ for iso_code in TransHelper.get_extra_iso(): iso_field_id = "value_" + iso_code if iso_field_id in field_values.keys(): TransHelper.set(attr_value, 'name', iso_code, field_values[iso_field_id])
def __isEmptyFeatureTranslatedFields(self, field_id): from odoo.addons.splashsync.helpers import TransHelper for iso_code in TransHelper.get_extra_iso(): iso_field_id = field_id+"_"+iso_code # Read Mode for key, val in self._in.copy().items(): if iso_field_id != val: continue self._out[iso_field_id] = "" self._in.__delitem__(key) # Write Mode if iso_field_id in self._in.keys(): self._in.__delitem__(iso_field_id)
def _get_attributes_values(self, value_id): """ Get List of Attributes Values for given Field :param value_id: str :return: dict """ values = [] # ====================================================================# # Walk on Product Attributes Values for attr_value in self.object.attribute_value_ids: # Filter Attributes that are NOT Variants Attributes if AttributesHelper.is_wnva(attr_value.attribute_id): continue # Collect Values if value_id == "value": values += [attr_value.name] elif value_id == "code": values += [attr_value.attribute_id[0].name] elif value_id == "name": values += [attr_value.attribute_id[0].display_name] # Attribute Extra Price elif value_id == "price_extra": values += [ self._get_attribute_extra_price( attr_value.attribute_id[0].id) ] # Walk on Extra Languages for iso_code in TransHelper.get_extra_iso(): if value_id != "value_" + iso_code: continue values += [ TransHelper.get(attr_value, 'name', iso_code, attr_value.name) ] return values