diff options
| author | Richard Sassine <richardsassine@tutanota.com> | 2021-05-31 19:22:23 +0300 |
|---|---|---|
| committer | Richard Sassine <richardsassine@tutanota.com> | 2021-05-31 19:22:23 +0300 |
| commit | 3a8776ee0342f47a57bcc9365499ebd5d3d7ee1c (patch) | |
| tree | 9515fcef8e53992a9bbbcdc7950e1dd596983166 /base_geoengine/geo_view/geo_vector_layer.py | |
| parent | 9d3eeeb5c7d4055b34bc0768387952850ed78668 (diff) | |
added geoengine
Diffstat (limited to 'base_geoengine/geo_view/geo_vector_layer.py')
| -rw-r--r-- | base_geoengine/geo_view/geo_vector_layer.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/base_geoengine/geo_view/geo_vector_layer.py b/base_geoengine/geo_view/geo_vector_layer.py new file mode 100644 index 0000000..0c23638 --- /dev/null +++ b/base_geoengine/geo_view/geo_vector_layer.py @@ -0,0 +1,73 @@ +# Copyright 2011-2012 Nicolas Bessi (Camptocamp SA) +# Copyright 2016 Yannick Vaucher (Camptocamp SA) +# Copyright 2021 Shurshilov Artem +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import fields, models + +SUPPORTED_ATT = [ + "float", + "integer", + "integer_big", + "related", + "function", + "date", + "datetime", + "char", + "text", + "selection", +] + + +class GeoVectorLayer(models.Model): + _name = "geoengine.vector.layer" + _description = "Vector Layer" + + geo_repr = fields.Selection( + [ + ("basic", "Basic"), + # Actually we have to think if we should separate it for colored + ("proportion", "Proportional Symbol"), + ("colored", "Colored range/Chroma.js"), + ], + string="Representation mode", + required=True, + ) + classification = fields.Selection( + [ + ("unique", "Unique value"), + ("interval", "Interval"), + ("quantile", "Quantile"), + ("custom", "Custom"), + ], + string="Classification mode", + required=False, + ) + name = fields.Char("Layer Name", translate=True, required=True) + symbol_ids = fields.One2many("geoengine.vector.symbol", "vector_layer_id") + begin_color = fields.Char( + "Begin color class", size=64, required=False, help="hex value" + ) + end_color = fields.Char( + "End color class", size=64, required=False, help="hex value", default="#FF680A" + ) + nb_class = fields.Integer("Number of class", default=1) + attribute_field_id = fields.Many2one( + "ir.model.fields", "attribute field", domain=[("ttype", "in", SUPPORTED_ATT)] + ) + geo_field_id = fields.Many2one( + "ir.model.fields", + "Geo field", + domain=[("ttype", "ilike", "geo_")], + required=True, + ondelete='cascade' + ) + view_id = fields.Many2one( + "ir.ui.view", "Related View", domain=[("type", "=", "geoengine")], required=True + ) + sequence = fields.Integer("layer priority lower on top", default=6) + readonly = fields.Boolean("Layer is read only") + display_polygon_labels = fields.Boolean("Display Labels on Polygon") + active_on_startup = fields.Boolean( + help="Layer will be shown on startup if checked." + ) + layer_opacity = fields.Float("Layer Opacity") |
