diff --git a/product_medical/README.rst b/product_medical/README.rst new file mode 100644 index 00000000000..72eac82ecac --- /dev/null +++ b/product_medical/README.rst @@ -0,0 +1,90 @@ +=============== +Product Medical +=============== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:406c19e8aff32b17ccfe87887e9eecda05520ecba9cc9e2d515e894dfccebbda + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/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%2Fproduct--attribute-lightgray.png?logo=github + :target: https://github.com/OCA/product-attribute/tree/18.0/product_medical + :alt: OCA/product-attribute +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/product-attribute-18-0/product-attribute-18-0-product_medical + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/product-attribute&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + + Customization for product model, developed based on + https://www.fda.gov/medical-devices/medical-device-safety/medical-device-reporting-mdr-how-report-medical-device-problems + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Camptocamp + +Contributors +------------ + +- Iryna Vyshnevska, Camptocamp +- `Trobz `__: + + - Dung Tran + - Nhan Tran + +Other credits +------------- + +The development of this module has been financially supported by: + +- Akretion +- La Base +- Camptocamp + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/product-attribute `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_medical/__init__.py b/product_medical/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/product_medical/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/product_medical/__manifest__.py b/product_medical/__manifest__.py new file mode 100644 index 00000000000..803155c6dff --- /dev/null +++ b/product_medical/__manifest__.py @@ -0,0 +1,31 @@ +# Copyright 2020 Iryna Vyshnevska,Camptocamp +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Product Medical", + "summary": "Base structure to handle medical products", + "version": "18.0.1.0.0", + "author": "Camptocamp, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/product-attribute", + "license": "AGPL-3", + "category": "Product", + "depends": ["product"], + "data": [ + "data/medical_data.xml", + "data/in_vitro_diagnostic_data.xml", + "data/medicine_category_data.xml", + "data/ppe_category_data.xml", + "security/ir.model.access.csv", + "views/product_template.xml", + "views/in_vitro_diagnostic.xml", + "views/medical_class.xml", + "views/medicine_category.xml", + "views/ppe_category.xml", + ], + "installable": True, + "external_dependencies": { + "python": [ + "openupgradelib", + ], + }, +} diff --git a/product_medical/data/in_vitro_diagnostic_data.xml b/product_medical/data/in_vitro_diagnostic_data.xml new file mode 100644 index 00000000000..f7216ea6522 --- /dev/null +++ b/product_medical/data/in_vitro_diagnostic_data.xml @@ -0,0 +1,15 @@ + + + + InVitroDiagnostika-A + + + InVitroDiagnostika-B + + + InVitroDiagnostika-C + + + InVitroDiagnostika-D + + diff --git a/product_medical/data/medical_data.xml b/product_medical/data/medical_data.xml new file mode 100644 index 00000000000..e0063863997 --- /dev/null +++ b/product_medical/data/medical_data.xml @@ -0,0 +1,24 @@ + + + + CE Class I + + + CE Class Im + + + CE Class Is + + + CE Class Ir + + + CE Class IIa + + + CE Class IIb + + + CE Class III + + diff --git a/product_medical/data/medicine_category_data.xml b/product_medical/data/medicine_category_data.xml new file mode 100644 index 00000000000..a47af2102bf --- /dev/null +++ b/product_medical/data/medicine_category_data.xml @@ -0,0 +1,9 @@ + + + + Drug-D + + + Drug-E + + diff --git a/product_medical/data/ppe_category_data.xml b/product_medical/data/ppe_category_data.xml new file mode 100644 index 00000000000..59ced703934 --- /dev/null +++ b/product_medical/data/ppe_category_data.xml @@ -0,0 +1,12 @@ + + + + | + + + || + + + ||| + + diff --git a/product_medical/i18n/ca.po b/product_medical/i18n/ca.po new file mode 100644 index 00000000000..300b91160d0 --- /dev/null +++ b/product_medical/i18n/ca.po @@ -0,0 +1,326 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_medical +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-03-22 13:17+0000\n" +"Last-Translator: Noel estudillo \n" +"Language-Team: none\n" +"Language: ca\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.3.2\n" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_medical_class_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_medical_class_ids +msgid "CE Certificate" +msgstr "Certificat CE" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_certificate_url +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_certificate_url +msgid "CE Certificate medical devices" +msgstr "Dispositius mèdics amb certificat CE" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_1 +msgid "CE Class I" +msgstr "CE Classe I" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_7 +msgid "CE Class III" +msgstr "CE Classe III" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_5 +msgid "CE Class IIa" +msgstr "CE Classe IIa" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_6 +msgid "CE Class IIb" +msgstr "CE Classe IIb" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_2 +msgid "CE Class Im" +msgstr "CE Classe Im" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_4 +msgid "CE Class Ir" +msgstr "CE Classe Ir" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_3 +msgid "CE Class Is" +msgstr "CE Classe Is" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Categories" +msgstr "Categories" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_validity_date +msgid "Certificate Validity Date" +msgstr "Data de validesa del certificat" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Conformity" +msgstr "Conformitat" + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.ppe_category_action +msgid "Create your PPE categories here." +msgstr "Creeu les vostres categories d'EPI aquí." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.in_vitro_diagnostic_action +msgid "Create your in vitro diagnostic here." +msgstr "Creeu el vostre diagnòstic in vitro aquí." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medical_class_action +msgid "Create your medical class here." +msgstr "Crea la teva classe mèdica aquí." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medicine_category_action +msgid "Create your medicine categories here." +msgstr "Creeu les vostres categories de medicaments aquí." + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__conformity_declaration_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__conformity_declaration_ids +msgid "Declaration of Conformity" +msgstr "Declaració de conformitat" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_in_vitro_diagnostic_name_uniq +msgid "Diagnostic type already exists" +msgstr "El tipus de diagnòstic ja existeix" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__display_name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__display_name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_product_template__display_name +msgid "Display Name" +msgstr "Nom visible" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Documents" +msgstr "Documents" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medicine_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medicine_category_id +msgid "Drug Category" +msgstr "Categoria de drogues" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_d +msgid "Drug-D" +msgstr "Droga-D" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_e +msgid "Drug-E" +msgstr "Droga-E" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__id +#: model:ir.model.fields,field_description:product_medical.field_medical_class__id +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__id +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__id +#: model:ir.model.fields,field_description:product_medical.field_product_template__id +msgid "ID" +msgstr "ID" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.in_vitro_diagnostic_action +msgid "In Vitro Diagnostics" +msgstr "Diagnòstic in vitro" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_product__in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_template__in_vitro_diagnostic +msgid "In vitro diagnostics" +msgstr "Diagnòstics in vitro" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_1 +msgid "InVitroDiagnostika-A" +msgstr "InVitroDiagnostika-A" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_2 +msgid "InVitroDiagnostika-B" +msgstr "InVitroDiagnostika-B" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_3 +msgid "InVitroDiagnostika-C" +msgstr "InVitroDiagnostika-C" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_4 +msgid "InVitroDiagnostika-D" +msgstr "InVitroDiagnostika-D" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__is_medical +#: model:ir.model.fields,field_description:product_medical.field_product_template__is_medical +msgid "Is Medical" +msgstr "És mèdic" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic____last_update +#: model:ir.model.fields,field_description:product_medical.field_medical_class____last_update +#: model:ir.model.fields,field_description:product_medical.field_medicine_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_ppe_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_product_template____last_update +msgid "Last Modified on" +msgstr "Darrera modificació el" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_uid +msgid "Last Updated by" +msgstr "Darrera actualització per" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_date +msgid "Last Updated on" +msgstr "Darrera actualització el" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_lot_related +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_lot_related +msgid "Lot Related" +msgstr "Lot relacionat" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medical_class +msgid "Medical Class" +msgstr "Classe mèdica" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medical_class_action +msgid "Medical Classes" +msgstr "Classes mèdiques" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_class_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_class_id +msgid "Medical Device Class" +msgstr "Classe de dispositiu mèdic" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medical_class_name_uniq +msgid "Medical class already exists" +msgstr "La classe mèdica ja existeix" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medicine_category_action +msgid "Medicine Categories" +msgstr "Categories de Medicina" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medicine_category +msgid "Medicine Category" +msgstr "Categoria Medicina" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medicine_category_name_uniq +msgid "Medicine category already exists" +msgstr "La categoria de medicina ja existeix" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__name +msgid "Name" +msgstr "Nom" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__notified_body_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__notified_body_id +msgid "Notified Body" +msgstr "Cos notificat" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.ppe_category_action +msgid "PPE Categories" +msgstr "Categories EPI" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ppe_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__ppe_category_id +msgid "PPE Category" +msgstr "Categoria EPI" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_ppe_category +msgid "PPE category" +msgstr "Categoría PPE" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_ppe_category_name_uniq +msgid "PPE category already exists" +msgstr "Categoría PPE ja existeix" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_product_template +msgid "Product Template" +msgstr "Plantilla de producte" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_validity_date +msgid "Validity Date" +msgstr "Data de validesa" + +#~ msgid "CE Certificate Medical class" +#~ msgstr "Certificat CE Classe mèdica" + +#~ msgid "MDR" +#~ msgstr "MDR" + +#~ msgid "Medical class" +#~ msgstr "Classe mèdica" diff --git a/product_medical/i18n/de.po b/product_medical/i18n/de.po new file mode 100644 index 00000000000..549808a74aa --- /dev/null +++ b/product_medical/i18n/de.po @@ -0,0 +1,321 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_medical +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-06-23 13:59+0000\n" +"PO-Revision-Date: 2023-12-27 21:35+0000\n" +"Last-Translator: Peter Schubert \n" +"Language-Team: \n" +"Language: de\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" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_medical_class_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_medical_class_ids +msgid "CE Certificate" +msgstr "CE Zertifikat" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_certificate_url +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_certificate_url +msgid "CE Certificate medical devices" +msgstr "CE Zertifikat Medizinprodukte" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_1 +msgid "CE Class I" +msgstr "CE Klasse III" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_7 +msgid "CE Class III" +msgstr "CE Klasse III" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_5 +msgid "CE Class IIa" +msgstr "CE Klasse IIa" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_6 +msgid "CE Class IIb" +msgstr "CE Klasse IIb" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_2 +msgid "CE Class Im" +msgstr "CE Klasse Im" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_4 +msgid "CE Class Ir" +msgstr "CE Klasse Ir" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_3 +msgid "CE Class Is" +msgstr "CE Klasse Is" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Categories" +msgstr "Kategorien" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_validity_date +msgid "Certificate Validity Date" +msgstr "Zertifikat Gültigkeitsdatum" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Conformity" +msgstr "Konformität" + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.ppe_category_action +msgid "Create your PPE categories here." +msgstr "Erstellen Sie hier Ihre PSA-Kategorien." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.in_vitro_diagnostic_action +msgid "Create your in vitro diagnostic here." +msgstr "Erstellen Sie hier Ihr In-vitro-Diagnose." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medical_class_action +msgid "Create your medical class here." +msgstr "Erstellen Sie hier Ihre medizinische Klasse." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medicine_category_action +msgid "Create your medicine categories here." +msgstr "Erstellen Sie hier Ihre Medizinkategorien." + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_uid +msgid "Created by" +msgstr "Erstellt von" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_date +msgid "Created on" +msgstr "Erstellt am" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__conformity_declaration_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__conformity_declaration_ids +msgid "Declaration of Conformity" +msgstr "Konformitätserklärung" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_in_vitro_diagnostic_name_uniq +msgid "Diagnostic type already exists" +msgstr "Diagnosetyp besteht bereits" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__display_name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__display_name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_product_template__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Documents" +msgstr "Dokumente" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medicine_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medicine_category_id +msgid "Drug Category" +msgstr "Arzneimittelkategorie" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_d +msgid "Drug-D" +msgstr "Arzneimittel D" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_e +msgid "Drug-E" +msgstr "Arzneimittel E" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__id +#: model:ir.model.fields,field_description:product_medical.field_medical_class__id +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__id +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__id +#: model:ir.model.fields,field_description:product_medical.field_product_template__id +msgid "ID" +msgstr "ID" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.in_vitro_diagnostic_action +msgid "In Vitro Diagnostics" +msgstr "In-vitro-Diagnostik" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_product__in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_template__in_vitro_diagnostic +msgid "In vitro diagnostics" +msgstr "In-vitro-Diagnostika" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_1 +msgid "InVitroDiagnostika-A" +msgstr "InVitroDiagnostika-A" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_2 +msgid "InVitroDiagnostika-B" +msgstr "InVitroDiagnostika-B" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_3 +msgid "InVitroDiagnostika-C" +msgstr "InVitroDiagnostika-C" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_4 +msgid "InVitroDiagnostika-D" +msgstr "InVitroDiagnostika-D" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__is_medical +#: model:ir.model.fields,field_description:product_medical.field_product_template__is_medical +msgid "Is Medical" +msgstr "Ist medizinisch" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic____last_update +#: model:ir.model.fields,field_description:product_medical.field_medical_class____last_update +#: model:ir.model.fields,field_description:product_medical.field_medicine_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_ppe_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_product_template____last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert von" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_lot_related +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_lot_related +msgid "Lot Related" +msgstr "Chargennummer relevant" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medical_class +msgid "Medical Class" +msgstr "Medizinklasse" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medical_class_action +msgid "Medical Classes" +msgstr "Medizinische Klasse" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_class_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_class_id +msgid "Medical Device Class" +msgstr "Klasse für Medizingeräte" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medical_class_name_uniq +msgid "Medical class already exists" +msgstr "Medizinische Klasse existiert bereits" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medicine_category_action +msgid "Medicine Categories" +msgstr "Medizinkategorien" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medicine_category +msgid "Medicine Category" +msgstr "Arzneimittelkategorie" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medicine_category_name_uniq +msgid "Medicine category already exists" +msgstr "Arzneimittelkategorie existiert bereits" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__name +msgid "Name" +msgstr "Name" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__notified_body_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__notified_body_id +msgid "Notified Body" +msgstr "Organisme notifié" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.ppe_category_action +msgid "PPE Categories" +msgstr "PSA-Kategorien" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ppe_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__ppe_category_id +msgid "PPE Category" +msgstr "PPE Kategorie" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_ppe_category +msgid "PPE category" +msgstr "PSA Kategorie" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_ppe_category_name_uniq +msgid "PPE category already exists" +msgstr "PSA Kategorie existiert bereits" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_product_template +msgid "Product Template" +msgstr "Produktvorlage" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_validity_date +msgid "Validity Date" +msgstr "Gültigkeitsdatum" + +#~ msgid "Medical class" +#~ msgstr "Medizinklasse" diff --git a/product_medical/i18n/es.po b/product_medical/i18n/es.po new file mode 100644 index 00000000000..13fdd465d33 --- /dev/null +++ b/product_medical/i18n/es.po @@ -0,0 +1,326 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_medical +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-01-13 23:55+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\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" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_medical_class_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_medical_class_ids +msgid "CE Certificate" +msgstr "Certificado CE" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_certificate_url +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_certificate_url +msgid "CE Certificate medical devices" +msgstr "Dispositivos médicos con certificado CE" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_1 +msgid "CE Class I" +msgstr "CE Clase I" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_7 +msgid "CE Class III" +msgstr "CE Clase III" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_5 +msgid "CE Class IIa" +msgstr "CE Clase IIa" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_6 +msgid "CE Class IIb" +msgstr "CE Clase IIb" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_2 +msgid "CE Class Im" +msgstr "CE Clase Im" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_4 +msgid "CE Class Ir" +msgstr "CE Clase Ir" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_3 +msgid "CE Class Is" +msgstr "CE Clase Is" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Categories" +msgstr "Categorías" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_validity_date +msgid "Certificate Validity Date" +msgstr "Fecha de validez del certificado" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Conformity" +msgstr "Conformidad" + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.ppe_category_action +msgid "Create your PPE categories here." +msgstr "Cree aquí sus categorías de EPI." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.in_vitro_diagnostic_action +msgid "Create your in vitro diagnostic here." +msgstr "Cree aquí su diagnóstico in vitro." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medical_class_action +msgid "Create your medical class here." +msgstr "Cree aquí su clase de medicina." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medicine_category_action +msgid "Create your medicine categories here." +msgstr "Cree aquí sus categorías de medicamentos." + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__conformity_declaration_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__conformity_declaration_ids +msgid "Declaration of Conformity" +msgstr "Declaración de conformidad" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_in_vitro_diagnostic_name_uniq +msgid "Diagnostic type already exists" +msgstr "El tipo de diagnóstico ya existe" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__display_name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__display_name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_product_template__display_name +msgid "Display Name" +msgstr "Nombre visible" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Documents" +msgstr "Documentos" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medicine_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medicine_category_id +msgid "Drug Category" +msgstr "Categoría de fármaco" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_d +msgid "Drug-D" +msgstr "Droga-D" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_e +msgid "Drug-E" +msgstr "Droga-E" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__id +#: model:ir.model.fields,field_description:product_medical.field_medical_class__id +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__id +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__id +#: model:ir.model.fields,field_description:product_medical.field_product_template__id +msgid "ID" +msgstr "ID" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.in_vitro_diagnostic_action +msgid "In Vitro Diagnostics" +msgstr "Diagnóstico in Vitro" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_product__in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_template__in_vitro_diagnostic +msgid "In vitro diagnostics" +msgstr "Diagnóstico in vitro" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_1 +msgid "InVitroDiagnostika-A" +msgstr "InVitroDiagnostika-A" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_2 +msgid "InVitroDiagnostika-B" +msgstr "InVitroDiagnostika-B" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_3 +msgid "InVitroDiagnostika-C" +msgstr "InVitroDiagnostika-C" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_4 +msgid "InVitroDiagnostika-D" +msgstr "InVitroDiagnostika-D" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__is_medical +#: model:ir.model.fields,field_description:product_medical.field_product_template__is_medical +msgid "Is Medical" +msgstr "Es medica" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic____last_update +#: model:ir.model.fields,field_description:product_medical.field_medical_class____last_update +#: model:ir.model.fields,field_description:product_medical.field_medicine_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_ppe_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_product_template____last_update +msgid "Last Modified on" +msgstr "última modificación el" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_uid +msgid "Last Updated by" +msgstr "última actualización por" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_lot_related +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_lot_related +msgid "Lot Related" +msgstr "Lote relacionado" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medical_class +msgid "Medical Class" +msgstr "Clase médica" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medical_class_action +msgid "Medical Classes" +msgstr "Clases Médicas" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_class_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_class_id +msgid "Medical Device Class" +msgstr "Tipo de Producto Médico" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medical_class_name_uniq +msgid "Medical class already exists" +msgstr "La clase médica ya existe" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medicine_category_action +msgid "Medicine Categories" +msgstr "Categorías de Medicamentos" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medicine_category +msgid "Medicine Category" +msgstr "Categoría de medicina" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medicine_category_name_uniq +msgid "Medicine category already exists" +msgstr "La categoría de medicina ya existe" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__name +msgid "Name" +msgstr "Nombre" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__notified_body_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__notified_body_id +msgid "Notified Body" +msgstr "Cuerpo notificado" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.ppe_category_action +msgid "PPE Categories" +msgstr "Categorías de EPP" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ppe_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__ppe_category_id +msgid "PPE Category" +msgstr "Categoría PPE" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_ppe_category +msgid "PPE category" +msgstr "Categoria PPE" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_ppe_category_name_uniq +msgid "PPE category already exists" +msgstr "Categoria PPE ya existe" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_product_template +msgid "Product Template" +msgstr "Plantilla de producto" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_validity_date +msgid "Validity Date" +msgstr "Fecha de validez" + +#~ msgid "CE Certificate Medical class" +#~ msgstr "Certificado CE Clase médica" + +#~ msgid "MDR" +#~ msgstr "MDR" + +#~ msgid "Medical class" +#~ msgstr "Clase médica" diff --git a/product_medical/i18n/it.po b/product_medical/i18n/it.po new file mode 100644 index 00000000000..521e5a97d16 --- /dev/null +++ b/product_medical/i18n/it.po @@ -0,0 +1,317 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_medical +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-06 08:37+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\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" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_medical_class_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_medical_class_ids +msgid "CE Certificate" +msgstr "Certificato CE" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_certificate_url +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_certificate_url +msgid "CE Certificate medical devices" +msgstr "Certificato CE dispositivi medici" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_1 +msgid "CE Class I" +msgstr "Classe I CE" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_7 +msgid "CE Class III" +msgstr "Classe III CE" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_5 +msgid "CE Class IIa" +msgstr "Classe IIa CE" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_6 +msgid "CE Class IIb" +msgstr "Classe IIb CE" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_2 +msgid "CE Class Im" +msgstr "Classe Im CE" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_4 +msgid "CE Class Ir" +msgstr "Classe Ir CE" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_3 +msgid "CE Class Is" +msgstr "Classe Is CE" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Categories" +msgstr "Categorie" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_validity_date +msgid "Certificate Validity Date" +msgstr "Data validità certificato" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Conformity" +msgstr "Conformità" + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.ppe_category_action +msgid "Create your PPE categories here." +msgstr "Creare qui la categoria DPI." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.in_vitro_diagnostic_action +msgid "Create your in vitro diagnostic here." +msgstr "Creare qui la diagnostica in vitro." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medical_class_action +msgid "Create your medical class here." +msgstr "Creare qui la classe medica." + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medicine_category_action +msgid "Create your medicine categories here." +msgstr "Creare qui le categorie medicine." + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__conformity_declaration_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__conformity_declaration_ids +msgid "Declaration of Conformity" +msgstr "Dichiarazione di conformità" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_in_vitro_diagnostic_name_uniq +msgid "Diagnostic type already exists" +msgstr "Il tipo diagnostica esiste già" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__display_name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__display_name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_product_template__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Documents" +msgstr "Documenti" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medicine_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medicine_category_id +msgid "Drug Category" +msgstr "Categoria farmaco" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_d +msgid "Drug-D" +msgstr "Farmaco-D" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_e +msgid "Drug-E" +msgstr "Farmaco-E" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__id +#: model:ir.model.fields,field_description:product_medical.field_medical_class__id +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__id +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__id +#: model:ir.model.fields,field_description:product_medical.field_product_template__id +msgid "ID" +msgstr "ID" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.in_vitro_diagnostic_action +msgid "In Vitro Diagnostics" +msgstr "Diagnostica in vitro" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_product__in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_template__in_vitro_diagnostic +msgid "In vitro diagnostics" +msgstr "Diagnostica in vitro" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_1 +msgid "InVitroDiagnostika-A" +msgstr "Diagnostica in vitro - A" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_2 +msgid "InVitroDiagnostika-B" +msgstr "Diagnostica in vitro - B" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_3 +msgid "InVitroDiagnostika-C" +msgstr "Diagnostica in vitro - C" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_4 +msgid "InVitroDiagnostika-D" +msgstr "Diagnostica in vitro - D" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__is_medical +#: model:ir.model.fields,field_description:product_medical.field_product_template__is_medical +msgid "Is Medical" +msgstr "È medico" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic____last_update +#: model:ir.model.fields,field_description:product_medical.field_medical_class____last_update +#: model:ir.model.fields,field_description:product_medical.field_medicine_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_ppe_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_product_template____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_lot_related +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_lot_related +msgid "Lot Related" +msgstr "Collegato a lotto" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medical_class +msgid "Medical Class" +msgstr "Classe medica" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medical_class_action +msgid "Medical Classes" +msgstr "Classi mediche" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_class_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_class_id +msgid "Medical Device Class" +msgstr "Classe dispositivo medico" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medical_class_name_uniq +msgid "Medical class already exists" +msgstr "Classe medica già esistente" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medicine_category_action +msgid "Medicine Categories" +msgstr "Categorie medicinali" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medicine_category +msgid "Medicine Category" +msgstr "Categoria medicinale" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medicine_category_name_uniq +msgid "Medicine category already exists" +msgstr "Categoria medicinale già esistente" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__name +msgid "Name" +msgstr "Nome" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__notified_body_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__notified_body_id +msgid "Notified Body" +msgstr "Contenuto notificato" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.ppe_category_action +msgid "PPE Categories" +msgstr "Categorie DPI" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ppe_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__ppe_category_id +msgid "PPE Category" +msgstr "Categoria DPI" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_ppe_category +msgid "PPE category" +msgstr "Categoria DPI" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_ppe_category_name_uniq +msgid "PPE category already exists" +msgstr "Categoria DPI già esistente" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_product_template +msgid "Product Template" +msgstr "Modello prodotto" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_validity_date +msgid "Validity Date" +msgstr "Data validità" diff --git a/product_medical/i18n/product_medical.pot b/product_medical/i18n/product_medical.pot new file mode 100644 index 00000000000..70396145784 --- /dev/null +++ b/product_medical/i18n/product_medical.pot @@ -0,0 +1,314 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_medical +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \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_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_medical_class_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_medical_class_ids +msgid "CE Certificate" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_certificate_url +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_certificate_url +msgid "CE Certificate medical devices" +msgstr "" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_1 +msgid "CE Class I" +msgstr "" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_7 +msgid "CE Class III" +msgstr "" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_5 +msgid "CE Class IIa" +msgstr "" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_6 +msgid "CE Class IIb" +msgstr "" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_2 +msgid "CE Class Im" +msgstr "" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_4 +msgid "CE Class Ir" +msgstr "" + +#. module: product_medical +#: model:medical.class,name:product_medical.medical_class_3 +msgid "CE Class Is" +msgstr "" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Categories" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ce_certificate_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__ce_certificate_validity_date +msgid "Certificate Validity Date" +msgstr "" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Conformity" +msgstr "" + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.ppe_category_action +msgid "Create your PPE categories here." +msgstr "" + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.in_vitro_diagnostic_action +msgid "Create your in vitro diagnostic here." +msgstr "" + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medical_class_action +msgid "Create your medical class here." +msgstr "" + +#. module: product_medical +#: model_terms:ir.actions.act_window,help:product_medical.medicine_category_action +msgid "Create your medicine categories here." +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_uid +msgid "Created by" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__create_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__create_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__create_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__create_date +msgid "Created on" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__conformity_declaration_ids +#: model:ir.model.fields,field_description:product_medical.field_product_template__conformity_declaration_ids +msgid "Declaration of Conformity" +msgstr "" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_in_vitro_diagnostic_name_uniq +msgid "Diagnostic type already exists" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__display_name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__display_name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__display_name +#: model:ir.model.fields,field_description:product_medical.field_product_template__display_name +msgid "Display Name" +msgstr "" + +#. module: product_medical +#: model_terms:ir.ui.view,arch_db:product_medical.product_template_only_form_view +msgid "Documents" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medicine_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medicine_category_id +msgid "Drug Category" +msgstr "" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_d +msgid "Drug-D" +msgstr "" + +#. module: product_medical +#: model:medicine.category,name:product_medical.category_e +msgid "Drug-E" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__id +#: model:ir.model.fields,field_description:product_medical.field_medical_class__id +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__id +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__id +#: model:ir.model.fields,field_description:product_medical.field_product_template__id +msgid "ID" +msgstr "" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.in_vitro_diagnostic_action +msgid "In Vitro Diagnostics" +msgstr "" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_product__in_vitro_diagnostic +#: model:ir.model.fields,field_description:product_medical.field_product_template__in_vitro_diagnostic +msgid "In vitro diagnostics" +msgstr "" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_1 +msgid "InVitroDiagnostika-A" +msgstr "" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_2 +msgid "InVitroDiagnostika-B" +msgstr "" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_3 +msgid "InVitroDiagnostika-C" +msgstr "" + +#. module: product_medical +#: model:in.vitro.diagnostic,name:product_medical.in_vitro_4 +msgid "InVitroDiagnostika-D" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__is_medical +#: model:ir.model.fields,field_description:product_medical.field_product_template__is_medical +msgid "Is Medical" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic____last_update +#: model:ir.model.fields,field_description:product_medical.field_medical_class____last_update +#: model:ir.model.fields,field_description:product_medical.field_medicine_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_ppe_category____last_update +#: model:ir.model.fields,field_description:product_medical.field_product_template____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_uid +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_uid +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__write_date +#: model:ir.model.fields,field_description:product_medical.field_medical_class__write_date +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__write_date +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__write_date +msgid "Last Updated on" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_lot_related +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_lot_related +msgid "Lot Related" +msgstr "" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medical_class +msgid "Medical Class" +msgstr "" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medical_class_action +msgid "Medical Classes" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__medical_class_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__medical_class_id +msgid "Medical Device Class" +msgstr "" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medical_class_name_uniq +msgid "Medical class already exists" +msgstr "" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.medicine_category_action +msgid "Medicine Categories" +msgstr "" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_medicine_category +msgid "Medicine Category" +msgstr "" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_medicine_category_name_uniq +msgid "Medicine category already exists" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_in_vitro_diagnostic__name +#: model:ir.model.fields,field_description:product_medical.field_medical_class__name +#: model:ir.model.fields,field_description:product_medical.field_medicine_category__name +#: model:ir.model.fields,field_description:product_medical.field_ppe_category__name +msgid "Name" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__notified_body_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__notified_body_id +msgid "Notified Body" +msgstr "" + +#. module: product_medical +#: model:ir.actions.act_window,name:product_medical.ppe_category_action +msgid "PPE Categories" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__ppe_category_id +#: model:ir.model.fields,field_description:product_medical.field_product_template__ppe_category_id +msgid "PPE Category" +msgstr "" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_ppe_category +msgid "PPE category" +msgstr "" + +#. module: product_medical +#: model:ir.model.constraint,message:product_medical.constraint_ppe_category_name_uniq +msgid "PPE category already exists" +msgstr "" + +#. module: product_medical +#: model:ir.model,name:product_medical.model_product_template +msgid "Product Template" +msgstr "" + +#. module: product_medical +#: model:ir.model.fields,field_description:product_medical.field_product_product__doc_validity_date +#: model:ir.model.fields,field_description:product_medical.field_product_template__doc_validity_date +msgid "Validity Date" +msgstr "" diff --git a/product_medical/migrations/18.0.1.0.0/pre-migrate.py b/product_medical/migrations/18.0.1.0.0/pre-migrate.py new file mode 100644 index 00000000000..419630bfa57 --- /dev/null +++ b/product_medical/migrations/18.0.1.0.0/pre-migrate.py @@ -0,0 +1,42 @@ +# Copyright 2024 Simone Rubino - Aion Tech +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from openupgradelib import openupgrade + +MODEL_TO_RENAMED_FIELDS = { + "product.template": [ + ("ppe_category_id", "medical_ppe_category_id"), + ("in_vitro_diagnostic", "medical_in_vitro_diagnostic"), + ("in_vitro_diagnostic", "medical_in_vitro_diagnostic"), + ("conformity_declaration_ids", "medical_conformity_declaration_ids"), + ("doc_lot_related", "medical_doc_lot_related"), + ("doc_validity_date", "medical_doc_validity_date"), + ( + "ce_certificate_medical_class_ids", + "medical_ce_certificate_class_ids", + ), + ("ce_certificate_validity_date", "medical_ce_certificate_validity_date"), + ("notified_body_id", "medical_notified_body_id"), + ] +} + + +def _rename_fields(env): + openupgrade.rename_fields( + env, + [ + ( + model_name, + env[model_name]._table, + field_spec[0], + field_spec[1], + ) + for model_name, field_specs in MODEL_TO_RENAMED_FIELDS.items() + for field_spec in field_specs + ], + ) + + +@openupgrade.migrate() +def migrate(env, version): + _rename_fields(env) diff --git a/product_medical/models/__init__.py b/product_medical/models/__init__.py new file mode 100644 index 00000000000..b5523ac06ac --- /dev/null +++ b/product_medical/models/__init__.py @@ -0,0 +1,5 @@ +from . import product_template +from . import medical_class +from . import in_vitro_diagnostic +from . import medical_category +from . import ppe_category diff --git a/product_medical/models/in_vitro_diagnostic.py b/product_medical/models/in_vitro_diagnostic.py new file mode 100644 index 00000000000..c89695f924b --- /dev/null +++ b/product_medical/models/in_vitro_diagnostic.py @@ -0,0 +1,16 @@ +from odoo import fields, models + + +class InVitroDiagnostics(models.Model): + _name = "in.vitro.diagnostic" + _description = "In vitro diagnostics" + + name = fields.Char(required=True, translate=True) + + _sql_constraints = [ + ( + "name_uniq", + "unique(name)", + "Diagnostic type already exists", + ) + ] diff --git a/product_medical/models/medical_category.py b/product_medical/models/medical_category.py new file mode 100644 index 00000000000..91b59c92398 --- /dev/null +++ b/product_medical/models/medical_category.py @@ -0,0 +1,16 @@ +from odoo import fields, models + + +class MedicineCategory(models.Model): + _name = "medicine.category" + _description = "Medicine Category" + + name = fields.Char(required=True, translate=True) + + _sql_constraints = [ + ( + "name_uniq", + "unique(name)", + "Medicine category already exists", + ) + ] diff --git a/product_medical/models/medical_class.py b/product_medical/models/medical_class.py new file mode 100644 index 00000000000..4d36ce9b7da --- /dev/null +++ b/product_medical/models/medical_class.py @@ -0,0 +1,19 @@ +# Copyright 2020 Iryna Vyshnevska,Camptocamp +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class MedicalClass(models.Model): + _name = "medical.class" + _description = "Medical Class" + + name = fields.Char(required=True, translate=True) + + _sql_constraints = [ + ( + "name_uniq", + "unique(name)", + "Medical class already exists", + ) + ] diff --git a/product_medical/models/ppe_category.py b/product_medical/models/ppe_category.py new file mode 100644 index 00000000000..55af8ce7fdc --- /dev/null +++ b/product_medical/models/ppe_category.py @@ -0,0 +1,16 @@ +from odoo import fields, models + + +class PPECategory(models.Model): + _name = "ppe.category" + _description = "PPE category" + + name = fields.Char(required=True) + + _sql_constraints = [ + ( + "name_uniq", + "unique(name)", + "PPE category already exists", + ) + ] diff --git a/product_medical/models/product_template.py b/product_medical/models/product_template.py new file mode 100644 index 00000000000..6fb21f31b0a --- /dev/null +++ b/product_medical/models/product_template.py @@ -0,0 +1,43 @@ +# Copyright 2020 Iryna Vyshnevska,Camptocamp +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + is_medical = fields.Boolean(default=False) + + medical_certificate_url = fields.Char(string="CE Certificate medical devices") + medical_class_id = fields.Many2one("medical.class", string="Medical Device Class") + medicine_category_id = fields.Many2one("medicine.category", string="Drug Category") + medical_ppe_category_id = fields.Many2one("ppe.category", string="PPE Category") + + medical_in_vitro_diagnostic = fields.Many2one( + "in.vitro.diagnostic", string="In vitro diagnostics" + ) + medical_conformity_declaration_ids = fields.Many2many( + "ir.attachment", + relation="product_medical_conformity_declaration_rel", + column1="product_template_id", + column2="attachment_id", + string="Declaration of Conformity", + ) + medical_doc_lot_related = fields.Boolean(string="Lot Related", default=False) + medical_doc_validity_date = fields.Date(string="Validity Date") + medical_ce_certificate_class_ids = fields.Many2many( + "ir.attachment", + relation="product_medical_ce_certificate_class_rel", + column1="product_template_id", + column2="attachment_id", + string="CE Certificate", + ) + medical_ce_certificate_validity_date = fields.Date( + string="Certificate Validity Date" + ) + medical_notified_body_id = fields.Many2one( + comodel_name="res.partner", + ondelete="set null", + string="Notified Body", + ) diff --git a/product_medical/pyproject.toml b/product_medical/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/product_medical/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/product_medical/readme/CONTRIBUTORS.md b/product_medical/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..c6593bceaf5 --- /dev/null +++ b/product_medical/readme/CONTRIBUTORS.md @@ -0,0 +1,4 @@ +- Iryna Vyshnevska, Camptocamp +- [Trobz](https://trobz.com): + - Dung Tran \<\> + - Nhan Tran \<\> diff --git a/product_medical/readme/CREDITS.md b/product_medical/readme/CREDITS.md new file mode 100644 index 00000000000..61c92190a88 --- /dev/null +++ b/product_medical/readme/CREDITS.md @@ -0,0 +1,5 @@ +The development of this module has been financially supported by: + +- Akretion \<\> +- La Base \<\> +- Camptocamp diff --git a/product_medical/readme/DESCRIPTION.md b/product_medical/readme/DESCRIPTION.md new file mode 100644 index 00000000000..815dd5d0df4 --- /dev/null +++ b/product_medical/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +> Customization for product model, developed based on +> diff --git a/product_medical/security/ir.model.access.csv b/product_medical/security/ir.model.access.csv new file mode 100644 index 00000000000..8d863e8713a --- /dev/null +++ b/product_medical/security/ir.model.access.csv @@ -0,0 +1,5 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_medical_class_user,access_medical_class,model_medical_class,base.group_user,1,1,1,1 +access_in_vitro_diagnostic_user,access_in_vitro_diagnostic,model_in_vitro_diagnostic,base.group_user,1,1,1,1 +access_medicine_category_user,access_medicine_category,model_medicine_category,base.group_user,1,1,1,1 +access_ppe_category_user,access_ppe_category,model_ppe_category,base.group_user,1,1,1,1 diff --git a/product_medical/static/description/icon.png b/product_medical/static/description/icon.png new file mode 100644 index 00000000000..3a0328b516c Binary files /dev/null and b/product_medical/static/description/icon.png differ diff --git a/product_medical/static/description/index.html b/product_medical/static/description/index.html new file mode 100644 index 00000000000..1ce79b3fe53 --- /dev/null +++ b/product_medical/static/description/index.html @@ -0,0 +1,440 @@ + + + + + +Product Medical + + + +
+

Product Medical

+ + +

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runboat

+
+Customization for product model, developed based on +https://www.fda.gov/medical-devices/medical-device-safety/medical-device-reporting-mdr-how-report-medical-device-problems
+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Camptocamp
  • +
+
+
+

Contributors

+ +
+
+

Other credits

+

The development of this module has been financially supported by:

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/product-attribute project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/product_medical/views/in_vitro_diagnostic.xml b/product_medical/views/in_vitro_diagnostic.xml new file mode 100644 index 00000000000..5d552b3b462 --- /dev/null +++ b/product_medical/views/in_vitro_diagnostic.xml @@ -0,0 +1,25 @@ + + + + + in.vitro.diagnostic tree + in.vitro.diagnostic + + + + + + + + In Vitro Diagnostics + ir.actions.act_window + in.vitro.diagnostic + list,form + +

+ Create your in vitro diagnostic here. +

+
+
+
diff --git a/product_medical/views/medical_class.xml b/product_medical/views/medical_class.xml new file mode 100644 index 00000000000..7e4b8af055b --- /dev/null +++ b/product_medical/views/medical_class.xml @@ -0,0 +1,25 @@ + + + + + medical.class tree + medical.class + + + + + + + + Medical Classes + ir.actions.act_window + medical.class + list,form + +

+ Create your medical class here. +

+
+
+
diff --git a/product_medical/views/medicine_category.xml b/product_medical/views/medicine_category.xml new file mode 100644 index 00000000000..9950cf4df24 --- /dev/null +++ b/product_medical/views/medicine_category.xml @@ -0,0 +1,25 @@ + + + + + medicine.category tree + medicine.category + + + + + + + + Medicine Categories + ir.actions.act_window + medicine.category + list,form + +

+ Create your medicine categories here. +

+
+
+
diff --git a/product_medical/views/ppe_category.xml b/product_medical/views/ppe_category.xml new file mode 100644 index 00000000000..0e1b0d1291c --- /dev/null +++ b/product_medical/views/ppe_category.xml @@ -0,0 +1,25 @@ + + + + + ppe.category tree + ppe.category + + + + + + + + PPE Categories + ir.actions.act_window + ppe.category + list,form + +

+ Create your PPE categories here. +

+
+
+
diff --git a/product_medical/views/product_template.xml b/product_medical/views/product_template.xml new file mode 100644 index 00000000000..d4fe7f104e2 --- /dev/null +++ b/product_medical/views/product_template.xml @@ -0,0 +1,45 @@ + + + + + product.template.form.inherit + product.template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000000..180fc49789b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +# generated from manifests external_dependencies +openupgradelib