diff --git a/fieldservice_crm/README.rst b/fieldservice_crm/README.rst new file mode 100644 index 0000000000..6056ad77f9 --- /dev/null +++ b/fieldservice_crm/README.rst @@ -0,0 +1,126 @@ +=================== +Field Service - CRM +=================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:c82e722889e31a024cf09938b25495d07deeeea149923daad7b03cf9735cc908 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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_crm + :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_crm + :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| + +The module integrates the field service application with CRM +opportunities. This can be useful in scenarios where onsite personnel +are needed for evaluation or surveying before quoting. + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +To install Field Service and have the mapping features, you need to +install GeoEngine. + +Please refer to the installation instructions available at: +https://github.com/OCA/geospatial/tree/13.0/base_geoengine + +Configuration +============= + +No configuration is needed. + +Usage +===== + +- User must have Field Service User permissions +- Go to CRM app +- Create a new Opportunity +- Click the FS Orders Smart Button +- Create a Field Service Order + +Known issues / Roadmap +====================== + +The roadmap of the Field Service application is documented on +`Github `__. + +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 +------- + +* Patrick Wilson + +Contributors +------------ + +- Patrick Wilson +- Freni Patel +- `APSL `__: + + - Antoni Marroig + +Other credits +------------- + +The development of this module has been financially supported by: + +- Pavlov Media + +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-patrickrwilson| image:: https://github.com/patrickrwilson.png?size=40px + :target: https://github.com/patrickrwilson + :alt: patrickrwilson + +Current `maintainer `__: + +|maintainer-patrickrwilson| + +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_crm/__init__.py b/fieldservice_crm/__init__.py new file mode 100644 index 0000000000..53ddf854f5 --- /dev/null +++ b/fieldservice_crm/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2019, Patrick Wilson +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/fieldservice_crm/__manifest__.py b/fieldservice_crm/__manifest__.py new file mode 100644 index 0000000000..d26c9e5e48 --- /dev/null +++ b/fieldservice_crm/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright (C) 2019, Patrick Wilson +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Field Service - CRM", + "version": "17.0.1.0.0", + "summary": "Create Field Service orders from the CRM", + "category": "Field Service", + "author": "Patrick Wilson, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/field-service", + "depends": ["fieldservice", "crm"], + "data": [ + "views/crm_lead.xml", + "views/fsm_location.xml", + "views/fsm_order.xml", + "security/ir.model.access.csv", + ], + "license": "AGPL-3", + "development_status": "Beta", + "maintainers": ["patrickrwilson"], + "installable": True, +} diff --git a/fieldservice_crm/i18n/de.po b/fieldservice_crm/i18n/de.po new file mode 100644 index 0000000000..c9bb9591b6 --- /dev/null +++ b/fieldservice_crm/i18n/de.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_crm +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-11-26 14:27+0000\n" +"Last-Translator: Maria Sparenberg \n" +"Language-Team: none\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.8\n" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_count +msgid "# FSM Orders" +msgstr "# Service-Auftr??ge" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_location__opportunity_count +msgid "# Opportunities" +msgstr "# Verkaufschancen" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fieldservice_crm_form_view +msgid "FS Orders" +msgstr "Service-Auftr??ge" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_location_id +msgid "FSM Location" +msgstr "Field-Service-Ort" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_location +msgid "Field Service Location" +msgstr "Field-Service-Ort" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_order +msgid "Field Service Order" +msgstr "Field-Service-Auftrag" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "Interessent / Chance" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fsm_location_crm_form_view +msgid "Opportunities" +msgstr "Verkaufschancen" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_order__opportunity_id +msgid "Opportunity" +msgstr "Verkaufschance" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_ids +msgid "Service Orders" +msgstr "Service-Auftr??ge" diff --git a/fieldservice_crm/i18n/es.po b/fieldservice_crm/i18n/es.po new file mode 100644 index 0000000000..c49847392a --- /dev/null +++ b/fieldservice_crm/i18n/es.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_crm +# +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_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_count +msgid "# FSM Orders" +msgstr "# Pedidos FSM" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_location__opportunity_count +msgid "# Opportunities" +msgstr "# Oportunidades" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fieldservice_crm_form_view +msgid "FS Orders" +msgstr "Órdenes FS" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_location_id +msgid "FSM Location" +msgstr "Ubicación FSM" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_location +msgid "Field Service Location" +msgstr "Ubicación del servicio de campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_order +msgid "Field Service Order" +msgstr "Orden de Servicio de Campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "Iniciativa/oportunidad" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fsm_location_crm_form_view +msgid "Opportunities" +msgstr "Oportunidades" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_order__opportunity_id +msgid "Opportunity" +msgstr "Oportunidad" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_ids +msgid "Service Orders" +msgstr "Órdenes de servicio" diff --git a/fieldservice_crm/i18n/es_AR.po b/fieldservice_crm/i18n/es_AR.po new file mode 100644 index 0000000000..a0ffbd3045 --- /dev/null +++ b/fieldservice_crm/i18n/es_AR.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_crm +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-04-27 20:47+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.3.2\n" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_count +msgid "# FSM Orders" +msgstr "# Pedidos FSM" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_location__opportunity_count +msgid "# Opportunities" +msgstr "# Oportunidades" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fieldservice_crm_form_view +msgid "FS Orders" +msgstr "Pedidos FS" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_location_id +msgid "FSM Location" +msgstr "Ubicación FSM" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_location +msgid "Field Service Location" +msgstr "Ubicación del Servicio de Campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_order +msgid "Field Service Order" +msgstr "Pedido de Servicio de Campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "Iniciativa/Oportunidad" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fsm_location_crm_form_view +msgid "Opportunities" +msgstr "Oportunidades" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_order__opportunity_id +msgid "Opportunity" +msgstr "Oportunidad" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_ids +msgid "Service Orders" +msgstr "Órdenes de Servicio" diff --git a/fieldservice_crm/i18n/es_CL.po b/fieldservice_crm/i18n/es_CL.po new file mode 100644 index 0000000000..c76a036a08 --- /dev/null +++ b/fieldservice_crm/i18n/es_CL.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_crm +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-01-16 22:38+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_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_count +msgid "# FSM Orders" +msgstr "# Pedidos FSM" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_location__opportunity_count +msgid "# Opportunities" +msgstr "# Oportunidades" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fieldservice_crm_form_view +msgid "FS Orders" +msgstr "??rdenes FS" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_location_id +msgid "FSM Location" +msgstr "Ubicaci??n FSM" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_location +msgid "Field Service Location" +msgstr "Ubicaci??n del servicio de campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_order +msgid "Field Service Order" +msgstr "Orden de Servicio de Campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "Iniciativa/Oportunidad" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fsm_location_crm_form_view +msgid "Opportunities" +msgstr "Oportunidades" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_order__opportunity_id +msgid "Opportunity" +msgstr "Oportunidad" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_ids +msgid "Service Orders" +msgstr "??rdenes de Servicio" diff --git a/fieldservice_crm/i18n/fieldservice_crm.pot b/fieldservice_crm/i18n/fieldservice_crm.pot new file mode 100644 index 0000000000..60ae2c11c3 --- /dev/null +++ b/fieldservice_crm/i18n/fieldservice_crm.pot @@ -0,0 +1,64 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_crm +# +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_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_count +msgid "# FSM Orders" +msgstr "" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_location__opportunity_count +msgid "# Opportunities" +msgstr "" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fieldservice_crm_form_view +msgid "FS Orders" +msgstr "" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_location_id +msgid "FSM Location" +msgstr "" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_location +msgid "Field Service Location" +msgstr "" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_order +msgid "Field Service Order" +msgstr "" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fsm_location_crm_form_view +msgid "Opportunities" +msgstr "" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_order__opportunity_id +msgid "Opportunity" +msgstr "" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_ids +msgid "Service Orders" +msgstr "" diff --git a/fieldservice_crm/i18n/fr.po b/fieldservice_crm/i18n/fr.po new file mode 100644 index 0000000000..e42ab636a7 --- /dev/null +++ b/fieldservice_crm/i18n/fr.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_crm +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-19 15:25+0000\n" +"Last-Translator: Houzéfa Abbasbhay \n" +"Language-Team: none\n" +"Language: fr\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_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_count +msgid "# FSM Orders" +msgstr "# Commandes de service sur site" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_location__opportunity_count +msgid "# Opportunities" +msgstr "# Opportunités" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fieldservice_crm_form_view +msgid "FS Orders" +msgstr "Commandes de service sur site" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_location_id +msgid "FSM Location" +msgstr "Localisation du site" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_location +msgid "Field Service Location" +msgstr "Localisation du service sur site" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_order +msgid "Field Service Order" +msgstr "Commande de service sur site" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "Piste/Opportunité" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fsm_location_crm_form_view +msgid "Opportunities" +msgstr "Opportunités" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_order__opportunity_id +msgid "Opportunity" +msgstr "Opportunité" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_ids +msgid "Service Orders" +msgstr "Commandes de service sur site" diff --git a/fieldservice_crm/i18n/it.po b/fieldservice_crm/i18n/it.po new file mode 100644 index 0000000000..7f6db2cb32 --- /dev/null +++ b/fieldservice_crm/i18n/it.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_crm +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-02-01 18:46+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.14.1\n" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_count +msgid "# FSM Orders" +msgstr "N° ordine FSM" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_location__opportunity_count +msgid "# Opportunities" +msgstr "N° opportunità" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fieldservice_crm_form_view +msgid "FS Orders" +msgstr "Ordini FS" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_location_id +msgid "FSM Location" +msgstr "Località FSM" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_location +msgid "Field Service Location" +msgstr "Località assistenza sul campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_order +msgid "Field Service Order" +msgstr "Ordine assistenza sul campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "Contatto/Opportunità" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fsm_location_crm_form_view +msgid "Opportunities" +msgstr "Opportunità" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_order__opportunity_id +msgid "Opportunity" +msgstr "Opportunità" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_ids +msgid "Service Orders" +msgstr "Ordini servizio" diff --git a/fieldservice_crm/i18n/pt_BR.po b/fieldservice_crm/i18n/pt_BR.po new file mode 100644 index 0000000000..9c0e495df9 --- /dev/null +++ b/fieldservice_crm/i18n/pt_BR.po @@ -0,0 +1,67 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_crm +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-06-08 21:48+0000\n" +"Last-Translator: Eder Brito \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.3.2\n" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_count +msgid "# FSM Orders" +msgstr "# Ordens de Serviço" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_location__opportunity_count +msgid "# Opportunities" +msgstr "# Oportunidades" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fieldservice_crm_form_view +msgid "FS Orders" +msgstr "Ordens de Serviço" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_location_id +msgid "FSM Location" +msgstr "Local de GSC" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_location +msgid "Field Service Location" +msgstr "Local de Serviço de Campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_fsm_order +msgid "Field Service Order" +msgstr "Ordem de Serviço de Campo" + +#. module: fieldservice_crm +#: model:ir.model,name:fieldservice_crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "Lead/Oportunidade" + +#. module: fieldservice_crm +#: model_terms:ir.ui.view,arch_db:fieldservice_crm.fsm_location_crm_form_view +msgid "Opportunities" +msgstr "Oportunidades" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_fsm_order__opportunity_id +msgid "Opportunity" +msgstr "Oportunidade" + +#. module: fieldservice_crm +#: model:ir.model.fields,field_description:fieldservice_crm.field_crm_lead__fsm_order_ids +msgid "Service Orders" +msgstr "Ordens de Serviço" diff --git a/fieldservice_crm/models/__init__.py b/fieldservice_crm/models/__init__.py new file mode 100644 index 0000000000..a81051ecd9 --- /dev/null +++ b/fieldservice_crm/models/__init__.py @@ -0,0 +1,6 @@ +# Copyright (C) 2019, Patrick Wilson +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import crm_lead +from . import fsm_location +from . import fsm_order diff --git a/fieldservice_crm/models/crm_lead.py b/fieldservice_crm/models/crm_lead.py new file mode 100644 index 0000000000..181dcb0c37 --- /dev/null +++ b/fieldservice_crm/models/crm_lead.py @@ -0,0 +1,20 @@ +# Copyright (C) 2019, Patrick Wilson +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class Lead(models.Model): + _inherit = "crm.lead" + + fsm_order_ids = fields.One2many( + "fsm.order", "opportunity_id", string="Service Orders" + ) + fsm_location_id = fields.Many2one("fsm.location", string="FSM Location") + fsm_order_count = fields.Integer( + compute="_compute_fsm_order_count", string="# FSM Orders" + ) + + def _compute_fsm_order_count(self): + for rec in self: + rec.fsm_order_count = len(rec.fsm_order_ids) diff --git a/fieldservice_crm/models/fsm_location.py b/fieldservice_crm/models/fsm_location.py new file mode 100644 index 0000000000..f0a34e10b3 --- /dev/null +++ b/fieldservice_crm/models/fsm_location.py @@ -0,0 +1,18 @@ +# Copyright (C) 2019, Patrick Wilson +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class FSMLocation(models.Model): + _inherit = "fsm.location" + + opportunity_count = fields.Integer( + compute="_compute_opportunity_count", string="# Opportunities" + ) + + def _compute_opportunity_count(self): + for fsm_location in self: + fsm_location.opportunity_count = self.env["crm.lead"].search_count( + [("fsm_location_id", "=", fsm_location.id)] + ) diff --git a/fieldservice_crm/models/fsm_order.py b/fieldservice_crm/models/fsm_order.py new file mode 100644 index 0000000000..98c060ec50 --- /dev/null +++ b/fieldservice_crm/models/fsm_order.py @@ -0,0 +1,10 @@ +# Copyright (C) 2019, Patrick Wilson +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class FSMOrder(models.Model): + _inherit = "fsm.order" + + opportunity_id = fields.Many2one("crm.lead", tracking=True) diff --git a/fieldservice_crm/pyproject.toml b/fieldservice_crm/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/fieldservice_crm/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/fieldservice_crm/readme/CONFIGURE.md b/fieldservice_crm/readme/CONFIGURE.md new file mode 100644 index 0000000000..bbf7110614 --- /dev/null +++ b/fieldservice_crm/readme/CONFIGURE.md @@ -0,0 +1 @@ +No configuration is needed. diff --git a/fieldservice_crm/readme/CONTRIBUTORS.md b/fieldservice_crm/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..579f60ad11 --- /dev/null +++ b/fieldservice_crm/readme/CONTRIBUTORS.md @@ -0,0 +1,4 @@ +- Patrick Wilson \<\> +- Freni Patel \<\> +- [APSL](https://apsl.tech): + - Antoni Marroig \<\> diff --git a/fieldservice_crm/readme/CREDITS.md b/fieldservice_crm/readme/CREDITS.md new file mode 100644 index 0000000000..8d8a82e566 --- /dev/null +++ b/fieldservice_crm/readme/CREDITS.md @@ -0,0 +1,3 @@ +The development of this module has been financially supported by: + +- Pavlov Media \<\> diff --git a/fieldservice_crm/readme/DESCRIPTION.md b/fieldservice_crm/readme/DESCRIPTION.md new file mode 100644 index 0000000000..9bfa7f3bbd --- /dev/null +++ b/fieldservice_crm/readme/DESCRIPTION.md @@ -0,0 +1,3 @@ +The module integrates the field service application with CRM +opportunities. This can be useful in scenarios where onsite personnel +are needed for evaluation or surveying before quoting. diff --git a/fieldservice_crm/readme/INSTALL.md b/fieldservice_crm/readme/INSTALL.md new file mode 100644 index 0000000000..263ff64d3a --- /dev/null +++ b/fieldservice_crm/readme/INSTALL.md @@ -0,0 +1,5 @@ +To install Field Service and have the mapping features, you need to +install GeoEngine. + +Please refer to the installation instructions available at: + diff --git a/fieldservice_crm/readme/ROADMAP.md b/fieldservice_crm/readme/ROADMAP.md new file mode 100644 index 0000000000..e14dbdee6f --- /dev/null +++ b/fieldservice_crm/readme/ROADMAP.md @@ -0,0 +1,2 @@ +The roadmap of the Field Service application is documented on +[Github](https://github.com/OCA/field-service/issues/1). diff --git a/fieldservice_crm/readme/USAGE.md b/fieldservice_crm/readme/USAGE.md new file mode 100644 index 0000000000..ce337dd0c5 --- /dev/null +++ b/fieldservice_crm/readme/USAGE.md @@ -0,0 +1,5 @@ +- User must have Field Service User permissions +- Go to CRM app +- Create a new Opportunity +- Click the FS Orders Smart Button +- Create a Field Service Order diff --git a/fieldservice_crm/security/ir.model.access.csv b/fieldservice_crm/security/ir.model.access.csv new file mode 100644 index 0000000000..fa88ed2f41 --- /dev/null +++ b/fieldservice_crm/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_order_change_internal,fsm.order.internal.user,model_fsm_order,base.group_user,1,0,0,0 +access_crm_lead_fsm_user,crm.lead.fsm.user,model_crm_lead,fieldservice.group_fsm_user,1,0,0,0 diff --git a/fieldservice_crm/static/description/icon.png b/fieldservice_crm/static/description/icon.png new file mode 100644 index 0000000000..955674d8f0 Binary files /dev/null and b/fieldservice_crm/static/description/icon.png differ diff --git a/fieldservice_crm/static/description/index.html b/fieldservice_crm/static/description/index.html new file mode 100644 index 0000000000..2cba0068e0 --- /dev/null +++ b/fieldservice_crm/static/description/index.html @@ -0,0 +1,468 @@ + + + + + + +Field Service - CRM + + + +
+

Field Service - CRM

+ + +

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

+

The module integrates the field service application with CRM +opportunities. This can be useful in scenarios where onsite personnel +are needed for evaluation or surveying before quoting.

+

Table of contents

+ +
+

Installation

+

To install Field Service and have the mapping features, you need to +install GeoEngine.

+

Please refer to the installation instructions available at: +https://github.com/OCA/geospatial/tree/13.0/base_geoengine

+
+
+

Configuration

+

No configuration is needed.

+
+
+

Usage

+
    +
  • User must have Field Service User permissions
  • +
  • Go to CRM app
  • +
  • Create a new Opportunity
  • +
  • Click the FS Orders Smart Button
  • +
  • Create a Field Service Order
  • +
+
+
+

Known issues / Roadmap

+

The roadmap of the Field Service application is documented on +Github.

+
+
+

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

+
    +
  • Patrick Wilson
  • +
+
+
+

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 maintainer:

+

patrickrwilson

+

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_crm/tests/__init__.py b/fieldservice_crm/tests/__init__.py new file mode 100644 index 0000000000..8d259282cb --- /dev/null +++ b/fieldservice_crm/tests/__init__.py @@ -0,0 +1 @@ +from . import test_fsm_crm diff --git a/fieldservice_crm/tests/test_fsm_crm.py b/fieldservice_crm/tests/test_fsm_crm.py new file mode 100644 index 0000000000..9d76869fc2 --- /dev/null +++ b/fieldservice_crm/tests/test_fsm_crm.py @@ -0,0 +1,30 @@ +from odoo.tests import common + + +class TestFieldserviceCrm(common.TransactionCase): + def test_fieldservicecrm(self): + location_1 = self.env["fsm.location"].create( + { + "name": "Summer's House", + "owner_id": self.env["res.partner"] + .create({"name": "Summer's Parents"}) + .id, + } + ) + crm_1 = self.env["crm.lead"].create( + { + "name": "Test CRM", + "fsm_location_id": location_1.id, + } + ) + self.env["fsm.order"].create( + { + "location_id": location_1.id, + "opportunity_id": crm_1.id, + } + ) + crm_1._compute_fsm_order_count() + self.assertEqual(crm_1.fsm_order_count, 1) + + location_1._compute_opportunity_count() + self.assertEqual(location_1.opportunity_count, 1) diff --git a/fieldservice_crm/views/crm_lead.xml b/fieldservice_crm/views/crm_lead.xml new file mode 100644 index 0000000000..96244a9d45 --- /dev/null +++ b/fieldservice_crm/views/crm_lead.xml @@ -0,0 +1,62 @@ + + + + fieldservice.crm.form + crm.lead + + + + + + + + + + + + + + + + fieldservice.crm.list + crm.lead + + + + + + + + + crm.fieldservice.search + crm.lead + + + + + + + + diff --git a/fieldservice_crm/views/fsm_location.xml b/fieldservice_crm/views/fsm_location.xml new file mode 100644 index 0000000000..1096db77b6 --- /dev/null +++ b/fieldservice_crm/views/fsm_location.xml @@ -0,0 +1,28 @@ + + + + fsm.location.crm.form + fsm.location + + +
+ +
+
+
+
diff --git a/fieldservice_crm/views/fsm_order.xml b/fieldservice_crm/views/fsm_order.xml new file mode 100644 index 0000000000..e91d14ff1d --- /dev/null +++ b/fieldservice_crm/views/fsm_order.xml @@ -0,0 +1,34 @@ + + + + fsm.order.crm.list + fsm.order + + + + + + + + + fsm.order.crm.form + fsm.order + + + + + + + + + fsm.order.crm.search + fsm.order + + + + + + + +