Initial commit: OCA Technical packages (595 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:03 +02:00
commit 2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions

View file

@ -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"