diff --git a/README.rst b/README.rst index bb6f7bcd1e38b47f63d4570a062eff30cad9b36c..d116631093c5b4ff081c5220486744473301c5a3 100644 --- a/README.rst +++ b/README.rst @@ -4,12 +4,12 @@ ================================= -NOM CLIENT - Titre fonctionnalité +Alterincub - geo ================================= Description =========== - +Geolocalise partners from alterincub modules Exemple ======= @@ -22,7 +22,7 @@ Credits Contributors ------------ -* Prenom Nom <mail@le-filament.com> +* Thibaud Bruge <Thibaud@le-filament.com> Maintainer diff --git a/__init__.py b/__init__.py index f838ed83992c35c7ed801240fa4d4f2b9faa021e..bd6f3ee0fba8cbc06b5dee57d49212b751451dba 100644 --- a/__init__.py +++ b/__init__.py @@ -1,4 +1,15 @@ -# Copyright 2021 Le Filament (https://le-filament.com) +# Copyright 2023 Le Filament (https://le-filament.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) -from . import FolderName +from odoo import SUPERUSER_ID, api + +from . import models + + +def set_lat_long(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, {}) + partners = env["res.partner"].search( + ["|", ("city", "!=", False), ("street", "!=", False)] + ) + for p in partners: + p.geo_localize() diff --git a/__manifest__.py b/__manifest__.py index cfa625adb439d89311807792e7b63f42fa0831d0..3f54d869a05e8040adab64e75e03987b70a7a536 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -1,14 +1,14 @@ { - "name": "NOM DU CLIENT - Titre du module", - "summary": "Description du module", + "name": "Alterincub - geo", + "summary": "Geolocalise partners from alterincub modules", "author": "Le Filament", "website": "https://le-filament.com", "version": "14.0.1.0.1", "license": "AGPL-3", - "depends": [], + "depends": ["alterincub_partner", "alterincub_endpoint", "queue_job"], "data": [ - "security/ir.model.access.csv", # datas + "datas/res_config_setting_geolocalize_service.xml" # views # views menu # wizard @@ -18,4 +18,5 @@ ], "installable": True, "auto_install": False, + "post_init_hook": "set_lat_long", } diff --git a/datas/res_config_setting_geolocalize_service.xml b/datas/res_config_setting_geolocalize_service.xml new file mode 100644 index 0000000000000000000000000000000000000000..21b09eff877dba4d97d7b7deca5985db14f9a4cf --- /dev/null +++ b/datas/res_config_setting_geolocalize_service.xml @@ -0,0 +1,5 @@ +<odoo> + <record id="alterincub_geoloc_provider" model="res.config.settings"> + <field name="module_base_geolocalize">adressedatagouv</field> + </record> +</odoo> diff --git a/models/__init__.py b/models/__init__.py index 98f31b77bebf9a8cf1b062c1d1851ebbb0ce7a5e..bf253ceb7b877e12b10853b488564ddb0a3bd18e 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2021 Le Filament (https://le-filament.com) +# Copyright 2023 Le Filament (https://le-filament.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) -from . import ModelName +from . import res_partner diff --git a/models/res_partner.py b/models/res_partner.py new file mode 100644 index 0000000000000000000000000000000000000000..edaea2f1f1bf099c9ac90f9512ddb3f475fc821b --- /dev/null +++ b/models/res_partner.py @@ -0,0 +1,24 @@ +# Copyright 2022 Le Filament (https://le-filament.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import api, models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + # ------------------------------------------------------ + # CRUD methods (ORM overrides) + # ------------------------------------------------------ + @api.model + def create(self, vals): + partner = super().create(vals) + partner.with_delay().geo_localize() + return partner + + def write(self, vals): + fields_to_watch = ["street", "street2", "street3", "zip", "country_id", "city"] + if any(x in vals for x in fields_to_watch): + self.with_delay().geo_localize() + + return super().write(vals) diff --git a/models/template_model.py b/models/template_model.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv deleted file mode 100644 index 301b7dab167cbcb978ea78e7da9e7f032c40b90e..0000000000000000000000000000000000000000 --- a/security/ir.model.access.csv +++ /dev/null @@ -1 +0,0 @@ -id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink