diff --git a/fieldservice_activity/README.rst b/fieldservice_activity/README.rst new file mode 100644 index 0000000000..4ff62d47e2 --- /dev/null +++ b/fieldservice_activity/README.rst @@ -0,0 +1,159 @@ +====================== +Field Service Activity +====================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4c7e1e5b3b0e62eadf9560fd8d8d438d6381416530f22f6ac182b330e52e47bf + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/18.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-18-0/field-service-18-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=18.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 +===== + +Activities in a FSM Order +------------------------- + +- Go to **Field Service** application. +- Create or select an FSM Order. +- Under the tab *Activities"*, add as many *Activities* as needed + +`FSM Order Activities +Tab <../static/description/fsm_order_activity_tab.png>`__ + +Activities in a FSM Order Template +---------------------------------- + +- As a user with Setting access, go to *Field Service > Configuration > + Settings*. + +- Activate the *Manage Order Templates* feature and **Save**. + +`Field Service Settings Manage +Templates <../static/description/field_service_settings_manage_templates.png>`__ + +- As a Field Service User, go to *Field Service > Master Data > + Templates*. + +`Field Service +Templates <../static/description/field_service_template.png>`__ + +- Under the new *Activities* tab, create or add activities. + +`Field Service Template +Activities <../static/description/field_service_template_activities.png>`__ + +Using a template with activities for a FSM Order +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- From the form view of a FSM Order, choose the template you created + the activities for. + +- Under the tab *Activities*, you can noticed that the template + activities have been copied. + +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 + +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..90590f30e2 --- /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": "18.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..913434038c --- /dev/null +++ b/fieldservice_activity/i18n/es.po @@ -0,0 +1,161 @@ +# 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__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." + +#~ msgid "Last Modified on" +#~ msgstr "modificado por última vez el" diff --git a/fieldservice_activity/i18n/es_AR.po b/fieldservice_activity/i18n/es_AR.po new file mode 100644 index 0000000000..4aa52334eb --- /dev/null +++ b/fieldservice_activity/i18n/es_AR.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: 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__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 "Last Modified on" +#~ msgstr "Última Modificación el" + +#~ 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..11620e84cf --- /dev/null +++ b/fieldservice_activity/i18n/es_CL.po @@ -0,0 +1,165 @@ +# 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__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 "Last Modified on" +#~ msgstr "??ltima modificaci??n el" + +#~ 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..99227171ad --- /dev/null +++ b/fieldservice_activity/i18n/fieldservice_activity.pot @@ -0,0 +1,153 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_activity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.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__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..35b984f036 --- /dev/null +++ b/fieldservice_activity/i18n/it.po @@ -0,0 +1,168 @@ +# 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__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 "Last Modified on" +#~ msgstr "Ultima modifica il" + +#~ 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..8c9600fea4 --- /dev/null +++ b/fieldservice_activity/i18n/pt_BR.po @@ -0,0 +1,165 @@ +# 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__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 "Last Modified on" +#~ msgstr "Ultima Modificação Feita em" + +#~ 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..d04b2411e7 --- /dev/null +++ b/fieldservice_activity/i18n/pt_PT.po @@ -0,0 +1,165 @@ +# 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__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 "Last Modified on" +#~ msgstr "??ltima Modifica????o em" + +#~ 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..61aa131a25 --- /dev/null +++ b/fieldservice_activity/models/fsm_activity.py @@ -0,0 +1,43 @@ +# 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, + ) + required = fields.Boolean( + default=False, + readonly=True, + ) + 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) + 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..fe7b6525da --- /dev/null +++ b/fieldservice_activity/readme/CONTRIBUTORS.md @@ -0,0 +1,7 @@ +- Maxime Chambreuil \<\> +- Steve Campbell \<\> +- Bhavesh Odedra \<\> +- Freni Patel \<\> +- [Binhex Systems Solutions](https://binhex.cloud): + + - 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..95fd958b87 --- /dev/null +++ b/fieldservice_activity/readme/USAGE.md @@ -0,0 +1,29 @@ +## Activities in a FSM Order + +- Go to **Field Service** application. +- Create or select an FSM Order. +- Under the tab *Activities"*, add as many *Activities* as needed + +[FSM Order Activities Tab](../static/description/fsm_order_activity_tab.png) + +## Activities in a FSM Order Template + +- As a user with Setting access, go to *Field Service > Configuration > Settings*. + +- Activate the *Manage Order Templates* feature and **Save**. + +[Field Service Settings Manage Templates](../static/description/field_service_settings_manage_templates.png) + +- As a Field Service User, go to *Field Service > Master Data > Templates*. + +[Field Service Templates](../static/description/field_service_template.png) + +- Under the new *Activities* tab, create or add activities. + +[Field Service Template Activities](../static/description/field_service_template_activities.png) + +### Using a template with activities for a FSM Order + +- From the form view of a FSM Order, choose the template you created the activities for. + +- Under the tab *Activities*, you can noticed that the template activities have been copied. 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/field_service_settings_manage_templates.png b/fieldservice_activity/static/description/field_service_settings_manage_templates.png new file mode 100644 index 0000000000..dd4f14c175 Binary files /dev/null and b/fieldservice_activity/static/description/field_service_settings_manage_templates.png differ diff --git a/fieldservice_activity/static/description/field_service_template.png b/fieldservice_activity/static/description/field_service_template.png new file mode 100644 index 0000000000..9eb389e37c Binary files /dev/null and b/fieldservice_activity/static/description/field_service_template.png differ diff --git a/fieldservice_activity/static/description/field_service_template_activities.png b/fieldservice_activity/static/description/field_service_template_activities.png new file mode 100644 index 0000000000..f88b7ebdc1 Binary files /dev/null and b/fieldservice_activity/static/description/field_service_template_activities.png differ diff --git a/fieldservice_activity/static/description/fsm_order_activity_tab.png b/fieldservice_activity/static/description/fsm_order_activity_tab.png new file mode 100644 index 0000000000..13a9b87fa4 Binary files /dev/null and b/fieldservice_activity/static/description/fsm_order_activity_tab.png differ diff --git a/fieldservice_activity/static/description/icon.png b/fieldservice_activity/static/description/icon.png new file mode 100644 index 0000000000..e3757caa15 Binary files /dev/null and b/fieldservice_activity/static/description/icon.png differ diff --git a/fieldservice_activity/static/description/icon.svg b/fieldservice_activity/static/description/icon.svg new file mode 100644 index 0000000000..c27c090fda --- /dev/null +++ b/fieldservice_activity/static/description/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fieldservice_activity/static/description/index.html b/fieldservice_activity/static/description/index.html new file mode 100644 index 0000000000..69831ec3e4 --- /dev/null +++ b/fieldservice_activity/static/description/index.html @@ -0,0 +1,502 @@ + + + + + +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

+
+

Activities in a FSM Order

+
    +
  • Go to Field Service application.
  • +
  • Create or select an FSM Order.
  • +
  • Under the tab Activities”, add as many Activities as needed
  • +
+

FSM Order Activities +Tab

+
+
+

Activities in a FSM Order Template

+
    +
  • As a user with Setting access, go to Field Service > Configuration > +Settings.
  • +
  • Activate the Manage Order Templates feature and Save.
  • +
+

Field Service Settings Manage +Templates

+
    +
  • As a Field Service User, go to Field Service > Master Data > +Templates.
  • +
+

Field Service +Templates

+
    +
  • Under the new Activities tab, create or add activities.
  • +
+

Field Service Template +Activities

+
+

Using a template with activities for a FSM Order

+
    +
  • From the form view of a FSM Order, choose the template you created +the activities for.
  • +
  • Under the tab Activities, you can noticed that the template +activities have been copied.
  • +
+
+
+
+
+

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
  • +
+
+ +
+

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..52fe9e8213 --- /dev/null +++ b/fieldservice_activity/tests/test_fsm_activity.py @@ -0,0 +1,143 @@ +# 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 import Form +from odoo.tests.common import 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..37373001ff --- /dev/null +++ b/fieldservice_activity/views/fsm_order.xml @@ -0,0 +1,39 @@ + + + + fsm.order.form.activity + fsm.order + + + + + + + + + + + + + +