from pyramid.view import view_config, view_defaults 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):
from deform.widget import FormWidget from pyramid.view import view_config, view_defaults from sqlalchemy.orm import subqueryload from c2cgeoportal_admin.schemas.functionalities import functionalities_schema_node from c2cgeoportal_admin.schemas.map import map_widget from c2cgeoportal_admin.schemas.restriction_areas import restrictionareas_schema_node from c2cgeoportal_commons.models.main import Role _list_field = partial(ListField, Role) base_schema = GeoFormSchemaNode( Role, widget=FormWidget(fields_template="role_fields")) base_schema["extent"].widget = map_widget base_schema.add_before("extent", functionalities_schema_node.clone()) base_schema.add_before("extent", restrictionareas_schema_node.clone()) base_schema.add_unique_validator(Role.name, Role.id) @view_defaults(match_param="table=roles") class RoleViews(AbstractViews): _list_fields = [ _list_field("id"), _list_field("name"), _list_field("description"), _list_field( "functionalities", renderer=lambda role: ", ".join([ "{}={}".format(f.name, f.value) for f in role.functionalities ]), ),