from deform.widget import FormWidget

from c2cgeoportal_admin.schemas.treegroup import children_schema_node
from c2cgeoportal_admin.schemas.metadata import metadatas_schema_node
from c2cgeoportal_admin.schemas.treeitem import parent_id_node
from c2cgeoportal_admin.views.treeitems import TreeItemViews
from c2cgeoportal_commons.models.main import LayerGroup, TreeGroup

_list_field = partial(ListField, LayerGroup)

base_schema = GeoFormSchemaNode(
    LayerGroup, widget=FormWidget(fields_template='layer_group_fields'))
base_schema.add(children_schema_node())
base_schema.add(metadatas_schema_node.clone())
base_schema.add_unique_validator(LayerGroup.name, LayerGroup.id)
base_schema.add(parent_id_node(TreeGroup))


@view_defaults(match_param='table=layer_groups')
class LayerGroupsViews(TreeItemViews):

    _list_fields = TreeItemViews._list_fields + [
        _list_field('is_expanded'),
        _list_field('is_internal_wms'),
        _list_field('is_base_layer')] + \
        TreeItemViews._extra_list_fields

    _id_field = 'id'
    _model = LayerGroup
    _base_schema = base_schema
Esempio n. 2
0
from c2cgeoportal_admin.schemas.metadata import metadata_schema_node
from c2cgeoportal_admin.schemas.restriction_areas import restrictionareas_schema_node
from c2cgeoportal_admin.schemas.treeitem import parent_id_node
from c2cgeoportal_admin.views.dimension_layers import DimensionLayerViews
from c2cgeoportal_commons.models.main import LayerGroup, LayerWMS, LayerWMTS, OGCServer, TreeItem

_list_field = partial(ListField, LayerWMTS)

base_schema = GeoFormSchemaNode(
    LayerWMTS, widget=FormWidget(fields_template="layer_fields"))
base_schema.add(dimensions_schema_node(LayerWMTS.dimensions))
base_schema.add(metadata_schema_node(LayerWMTS.metadatas, LayerWMTS))
base_schema.add(interfaces_schema_node(LayerWMTS.interfaces))
base_schema.add(restrictionareas_schema_node(LayerWMTS.restrictionareas))
base_schema.add_unique_validator(LayerWMTS.name, LayerWMTS.id)
base_schema.add(parent_id_node(LayerGroup))  # type: ignore


@view_defaults(match_param="table=layers_wmts")
class LayerWmtsViews(DimensionLayerViews):
    """The WMTS layer administration view."""

    _list_fields = (DimensionLayerViews._list_fields + [
        _list_field("url"),
        _list_field("layer"),
        _list_field("style"),
        _list_field("matrix_set"),
        _list_field("image_type"),
    ] + DimensionLayerViews._extra_list_fields)
    _id_field = "id"
    _model = LayerWMTS
Esempio n. 3
0
from c2cgeoportal_admin.schemas.interfaces import interfaces_schema_node
from c2cgeoportal_admin.schemas.metadata import metadatas_schema_node
from c2cgeoportal_admin.schemas.restriction_areas import restrictionareas_schema_node
from c2cgeoportal_admin.schemas.treeitem import parent_id_node
from c2cgeoportal_admin.views.dimension_layers import DimensionLayerViews
from c2cgeoportal_commons.models.main import LayerGroup, LayerVectorTiles

_list_field = partial(ListField, LayerVectorTiles)

base_schema = GeoFormSchemaNode(
    LayerVectorTiles, widget=FormWidget(fields_template="layer_fields"))
base_schema.add(metadatas_schema_node.clone())
base_schema.add(interfaces_schema_node.clone())
base_schema.add(restrictionareas_schema_node.clone())
base_schema.add_unique_validator(LayerVectorTiles.name, LayerVectorTiles.id)
base_schema.add(parent_id_node(LayerGroup))


@view_defaults(match_param="table=layers_vectortiles")
class LayerVectorTilesViews(DimensionLayerViews):
    _list_fields = (
        DimensionLayerViews._list_fields +
        [_list_field("style"), _list_field("xyz")] +
        DimensionLayerViews._extra_list_fields)
    _id_field = "id"
    _model = LayerVectorTiles
    _base_schema = base_schema

    def _base_query(self, query=None):
        del query
        return super()._base_query(
Esempio n. 4
0
from pyramid.view import view_config, view_defaults

from c2cgeoportal_admin.schemas.metadata import metadata_schema_node
from c2cgeoportal_admin.schemas.treegroup import children_schema_node
from c2cgeoportal_admin.schemas.treeitem import parent_id_node
from c2cgeoportal_admin.views.treeitems import TreeItemViews
from c2cgeoportal_commons.models.main import LayerGroup, TreeGroup

_list_field = partial(ListField, LayerGroup)

base_schema = GeoFormSchemaNode(
    LayerGroup, widget=FormWidget(fields_template="layer_group_fields"))
base_schema.add(children_schema_node())
base_schema.add(metadata_schema_node(LayerGroup.metadatas, LayerGroup))
base_schema.add_unique_validator(LayerGroup.name, LayerGroup.id)
base_schema.add(parent_id_node(TreeGroup))  # type: ignore


@view_defaults(match_param="table=layer_groups")
class LayerGroupsViews(TreeItemViews):
    """The layer group administration view."""

    _list_fields = TreeItemViews._list_fields + TreeItemViews._extra_list_fields

    _id_field = "id"
    _model = LayerGroup
    _base_schema = base_schema

    def _base_query(
        self,
        query: Optional[sqlalchemy.orm.query.Query] = None