mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-20 09:32:05 +02:00
Initial commit: OCA Technical packages (595 packages)
This commit is contained in:
commit
2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions
|
|
@ -0,0 +1,89 @@
|
|||
# Copyright 2011-2012 Nicolas Bessi (Camptocamp SA)
|
||||
# Copyright 2016 Yannick Payot (Camptocamp SA)
|
||||
# Copyright 2023 ACSONE SA/NV
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class GeoRasterLayerType(models.Model):
|
||||
_name = "geoengine.raster.layer.type"
|
||||
_description = "Raster Layer Type"
|
||||
|
||||
name = fields.Char(translate=True, required=True)
|
||||
code = fields.Char(required=True)
|
||||
service = fields.Char(required=True)
|
||||
|
||||
|
||||
class GeoRasterLayer(models.Model):
|
||||
_name = "geoengine.raster.layer"
|
||||
_description = "Raster Layer"
|
||||
|
||||
raster_type = fields.Selection(
|
||||
[
|
||||
("osm", "OpenStreetMap"),
|
||||
("wmts", "WMTS"),
|
||||
("d_wms", "Distant WMS"),
|
||||
("odoo", "Odoo field"),
|
||||
],
|
||||
string="Raster layer type",
|
||||
default="osm",
|
||||
required=True,
|
||||
)
|
||||
name = fields.Char("Layer Name", translate=True, required=True)
|
||||
url = fields.Char("Service URL")
|
||||
|
||||
# technical field to display or not wmts options
|
||||
is_wmts = fields.Boolean(compute="_compute_is_wmts")
|
||||
# technical field to display or not wms options
|
||||
is_wms = fields.Boolean(compute="_compute_is_wms")
|
||||
# wmts options
|
||||
matrix_set = fields.Char("Matrix set")
|
||||
format_suffix = fields.Char("Format", help="eg. png")
|
||||
request_encoding = fields.Char("Request encoding", help="eg. REST")
|
||||
projection = fields.Char(help="eg. EPSG:21781")
|
||||
units = fields.Char(help="eg. m") # Not used
|
||||
resolutions = fields.Char()
|
||||
max_extent = fields.Char("Max extent")
|
||||
dimensions = fields.Char(help="List of dimensions separated by ','")
|
||||
params = fields.Char(help="Dictiorary of values for dimensions as JSON")
|
||||
|
||||
# wms options
|
||||
params_wms = fields.Char(
|
||||
"Params WMS", help="Need to provide at least a LAYERS param"
|
||||
)
|
||||
server_type = fields.Char(
|
||||
help="The type of the remote WMS server: mapserver, geoserver, carmentaserver, or qgis",
|
||||
)
|
||||
|
||||
# technical field to display or not layer type -- Not used
|
||||
has_type = fields.Boolean(compute="_compute_has_type")
|
||||
type_id = fields.Many2one(
|
||||
"geoengine.raster.layer.type", "Layer", domain="[('service', '=', raster_type)]"
|
||||
)
|
||||
type = fields.Char(related="type_id.code")
|
||||
sequence = fields.Integer("Layer priority", default=6)
|
||||
overlay = fields.Boolean("Is overlay layer?")
|
||||
field_id = fields.Many2one(
|
||||
"ir.model.fields",
|
||||
"Odoo layer field to use",
|
||||
domain=[("ttype", "ilike", "geo_"), ("model", "=", "view_id.model")],
|
||||
)
|
||||
view_id = fields.Many2one(
|
||||
"ir.ui.view", "Related View", domain=[("type", "=", "geoengine")], required=True
|
||||
)
|
||||
use_to_edit = fields.Boolean("Use to edit")
|
||||
|
||||
@api.depends("raster_type", "is_wmts")
|
||||
def _compute_has_type(self):
|
||||
for rec in self:
|
||||
rec.has_type = rec.raster_type == "is_wmts"
|
||||
|
||||
@api.depends("raster_type")
|
||||
def _compute_is_wmts(self):
|
||||
for rec in self:
|
||||
rec.is_wmts = rec.raster_type == "wmts"
|
||||
|
||||
@api.depends("raster_type")
|
||||
def _compute_is_wms(self):
|
||||
for rec in self:
|
||||
rec.is_wms = rec.raster_type == "d_wms"
|
||||
Loading…
Add table
Add a link
Reference in a new issue