diff --git a/base_geoengine/models/geo_raster_layer.py b/base_geoengine/models/geo_raster_layer.py index c7d98662e..80b99a071 100644 --- a/base_geoengine/models/geo_raster_layer.py +++ b/base_geoengine/models/geo_raster_layer.py @@ -49,7 +49,9 @@ class GeoRasterLayer(models.Model): params = fields.Char(help="Dictiorary of values for dimensions as JSON") # wms options - params_wms = fields.Char(help="Need to provide at least a LAYERS param") + 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", diff --git a/base_geoengine/models/geo_vector_layer.py b/base_geoengine/models/geo_vector_layer.py index f7c90460c..e30c77842 100644 --- a/base_geoengine/models/geo_vector_layer.py +++ b/base_geoengine/models/geo_vector_layer.py @@ -61,9 +61,12 @@ class GeoVectorLayer(models.Model): ondelete="cascade", domain=[("ttype", "ilike", "geo_")], ) - attribute_field_id = fields.Many2one( - "ir.model.fields", "Attribute field", domain=[("ttype", "in", SUPPORTED_ATT)] + + attribute_field_id_domain = fields.Binary( + compute="_compute_attribute_field_id_domain", readonly=True, store=False ) + attribute_field_id = fields.Many2one("ir.model.fields", "Attribute field") + model_id = fields.Many2one( "ir.model", "Model to use", @@ -155,3 +158,15 @@ def _compute_model_id(self): rec.model_id = "" else: rec.model_id = "" + + @api.depends("geo_field_id") + def _compute_attribute_field_id_domain(self): + for rec in self: + rec.attribute_field_id_domain = ( + [ + ("ttype", "in", SUPPORTED_ATT), + ("model", "=", rec.geo_field_id.model_id.model), + ] + if rec.geo_field_id + else [("ttype", "in", SUPPORTED_ATT)] + ) diff --git a/base_geoengine/views/geo_vector_layer_view.xml b/base_geoengine/views/geo_vector_layer_view.xml index 2c4939a2f..a7b052606 100644 --- a/base_geoengine/views/geo_vector_layer_view.xml +++ b/base_geoengine/views/geo_vector_layer_view.xml @@ -11,9 +11,11 @@ + @@ -82,9 +84,11 @@ +