Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test-requirements.txt merge=union
6 changes: 1 addition & 5 deletions company_sanitary_registry/README.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=================
Sanitary Registry
=================
Expand All @@ -17,7 +13,7 @@ Sanitary Registry
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fcommunity--data--files-lightgray.png?logo=github
Expand Down
7 changes: 5 additions & 2 deletions company_sanitary_registry/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@
# License AGPL-3 - See https://www.gnu.org/licenses/agpl-3.0.html
{
"name": "Sanitary Registry",
"version": "18.0.1.0.0",
"depends": ["base"],
"version": "18.0.1.1.0",
"depends": ["stock"],
"data": [
"security/ir.model.access.csv",
"templates/sanitary_registry_template.xml",
"views/res_company_view.xml",
"views/sanitary_registry_view.xml",
"views/sanitary_registry_warehouse_category_views.xml",
],
"author": "Tecnativa, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/community-data-files",
Expand Down
94 changes: 92 additions & 2 deletions company_sanitary_registry/i18n/company_sanitary_registry.pot
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-17 09:49+0000\n"
"PO-Revision-Date: 2026-02-17 09:49+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
Expand All @@ -15,15 +17,103 @@ msgstr ""

#. module: company_sanitary_registry
#: model_terms:ir.ui.view,arch_db:company_sanitary_registry.sanitary_registry_template
msgid "<span>CE</span>"
msgid "<span>UE</span>"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__category_id
msgid "Category"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model,name:company_sanitary_registry.model_res_company
msgid "Companies"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__category_complete_name
msgid "Complete Name"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__create_uid
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__create_uid
msgid "Created by"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__create_date
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__create_date
msgid "Created on"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__display_name
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__display_name
msgid "Display Name"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__id
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__id
msgid "ID"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry____last_update
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category____last_update
msgid "Last Modified on"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__write_uid
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__write_uid
msgid "Last Updated by"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__write_date
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__write_date
msgid "Last Updated on"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_res_company__sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__name
msgid "Name"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.actions.act_window,name:company_sanitary_registry.action_sanitary_registry
#: model:ir.ui.menu,name:company_sanitary_registry.menu_action_sanitary_registry
msgid "Sanitary Registries"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model,name:company_sanitary_registry.model_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_res_company__sanitary_registry_id
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__sanitary_registry_id
msgid "Sanitary Registry"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model,name:company_sanitary_registry.model_sanitary_registry_warehouse_category
msgid "Sanitary Registry Warehouse Category"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.actions.act_window,name:company_sanitary_registry.sanitary_registry_warehouse_category_action
#: model:ir.ui.menu,name:company_sanitary_registry.sanitary_registry_warehouse_category_menuitem
msgid "Sanitary Registry by Category and Warehouse"
msgstr ""

#. module: company_sanitary_registry
#: code:addons/company_sanitary_registry/models/sanitary_registry.py:0
#, python-format
msgid "There are already sanitary registrations with values %s."
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__warehouse_id
msgid "Warehouse"
msgstr ""
107 changes: 98 additions & 9 deletions company_sanitary_registry/i18n/es.po
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,118 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-08-02 12:09+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: none\n"
"POT-Creation-Date: 2026-02-17 09:49+0000\n"
"PO-Revision-Date: 2026-02-17 10:51+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.8\n"

#. module: company_sanitary_registry
#: model_terms:ir.ui.view,arch_db:company_sanitary_registry.sanitary_registry_template
msgid "<span>CE</span>"
msgstr "<span>CE</span>"
msgid "<span>UE</span>"
msgstr ""

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__category_id
msgid "Category"
msgstr "Categoría"

#. module: company_sanitary_registry
#: model:ir.model,name:company_sanitary_registry.model_res_company
msgid "Companies"
msgstr "Compañías"

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__category_complete_name
msgid "Complete Name"
msgstr "Nombre Completo"

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__create_uid
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__create_uid
msgid "Created by"
msgstr "Creado por"

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__create_date
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__create_date
msgid "Created on"
msgstr "Creado el"

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__display_name
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__display_name
msgid "Display Name"
msgstr "Nombre a mostrar"

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__id
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__id
msgid "ID"
msgstr "ID"

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

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__write_uid
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__write_date
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__write_date
msgid "Last Updated on"
msgstr "Última actualización el"

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_res_company__sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry__name
msgid "Name"
msgstr "Nombre"

#. module: company_sanitary_registry
#: model:ir.actions.act_window,name:company_sanitary_registry.action_sanitary_registry
#: model:ir.ui.menu,name:company_sanitary_registry.menu_action_sanitary_registry
msgid "Sanitary Registries"
msgstr "Registros sanitarios"

#. module: company_sanitary_registry
#: model:ir.model,name:company_sanitary_registry.model_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_res_company__sanitary_registry_id
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__sanitary_registry_id
msgid "Sanitary Registry"
msgstr "Registro sanitario"

#. module: company_sanitary_registry
#: model:ir.model,name:company_sanitary_registry.model_sanitary_registry_warehouse_category
msgid "Sanitary Registry Warehouse Category"
msgstr "Registro sanitario por almacén y categoría"

#. module: company_sanitary_registry
#: model:ir.actions.act_window,name:company_sanitary_registry.sanitary_registry_warehouse_category_action
#: model:ir.ui.menu,name:company_sanitary_registry.sanitary_registry_warehouse_category_menuitem
msgid "Sanitary Registry by Category and Warehouse"
msgstr "Registro sanitario por categoría y almacén"

#. module: company_sanitary_registry
#: code:addons/company_sanitary_registry/models/sanitary_registry.py:0
#, python-format
msgid "There are already sanitary registrations with values %s."
msgstr "Ya existen registros sanitarios con los valores %s."

#. module: company_sanitary_registry
#: model:ir.model.fields,field_description:company_sanitary_registry.field_sanitary_registry_warehouse_category__warehouse_id
msgid "Warehouse"
msgstr "Almacén"
47 changes: 47 additions & 0 deletions company_sanitary_registry/migrations/18.0.1.1.0/pre_migration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Copyright 2025 Tecnativa - Carlos Roca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from openupgradelib import openupgrade


@openupgrade.migrate()
def migrate(env, version):
openupgrade.logged_query(
env.cr,
"""
CREATE TABLE IF NOT EXISTS sanitary_registry
(
id serial primary key,
name varchar
)
""",
)
# Create sanitary.registry records for values set on company
openupgrade.logged_query(
env.cr,
"""
INSERT INTO sanitary_registry (name)
SELECT sanitary_registry
FROM res_company
WHERE sanitary_registry IS NOT NULL
AND NOT EXISTS (
SELECT 1 FROM sanitary_registry LIMIT 1
)
""",
)
openupgrade.logged_query(
env.cr,
"""
ALTER TABLE res_company
ADD COLUMN IF NOT EXISTS sanitary_registry_id integer
""",
)
# Assign the sanitary.registry record to res.company
openupgrade.logged_query(
env.cr,
"""
UPDATE res_company rc
SET sanitary_registry_id = sr.id FROM sanitary_registry sr
WHERE sr.name = rc.sanitary_registry
""",
)
2 changes: 2 additions & 0 deletions company_sanitary_registry/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2023 Tecnativa - Carlos Roca
# License AGPL-3 - See https://www.gnu.org/licenses/agpl-3.0.html
from . import res_company
from . import sanitary_registry
from . import sanitary_registry_warehouse_category
5 changes: 4 additions & 1 deletion company_sanitary_registry/models/res_company.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@
class ResCompany(models.Model):
_inherit = "res.company"

sanitary_registry = fields.Char()
sanitary_registry_id = fields.Many2one("sanitary.registry")
# Field to avoid crashes modules that uses yet this field. To be removed
# On future versions.
sanitary_registry = fields.Char(related="sanitary_registry_id.name")
24 changes: 24 additions & 0 deletions company_sanitary_registry/models/sanitary_registry.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright 2025 Tecnativa - Carlos Roca
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError


class SanitaryRegistry(models.Model):
_name = "sanitary.registry"
_description = "Sanitary Registry"

name = fields.Char()

@api.constrains("name")
def _check_name(self):
other_regs = self.env["sanitary.registry"].search(
[("id", "not in", self.ids), ("name", "in", self.mapped("name"))]
)
if other_regs:
raise ValidationError(
_(
"There are already sanitary registrations with values %s.",
other_regs.mapped("name"),
)
)
Loading