From 3a8776ee0342f47a57bcc9365499ebd5d3d7ee1c Mon Sep 17 00:00:00 2001 From: Richard Sassine Date: Mon, 31 May 2021 19:22:23 +0300 Subject: added geoengine --- base_geoengine/geo_ir/__init__.py | 1 + .../geo_ir/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 194 bytes .../geo_ir/__pycache__/ir_model.cpython-36.pyc | Bin 0 -> 1342 bytes base_geoengine/geo_ir/ir_model.py | 46 +++++++++++++++++++++ base_geoengine/geo_ir/ir_model_view.xml | 26 ++++++++++++ 5 files changed, 73 insertions(+) create mode 100644 base_geoengine/geo_ir/__init__.py create mode 100644 base_geoengine/geo_ir/__pycache__/__init__.cpython-36.pyc create mode 100644 base_geoengine/geo_ir/__pycache__/ir_model.cpython-36.pyc create mode 100644 base_geoengine/geo_ir/ir_model.py create mode 100644 base_geoengine/geo_ir/ir_model_view.xml (limited to 'base_geoengine/geo_ir') diff --git a/base_geoengine/geo_ir/__init__.py b/base_geoengine/geo_ir/__init__.py new file mode 100644 index 0000000..413bb23 --- /dev/null +++ b/base_geoengine/geo_ir/__init__.py @@ -0,0 +1 @@ +from . import ir_model diff --git a/base_geoengine/geo_ir/__pycache__/__init__.cpython-36.pyc b/base_geoengine/geo_ir/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..d292dd7 Binary files /dev/null and b/base_geoengine/geo_ir/__pycache__/__init__.cpython-36.pyc differ diff --git a/base_geoengine/geo_ir/__pycache__/ir_model.cpython-36.pyc b/base_geoengine/geo_ir/__pycache__/ir_model.cpython-36.pyc new file mode 100644 index 0000000..0772bb6 Binary files /dev/null and b/base_geoengine/geo_ir/__pycache__/ir_model.cpython-36.pyc differ diff --git a/base_geoengine/geo_ir/ir_model.py b/base_geoengine/geo_ir/ir_model.py new file mode 100644 index 0000000..a56eb4a --- /dev/null +++ b/base_geoengine/geo_ir/ir_model.py @@ -0,0 +1,46 @@ +# Copyright 2011-2012 Nicolas Bessi (Camptocamp SA) +# Copyright 2021 Shurshilov Artem +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + +from odoo.addons import base + +if "geoengine" not in base.models.ir_actions.VIEW_TYPES: + base.models.ir_actions.VIEW_TYPES.append(("geoengine", "Geoengine")) + +GEO_TYPES = [ + ("geo_polygon", "geo_polygon"), + ("geo_multi_polygon", "geo_multi_polygon"), + ("geo_point", "geo_point"), + ("geo_multi_point", "geo_multi_point"), + ("geo_line", "geo_line"), + ("geo_multi_line", "geo_multi_line"), +] + +POSTGIS_GEO_TYPES = [ + ("POINT", "POINT"), + ("MULTIPOINT", "MULTIPOINT"), + ("LINESTRING", "LINESTRING"), + ("MULTILINESTRING", "MULTILINESTRING"), + ("POLYGON", "POLYGON"), + ("MULTIPOLYGON", "MULTIPOLYGON"), +] + + +class IrModelField(models.Model): + _inherit = "ir.model.fields" + + srid = fields.Integer("srid", required=False) + geo_type = fields.Selection(POSTGIS_GEO_TYPES, string="PostGIs type") + dim = fields.Selection( + [("2", "2"), ("3", "3"), ("4", "4")], string="PostGIs Dimension", default='2' + ) + gist_index = fields.Boolean("Create gist index") + ttype = fields.Selection(selection_add=GEO_TYPES, ondelete={ + 'geo_polygon': 'cascade', + 'geo_multi_polygon': 'cascade', + 'geo_point': 'cascade', + 'geo_multi_point': 'cascade', + 'geo_line': 'cascade', + 'geo_multi_line': 'cascade', + }) diff --git a/base_geoengine/geo_ir/ir_model_view.xml b/base_geoengine/geo_ir/ir_model_view.xml new file mode 100644 index 0000000..ed0fbea --- /dev/null +++ b/base_geoengine/geo_ir/ir_model_view.xml @@ -0,0 +1,26 @@ + + + + + + ir.model.fields.form.geo + ir.model.fields + + + + + + + + + + + + + + + -- cgit v1.2.3