Skip to content

Commit

Permalink
[ADD] product_trim_name: Product trim name.
Browse files Browse the repository at this point in the history
  • Loading branch information
alfredoavanzosc committed Jul 15, 2024
1 parent abc61ad commit 9170928
Show file tree
Hide file tree
Showing 7 changed files with 152 additions and 0 deletions.
28 changes: 28 additions & 0 deletions product_trim_name/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3

=================
Product Trim Name
=================

Product name without spaces for importers' research.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues
<https://github.com/avanzosc/odoo-addons/issues>`_. In case of trouble,
please check there if your issue has already been reported. If you spotted
it first, help us smash it by providing detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Contributors
------------

* Berezi Amubieta <[email protected]>
* Ana Juaristi <[email protected]>
1 change: 1 addition & 0 deletions product_trim_name/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
16 changes: 16 additions & 0 deletions product_trim_name/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright 2023 Berezi Amubieta - AvanzOSC
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

{
"name": "Product Trim Name",
"version": "16.0.1.0.0",
"category": "Hidden/Tools",
"license": "AGPL-3",
"author": "AvanzOSC",
"website": "https://github.com/avanzosc/odoo-addons",
"depends": [
"product",
],
"data": [],
"installable": True,
}
42 changes: 42 additions & 0 deletions product_trim_name/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_trim_name
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-23 08:32+0000\n"
"PO-Revision-Date: 2023-03-23 08:32+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: product_trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_template__display_name
msgid "Display Name"
msgstr "Nombre mostrado"

#. module: product_trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_template__id
msgid "ID"
msgstr ""

#. module: product_trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_template____last_update
msgid "Last Modified on"
msgstr "Última modificación el"

#. module: product_trim_name
#: model:ir.model,name:product_trim_name.model_product_template
msgid "Product Template"
msgstr "Plantilla de producto"

#. module: product_trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_product__trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_template__trim_name
msgid "Trim Name"
msgstr "Nombre sin espacios"
42 changes: 42 additions & 0 deletions product_trim_name/i18n/product_trim_name.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_trim_name
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-23 08:32+0000\n"
"PO-Revision-Date: 2023-03-23 08:32+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: product_trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_template__display_name
msgid "Display Name"
msgstr ""

#. module: product_trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_template__id
msgid "ID"
msgstr ""

#. module: product_trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_template____last_update
msgid "Last Modified on"
msgstr ""

#. module: product_trim_name
#: model:ir.model,name:product_trim_name.model_product_template
msgid "Product Template"
msgstr ""

#. module: product_trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_product__trim_name
#: model:ir.model.fields,field_description:product_trim_name.field_product_template__trim_name
msgid "Trim Name"
msgstr ""
1 change: 1 addition & 0 deletions product_trim_name/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import product_template
22 changes: 22 additions & 0 deletions product_trim_name/models/product_template.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2023 Berezi Amubieta - AvanzOSC
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
import unicodedata

from odoo import api, fields, models


class ProductTemplate(models.Model):
_inherit = "product.template"

trim_name = fields.Char(compute="_compute_trim_name", store=True)

@api.depends("name")
def _compute_trim_name(self):
for product in self:
trim_name = product.name.replace(" ", "")
trim_name = "".join(
c
for c in unicodedata.normalize("NFD", trim_name)
if unicodedata.category(c) != "Mn"
)
product.trim_name = trim_name

0 comments on commit 9170928

Please sign in to comment.