diff --git a/fieldservice_activity/README.rst b/fieldservice_activity/README.rst new file mode 100644 index 0000000000..e89c96f33f --- /dev/null +++ b/fieldservice_activity/README.rst @@ -0,0 +1,123 @@ +====================== +Field Service Activity +====================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:34790735a0d1b42312b5c1b0d5c79a2b454a1ee91510d29856617a6c46625280 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Ffield--service-lightgray.png?logo=github + :target: https://github.com/OCA/field-service/tree/17.0/fieldservice_activity + :alt: OCA/field-service +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/field-service-17-0/field-service-17-0-fieldservice_activity + :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/field-service&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +A Field Service Activity gives the user the ability to define a list of +tasks/activities on a service order + +The user can add tasks/activities to the FSM order to the ones created +from the template. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To use this module, you need to: + +- Go to Field Service > Configuration > Manage Order Activities + +Usage +===== + +To use this module, you need to: + +- Go to Field Service +- Create or select an FSM Order +- Add as many Activites as needed +- Alternatively, add Activites to a Template +- Add Template to FSM Order, Activites will be copied over + +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 +------- + +* Open Source Integrators + +Contributors +------------ + +- Maxime Chambreuil +- Steve Campbell +- Bhavesh Odedra +- Freni Patel + +- ``Binhex Systems Solutions ``\ \_: + + - Deriman Alonso d.alonso@binhex.cloud + +Other credits +------------- + +The development of this module has been financially supported by: + +- Open Source Integrators + +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. + +.. |maintainer-max3903| image:: https://github.com/max3903.png?size=40px + :target: https://github.com/max3903 + :alt: max3903 +.. |maintainer-osi-scampbell| image:: https://github.com/osi-scampbell.png?size=40px + :target: https://github.com/osi-scampbell + :alt: osi-scampbell + +Current `maintainers `__: + +|maintainer-max3903| |maintainer-osi-scampbell| + +This module is part of the `OCA/field-service `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fieldservice_activity/__init__.py b/fieldservice_activity/__init__.py new file mode 100644 index 0000000000..511e838b63 --- /dev/null +++ b/fieldservice_activity/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/fieldservice_activity/__manifest__.py b/fieldservice_activity/__manifest__.py new file mode 100644 index 0000000000..0d3697de0e --- /dev/null +++ b/fieldservice_activity/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Field Service Activity", + "summary": """Field Service Activities are a set of actions + that need to be performed on a service order""", + "version": "17.0.1.0.0", + "category": "Field Service", + "license": "AGPL-3", + "author": "Open Source Integrators, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/field-service", + "depends": ["fieldservice"], + "data": [ + "views/fsm_order.xml", + "views/fsm_template.xml", + "security/ir.model.access.csv", + ], + "development_status": "Beta", + "maintainers": ["max3903", "osi-scampbell"], +} diff --git a/fieldservice_activity/i18n/es.po b/fieldservice_activity/i18n/es.po new file mode 100644 index 0000000000..3710697ee6 --- /dev/null +++ b/fieldservice_activity/i18n/es.po @@ -0,0 +1,163 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_activity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-07-22 21:08+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: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_template__temp_activity_ids +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Activities" +msgstr "actividades" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Cancel" +msgstr "cancelar" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__cancel +msgid "Cancelled" +msgstr "Cancelado/a" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Complete" +msgstr "Completo" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__done +msgid "Completed" +msgstr "Completado" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_by +msgid "Completed By" +msgstr "Completado Por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_on +msgid "Completed On" +msgstr "Completado el" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__display_name +msgid "Display Name" +msgstr "nombre a mostrar" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_order_id +msgid "FSM Order" +msgstr "Orden FSM" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_template_id +msgid "FSM Template" +msgstr "Plantilla FSM" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_activity +msgid "Field Service Activity" +msgstr "Actividad de Servicio de Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_order +msgid "Field Service Order" +msgstr "Orden de Servicio de Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_template +msgid "Field Service Order Template" +msgstr "Plantilla de orden de servicio de campo" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity____last_update +msgid "Last Modified on" +msgstr "modificado por última vez el" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_uid +msgid "Last Updated by" +msgstr "actualizado por última vez por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_date +msgid "Last Updated on" +msgstr "actualizado por última vez el" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__name +msgid "Name" +msgstr "Nombre" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_order__order_activity_ids +msgid "Order Activities" +msgstr "Ordenar actividades" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__ref +msgid "Reference" +msgstr "referencia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__required +msgid "Required" +msgstr "Requerido" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__sequence +msgid "Sequence" +msgstr "secuencia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__state +msgid "State" +msgstr "estado" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__todo +msgid "To Do" +msgstr "Para hacer" + +#. module: fieldservice_activity +#. odoo-python +#: code:addons/fieldservice_activity/models/fsm_order.py:0 +#, python-format +msgid "" +"You must complete activity '%s' before completing this " +"order." +msgstr "" +"Debe completar la actividad '%s' " +"antes de completar este pedido." diff --git a/fieldservice_activity/i18n/es_AR.po b/fieldservice_activity/i18n/es_AR.po new file mode 100644 index 0000000000..1a7afa2cfc --- /dev/null +++ b/fieldservice_activity/i18n/es_AR.po @@ -0,0 +1,169 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_activity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-11-12 06:45+0000\n" +"Last-Translator: Ignacio Buioli \n" +"Language-Team: none\n" +"Language: es_AR\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.14.1\n" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_template__temp_activity_ids +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Activities" +msgstr "Actividades" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Cancel" +msgstr "Cancelar" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__cancel +msgid "Cancelled" +msgstr "Cancelado" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Complete" +msgstr "Completar" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__done +msgid "Completed" +msgstr "Completado" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_by +msgid "Completed By" +msgstr "Completado Por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_on +msgid "Completed On" +msgstr "Completado el" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_order_id +msgid "FSM Order" +msgstr "Pedido FSM" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_template_id +msgid "FSM Template" +msgstr "Plantilla FSM" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_activity +msgid "Field Service Activity" +msgstr "Actividad de Servicio de Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_order +msgid "Field Service Order" +msgstr "Pedido de Servicio de Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_template +msgid "Field Service Order Template" +msgstr "Plantilla del Pedido de Servicio de Campo" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__id +msgid "ID" +msgstr "ID" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity____last_update +msgid "Last Modified on" +msgstr "Última Modificación el" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_uid +msgid "Last Updated by" +msgstr "Última Actualización por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_date +msgid "Last Updated on" +msgstr "Última Actualización en" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__name +msgid "Name" +msgstr "Nombre" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_order__order_activity_ids +msgid "Order Activities" +msgstr "Actividades del Pedido" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__ref +msgid "Reference" +msgstr "Referencia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__required +msgid "Required" +msgstr "Requerido" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__state +msgid "State" +msgstr "Estado" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__todo +msgid "To Do" +msgstr "Por Hacer" + +#. module: fieldservice_activity +#. odoo-python +#: code:addons/fieldservice_activity/models/fsm_order.py:0 +#, python-format +msgid "" +"You must complete activity '%s' before completing this " +"order." +msgstr "" +"Debe completar la actividad '%s' antes de completar " +"este pedido." + +#~ msgid "Activites" +#~ msgstr "Actividades" + +#~ msgid "Requireid" +#~ msgstr "Requerido" diff --git a/fieldservice_activity/i18n/es_CL.po b/fieldservice_activity/i18n/es_CL.po new file mode 100644 index 0000000000..c8c2b52a50 --- /dev/null +++ b/fieldservice_activity/i18n/es_CL.po @@ -0,0 +1,167 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_activity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-03-27 19:13+0000\n" +"Last-Translator: Nelson Ram??rez S??nchez \n" +"Language-Team: none\n" +"Language: es_CL\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 3.10\n" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_template__temp_activity_ids +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Activities" +msgstr "Actividades" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Cancel" +msgstr "Cancelar" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__cancel +msgid "Cancelled" +msgstr "Cancelada" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Complete" +msgstr "Completada" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__done +msgid "Completed" +msgstr "Completado" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_by +msgid "Completed By" +msgstr "Completado Por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_on +msgid "Completed On" +msgstr "Completado el" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__display_name +msgid "Display Name" +msgstr "Nombre Mostrado" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_order_id +msgid "FSM Order" +msgstr "Pedido FSM" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_template_id +msgid "FSM Template" +msgstr "Plantilla FSM" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_activity +msgid "Field Service Activity" +msgstr "Actividad de Servicio de Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_order +msgid "Field Service Order" +msgstr "Orden de Servicio de Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_template +msgid "Field Service Order Template" +msgstr "Plantilla de Orden de Servicio de Campo" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__id +msgid "ID" +msgstr "ID" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity____last_update +msgid "Last Modified on" +msgstr "??ltima modificaci??n el" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_uid +msgid "Last Updated by" +msgstr "??ltima modificaci??n por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_date +msgid "Last Updated on" +msgstr "??ltima actualizaci??n en" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__name +msgid "Name" +msgstr "Nombre" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_order__order_activity_ids +msgid "Order Activities" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__ref +msgid "Reference" +msgstr "Referencia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__required +msgid "Required" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__state +msgid "State" +msgstr "Estado" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__todo +msgid "To Do" +msgstr "Por Hacer" + +#. module: fieldservice_activity +#. odoo-python +#: code:addons/fieldservice_activity/models/fsm_order.py:0 +#, python-format +msgid "" +"You must complete activity '%s' before completing this " +"order." +msgstr "Debe completar la actividad '%s' antes de completar este pedido." + +#~ msgid "Activites" +#~ msgstr "Actividades" + +#~ msgid "Requireid" +#~ msgstr "Requerido" diff --git a/fieldservice_activity/i18n/fieldservice_activity.pot b/fieldservice_activity/i18n/fieldservice_activity.pot new file mode 100644 index 0000000000..40a648ff04 --- /dev/null +++ b/fieldservice_activity/i18n/fieldservice_activity.pot @@ -0,0 +1,158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_activity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_template__temp_activity_ids +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Activities" +msgstr "" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Cancel" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__cancel +msgid "Cancelled" +msgstr "" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Complete" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__done +msgid "Completed" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_by +msgid "Completed By" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_on +msgid "Completed On" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_uid +msgid "Created by" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_date +msgid "Created on" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__display_name +msgid "Display Name" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_order_id +msgid "FSM Order" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_template_id +msgid "FSM Template" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_activity +msgid "Field Service Activity" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_order +msgid "Field Service Order" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_template +msgid "Field Service Order Template" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__id +msgid "ID" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_date +msgid "Last Updated on" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__name +msgid "Name" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_order__order_activity_ids +msgid "Order Activities" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__ref +msgid "Reference" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__required +msgid "Required" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__sequence +msgid "Sequence" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__state +msgid "State" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__todo +msgid "To Do" +msgstr "" + +#. module: fieldservice_activity +#. odoo-python +#: code:addons/fieldservice_activity/models/fsm_order.py:0 +#, python-format +msgid "" +"You must complete activity '%s' before completing this " +"order." +msgstr "" diff --git a/fieldservice_activity/i18n/it.po b/fieldservice_activity/i18n/it.po new file mode 100644 index 0000000000..9c5ce7010a --- /dev/null +++ b/fieldservice_activity/i18n/it.po @@ -0,0 +1,170 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_activity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-06-26 11:09+0000\n" +"Last-Translator: Francesco Foresti \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: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_template__temp_activity_ids +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Activities" +msgstr "Attività" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Cancel" +msgstr "Annulla" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__cancel +msgid "Cancelled" +msgstr "Annullata" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Complete" +msgstr "Completa" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__done +msgid "Completed" +msgstr "Completata" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_by +msgid "Completed By" +msgstr "Completata da" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_on +msgid "Completed On" +msgstr "Completata il" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_order_id +msgid "FSM Order" +msgstr "Ordine FSM" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_template_id +msgid "FSM Template" +msgstr "Modello FSM" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_activity +msgid "Field Service Activity" +msgstr "Attività assistenza sul campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_order +msgid "Field Service Order" +msgstr "Ordine assistenza sul campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_template +msgid "Field Service Order Template" +msgstr "Modello ordine assistenza sul campo" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__id +msgid "ID" +msgstr "ID" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__name +msgid "Name" +msgstr "Nome" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_order__order_activity_ids +msgid "Order Activities" +msgstr "Ordina attività" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__ref +msgid "Reference" +msgstr "Riferimento" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__required +msgid "Required" +msgstr "Obbligatorio" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__sequence +msgid "Sequence" +msgstr "Sequenza" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__state +msgid "State" +msgstr "Stato" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__todo +msgid "To Do" +msgstr "Da fare" + +#. module: fieldservice_activity +#. odoo-python +#: code:addons/fieldservice_activity/models/fsm_order.py:0 +#, python-format +msgid "" +"You must complete activity '%s' before completing this " +"order." +msgstr "Devi completare l'attività '%s' prima di completare questo ordine." + +#~ msgid "Activites" +#~ msgstr "Attività" + +#~ msgid "Order" +#~ msgstr "Ordine" + +#~ msgid "Requireid" +#~ msgstr "Richiesto" diff --git a/fieldservice_activity/i18n/pt_BR.po b/fieldservice_activity/i18n/pt_BR.po new file mode 100644 index 0000000000..0b5abf9067 --- /dev/null +++ b/fieldservice_activity/i18n/pt_BR.po @@ -0,0 +1,167 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_activity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-10-31 21:37+0000\n" +"Last-Translator: Adriano Prado \n" +"Language-Team: none\n" +"Language: pt_BR\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: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_template__temp_activity_ids +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Activities" +msgstr "Atividades" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Cancel" +msgstr "Cancelar" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__cancel +msgid "Cancelled" +msgstr "Cancelada" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Complete" +msgstr "Completar" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__done +msgid "Completed" +msgstr "Completado" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_by +msgid "Completed By" +msgstr "Completado Por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_on +msgid "Completed On" +msgstr "Completado em" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_uid +msgid "Created by" +msgstr "Criado Por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__display_name +msgid "Display Name" +msgstr "Exibir Nome" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_order_id +msgid "FSM Order" +msgstr "Pedido do GSC" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_template_id +msgid "FSM Template" +msgstr "Modelo do GSC" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_activity +msgid "Field Service Activity" +msgstr "Atividade de Serviço em Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_order +msgid "Field Service Order" +msgstr "Ordem de Serviço em Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_template +msgid "Field Service Order Template" +msgstr "Modelo de Ordem de Serviço em Campo" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__id +msgid "ID" +msgstr "ID" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity____last_update +msgid "Last Modified on" +msgstr "Ultima Modificação Feita em" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_uid +msgid "Last Updated by" +msgstr "Ultima Modificação Feita por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_date +msgid "Last Updated on" +msgstr "Ultima Atualização Feita em" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__name +msgid "Name" +msgstr "Nome" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_order__order_activity_ids +msgid "Order Activities" +msgstr "Atividades da Ordem" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__ref +msgid "Reference" +msgstr "Referencia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__required +msgid "Required" +msgstr "Requerido" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__sequence +msgid "Sequence" +msgstr "Sequencia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__state +msgid "State" +msgstr "Estado" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__todo +msgid "To Do" +msgstr "A Fazer" + +#. module: fieldservice_activity +#. odoo-python +#: code:addons/fieldservice_activity/models/fsm_order.py:0 +#, python-format +msgid "" +"You must complete activity '%s' before completing this " +"order." +msgstr "Você deve concluir a atividade '%s' antes de concluir este pedido." + +#~ msgid "Activites" +#~ msgstr "Atividades" + +#~ msgid "Requireid" +#~ msgstr "Requer ID" diff --git a/fieldservice_activity/i18n/pt_PT.po b/fieldservice_activity/i18n/pt_PT.po new file mode 100644 index 0000000000..56e6e8bb42 --- /dev/null +++ b/fieldservice_activity/i18n/pt_PT.po @@ -0,0 +1,167 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_activity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-07-21 10:19+0000\n" +"Last-Translator: Daniel Reis \n" +"Language-Team: none\n" +"Language: pt_PT\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 3.10\n" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_template__temp_activity_ids +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Activities" +msgstr "Atividades" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Cancel" +msgstr "Cancelar" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__cancel +msgid "Cancelled" +msgstr "Cancelada" + +#. module: fieldservice_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_order_form_add_activity +#: model_terms:ir.ui.view,arch_db:fieldservice_activity.view_fsm_template_form_add_activity +msgid "Complete" +msgstr "Completo" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__done +msgid "Completed" +msgstr "Completado" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_by +msgid "Completed By" +msgstr "Completado Por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__completed_on +msgid "Completed On" +msgstr "Completado em" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__display_name +msgid "Display Name" +msgstr "Nome Apresentado" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_order_id +msgid "FSM Order" +msgstr "Ordem FSM" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__fsm_template_id +msgid "FSM Template" +msgstr "Modelo FSM" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_activity +msgid "Field Service Activity" +msgstr "Atividade de Servi??o em Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_order +msgid "Field Service Order" +msgstr "Ordem de Servi??o de Campo" + +#. module: fieldservice_activity +#: model:ir.model,name:fieldservice_activity.model_fsm_template +msgid "Field Service Order Template" +msgstr "Modelo de Ordem de Servi??o" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__id +msgid "ID" +msgstr "ID" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity____last_update +msgid "Last Modified on" +msgstr "??ltima Modifica????o em" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_uid +msgid "Last Updated by" +msgstr "??ltima Atualiza????o por" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__write_date +msgid "Last Updated on" +msgstr "??ltima Atualiza????o em" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__name +msgid "Name" +msgstr "Nome" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_order__order_activity_ids +msgid "Order Activities" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__ref +msgid "Reference" +msgstr "Refer??ncia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__required +msgid "Required" +msgstr "" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__sequence +msgid "Sequence" +msgstr "Sequ??ncia" + +#. module: fieldservice_activity +#: model:ir.model.fields,field_description:fieldservice_activity.field_fsm_activity__state +msgid "State" +msgstr "Estado" + +#. module: fieldservice_activity +#: model:ir.model.fields.selection,name:fieldservice_activity.selection__fsm_activity__state__todo +msgid "To Do" +msgstr "A Fazer" + +#. module: fieldservice_activity +#. odoo-python +#: code:addons/fieldservice_activity/models/fsm_order.py:0 +#, python-format +msgid "" +"You must complete activity '%s' before completing this " +"order." +msgstr "Voc?? deve concluir a atividade '%s' antes de concluir este pedido." + +#~ msgid "Activites" +#~ msgstr "Atividades" + +#~ msgid "Requireid" +#~ msgstr "Requer ID" diff --git a/fieldservice_activity/models/__init__.py b/fieldservice_activity/models/__init__.py new file mode 100644 index 0000000000..24f1162b2d --- /dev/null +++ b/fieldservice_activity/models/__init__.py @@ -0,0 +1,6 @@ +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import fsm_activity +from . import fsm_order +from . import fsm_template diff --git a/fieldservice_activity/models/fsm_activity.py b/fieldservice_activity/models/fsm_activity.py new file mode 100644 index 0000000000..ae1f1df667 --- /dev/null +++ b/fieldservice_activity/models/fsm_activity.py @@ -0,0 +1,45 @@ +# Copyright (C) 2019 Open Source Integrators +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class FSMActivity(models.Model): + _name = "fsm.activity" + _description = "Field Service Activity" + + name = fields.Char( + required=True, readonly=True, states={"todo": [("readonly", False)]} + ) + required = fields.Boolean( + default=False, + readonly=True, + states={"todo": [("readonly", False)]}, + ) + sequence = fields.Integer() + completed = fields.Boolean(default=False) + completed_on = fields.Datetime(readonly=True) + completed_by = fields.Many2one("res.users", readonly=True) + ref = fields.Char( + "Reference", readonly=True, states={"todo": [("readonly", False)]} + ) + fsm_order_id = fields.Many2one("fsm.order", "FSM Order") + fsm_template_id = fields.Many2one("fsm.template", "FSM Template") + state = fields.Selection( + [("todo", "To Do"), ("done", "Completed"), ("cancel", "Cancelled")], + readonly=True, + default="todo", + ) + + def action_done(self): + self.write( + { + "completed": True, + "completed_on": fields.Datetime.now(), + "completed_by": self.env.user.id, + "state": "done", + } + ) + + def action_cancel(self): + self.state = "cancel" diff --git a/fieldservice_activity/models/fsm_order.py b/fieldservice_activity/models/fsm_order.py new file mode 100644 index 0000000000..1aa6f61dc6 --- /dev/null +++ b/fieldservice_activity/models/fsm_order.py @@ -0,0 +1,63 @@ +# Copyright (C) 2019, Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class FSMOrder(models.Model): + _inherit = "fsm.order" + + order_activity_ids = fields.One2many( + "fsm.activity", + "fsm_order_id", + "Order Activities", + compute="_compute_order_activity_ids", + store=True, + ) + + @api.depends("template_id") + def _compute_order_activity_ids(self): + for rec in self: + # Clear existing activities + if not rec.template_id: + continue + + activity_list = [(5, 0, 0)] + activity_list.extend( + ( + 0, + 0, + { + "name": temp_activity.name, + "required": temp_activity.required, + "ref": temp_activity.ref, + "state": temp_activity.state, + }, + ) + for temp_activity in rec.template_id.temp_activity_ids + ) + + rec.order_activity_ids = activity_list + + @api.model_create_multi + def create(self, vals): + """Update Activities for FSM orders that are generate from SO""" + orders = super().create(vals) + for order in orders: + order._onchange_template_id() + return orders + + def action_complete(self): + res = super().action_complete() + for activity in self.order_activity_ids: + if activity.required and activity.state == "todo": + raise ValidationError( + _( + "You must complete activity '%s' before \ + completing this order." + ) + % activity.name + ) + self.activity_ids._action_done() + return res diff --git a/fieldservice_activity/models/fsm_template.py b/fieldservice_activity/models/fsm_template.py new file mode 100644 index 0000000000..12b17becf6 --- /dev/null +++ b/fieldservice_activity/models/fsm_template.py @@ -0,0 +1,10 @@ +# Copyright (C) 2019, Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class FSMTemplate(models.Model): + _inherit = "fsm.template" + + temp_activity_ids = fields.One2many("fsm.activity", "fsm_template_id", "Activities") diff --git a/fieldservice_activity/pyproject.toml b/fieldservice_activity/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/fieldservice_activity/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/fieldservice_activity/readme/CONFIGURE.md b/fieldservice_activity/readme/CONFIGURE.md new file mode 100644 index 0000000000..d2cc25b18d --- /dev/null +++ b/fieldservice_activity/readme/CONFIGURE.md @@ -0,0 +1,3 @@ +To use this module, you need to: + +- Go to Field Service \> Configuration \> Manage Order Activities diff --git a/fieldservice_activity/readme/CONTRIBUTORS.md b/fieldservice_activity/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..a54da0c1a6 --- /dev/null +++ b/fieldservice_activity/readme/CONTRIBUTORS.md @@ -0,0 +1,7 @@ +- Maxime Chambreuil \<\> +- Steve Campbell \<\> +- Bhavesh Odedra \<\> +- Freni Patel \<\> +* `Binhex Systems Solutions `_: + + * Deriman Alonso diff --git a/fieldservice_activity/readme/CREDITS.md b/fieldservice_activity/readme/CREDITS.md new file mode 100644 index 0000000000..7e4827b0a8 --- /dev/null +++ b/fieldservice_activity/readme/CREDITS.md @@ -0,0 +1,3 @@ +The development of this module has been financially supported by: + +- Open Source Integrators \<\> diff --git a/fieldservice_activity/readme/DESCRIPTION.md b/fieldservice_activity/readme/DESCRIPTION.md new file mode 100644 index 0000000000..677a8ead17 --- /dev/null +++ b/fieldservice_activity/readme/DESCRIPTION.md @@ -0,0 +1,5 @@ +A Field Service Activity gives the user the ability to define a list of +tasks/activities on a service order + +The user can add tasks/activities to the FSM order to the ones created +from the template. diff --git a/fieldservice_activity/readme/USAGE.md b/fieldservice_activity/readme/USAGE.md new file mode 100644 index 0000000000..1f54d55f30 --- /dev/null +++ b/fieldservice_activity/readme/USAGE.md @@ -0,0 +1,7 @@ +To use this module, you need to: + +- Go to Field Service +- Create or select an FSM Order +- Add as many Activites as needed +- Alternatively, add Activites to a Template +- Add Template to FSM Order, Activites will be copied over diff --git a/fieldservice_activity/security/ir.model.access.csv b/fieldservice_activity/security/ir.model.access.csv new file mode 100644 index 0000000000..e1c99c1928 --- /dev/null +++ b/fieldservice_activity/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_fsm_activity_fsm_user,fsm.activity.user,model_fsm_activity,fieldservice.group_fsm_user,1,1,0,0 +access_fsm_activity_fsm_manager,fsm.activity.manager,model_fsm_activity,fieldservice.group_fsm_manager,1,1,1,1 diff --git a/fieldservice_activity/static/description/icon.png b/fieldservice_activity/static/description/icon.png new file mode 100644 index 0000000000..955674d8f0 Binary files /dev/null and b/fieldservice_activity/static/description/icon.png differ diff --git a/fieldservice_activity/static/description/index.html b/fieldservice_activity/static/description/index.html new file mode 100644 index 0000000000..f4f2c0851b --- /dev/null +++ b/fieldservice_activity/static/description/index.html @@ -0,0 +1,463 @@ + + + + + +Field Service Activity + + + +
+

Field Service Activity

+ + +

Beta License: AGPL-3 OCA/field-service Translate me on Weblate Try me on Runboat

+

A Field Service Activity gives the user the ability to define a list of +tasks/activities on a service order

+

The user can add tasks/activities to the FSM order to the ones created +from the template.

+

Table of contents

+ +
+

Configuration

+

To use this module, you need to:

+
    +
  • Go to Field Service > Configuration > Manage Order Activities
  • +
+
+
+

Usage

+

To use this module, you need to:

+
    +
  • Go to Field Service
  • +
  • Create or select an FSM Order
  • +
  • Add as many Activites as needed
  • +
  • Alternatively, add Activites to a Template
  • +
  • Add Template to FSM Order, Activites will be copied over
  • +
+
+
+

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

+
    +
  • Open Source Integrators
  • +
+
+
+

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.

+

Current maintainers:

+

max3903 osi-scampbell

+

This module is part of the OCA/field-service project on GitHub.

+

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

+
+
+
+ + diff --git a/fieldservice_activity/tests/__init__.py b/fieldservice_activity/tests/__init__.py new file mode 100644 index 0000000000..f3db523154 --- /dev/null +++ b/fieldservice_activity/tests/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2019, Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_fsm_activity diff --git a/fieldservice_activity/tests/test_fsm_activity.py b/fieldservice_activity/tests/test_fsm_activity.py new file mode 100644 index 0000000000..458dd3361a --- /dev/null +++ b/fieldservice_activity/tests/test_fsm_activity.py @@ -0,0 +1,142 @@ +# Copyright (C) 2019, Open Source Integrators +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from datetime import datetime + +from odoo.exceptions import ValidationError +from odoo.tests.common import Form, TransactionCase + + +class TestFSMActivity(TransactionCase): + def setUp(self): + super().setUp() + self.Order = self.env["fsm.order"] + self.test_location = self.env.ref("fieldservice.test_location") + self.Activity = self.env["fsm.activity"] + self.template_obj = self.env["fsm.template"] + self.activty_type = self.env["mail.activity.type"].create( + {"name": "Meeting", "category": "phonecall"} + ) + self.user_employee = self.env["res.users"].create( + { + "name": "Ernest Employee", + "login": "emp", + "email": "e.e@example.com", + "signature": "--\nErnest", + "notification_type": "inbox", + "groups_id": [ + ( + 6, + 0, + [ + self.env.ref("base.group_user").id, + self.env.ref("base.group_partner_manager").id, + ], + ) + ], + } + ) + + def test_fsm_activity(self): + """Test creating new activites, and moving them along thier stages, + - Don't move FSM Order to complete if Required Activity in 'To Do' + - Check completed_by is saved + - Check completed_on is saved + """ + # Create an Orders + view_id = "fieldservice.fsm_order_form" + with Form(self.Order, view=view_id) as f: + f.location_id = self.test_location + order = f.save() + order2 = self.Order.create( + { + "location_id": self.test_location.id, + } + ) + order_id = order.id + activity_id = self.env["mail.activity"].create( + { + "summary": "Meeting with partner", + "activity_type_id": self.activty_type.id, + "res_model_id": self.env["ir.model"]._get("fsm.order").id, + "res_id": order2.id, + "user_id": self.env.user.id, + } + ) + order2.activity_ids = [(6, False, activity_id.ids)] + self.Activity.create( + self.get_activity_vals("Activity Test", False, "Ref 1", order2.id) + ) + self.Activity.create( + self.get_activity_vals("Activity 1", False, "Ref 1", order_id) + ) + self.Activity.create( + self.get_activity_vals("Activity 2", False, "Ref 2", order_id) + ) + self.Activity.create( + self.get_activity_vals("Activity 3", True, "Ref 3", order_id) + ) + order2.order_activity_ids.action_done() + order2.action_complete() + # Test action_done() + order.order_activity_ids[0].action_done() + self.assertEqual( + order.order_activity_ids[0].completed_on.replace(microsecond=0), + datetime.now().replace(microsecond=0), + ) + self.assertEqual(order.order_activity_ids[0].completed_by, self.env.user) + self.assertEqual(order.order_activity_ids[0].state, "done") + # Test action_cancel() + order.order_activity_ids[1].action_cancel() + self.assertEqual(order.order_activity_ids[1].state, "cancel") + + # As per FSM order needs, end date may not be set + # stop tracking validation error + if not order.date_end: + order.date_end = datetime.now() + + # Test required Activity + with self.assertRaises(ValidationError): + order.action_complete() + + order.order_activity_ids[2].action_done() + order.action_complete() + self.assertEqual( + order.stage_id.id, self.env.ref("fieldservice.fsm_stage_completed").id + ) + + def get_activity_vals(self, name, required, ref, order_id): + return { + "name": name, + "required": required, + "ref": ref, + "fsm_order_id": order_id, + } + + def test_onchange_template_id(self): + # Create a Template + self.template = self.template_obj.create( + { + "name": "Demo template", + "temp_activity_ids": [ + ( + 0, + 0, + { + "name": "Activity new", + "required": True, + "ref": "Ref new", + "state": "todo", + }, + ) + ], + } + ) + # Create an Order + self.fso = self.Order.create( + {"location_id": self.test_location.id, "template_id": self.template.id} + ) + # Test _onchange_template_id() + self.fso._onchange_template_id() + self.assertNotEqual( + self.fso.order_activity_ids.ids, self.fso.template_id.temp_activity_ids.ids + ) diff --git a/fieldservice_activity/views/fsm_order.xml b/fieldservice_activity/views/fsm_order.xml new file mode 100644 index 0000000000..4f984b5d87 --- /dev/null +++ b/fieldservice_activity/views/fsm_order.xml @@ -0,0 +1,39 @@ + + + + fsm.order.form.activity + fsm.order + + + + + + + + + + + + + +