"icon_class": "icon-{}".format(layer.item_type), "edit_url": treeitem_edit_url(kw["request"], layer), "group": "All", } for layer in query] base_schema.add( colander.SequenceSchema( GeoFormManyToManySchemaNode( Layer, name="layer", includes=["id"], widget=ChildWidget( input_name="id", model=Layer, label_field="name", icon_class=lambda layer: "icon-{}".format(layer.item_type), edit_url=treeitem_edit_url, ), ), name="layers", title=_("Layers"), candidates=colander.deferred(layers), widget=ChildrenWidget(child_input_name="id", orderable=False), )) @view_defaults(match_param="table=restriction_areas") class RestrictionAreaViews(AbstractViews): _list_fields = [ _list_field("id"),
from c2cgeoform.schema import GeoFormSchemaNode from c2cgeoform.views.abstract_views import ListField 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'
for user in query ] base_schema.add( colander.SequenceSchema( GeoFormManyToManySchemaNode( User, name="layer", includes=["id"], widget=ChildWidget( input_name="id", model=User, label_field="username", icon_class=lambda user: "******", edit_url=lambda request, user: request.route_url( "c2cgeoform_item", table="users", id=user.id, ), ), ), name="users", title=_("Users"), candidates=colander.deferred(users), widget=ChildrenWidget(child_input_name="id", orderable=False, category="structural"), ) ) @view_defaults(match_param="table=roles") class RoleViews(AbstractViews):
from c2cgeoform.views.abstract_views import ListField from deform.widget import FormWidget 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
from functools import partial from pyramid.view import view_defaults from pyramid.view import view_config from c2cgeoform.schema import GeoFormSchemaNode from c2cgeoform.views.abstract_views import ListField from c2cgeoportal_commons.models.main import LayerGroup from c2cgeoportal_admin.schemas.treegroup import children_schema_node from c2cgeoportal_admin.schemas.metadata import metadatas_schema_node from c2cgeoportal_admin.views.treeitems import TreeItemViews _list_field = partial(ListField, LayerGroup) base_schema = GeoFormSchemaNode(LayerGroup) base_schema.add(children_schema_node()) base_schema.add(metadatas_schema_node.clone()) @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
from deform.widget import FormWidget from passwordgenerator import pwgenerator from pyramid.httpexceptions import HTTPFound from pyramid.view import view_config, view_defaults from sqlalchemy.orm import aliased, subqueryload from c2cgeoportal_admin.schemas.roles import roles_schema_node from c2cgeoportal_commons.lib.email_ import send_email_config from c2cgeoportal_commons.models.main import Role from c2cgeoportal_commons.models.static import User _list_field = partial(ListField, User) base_schema = GeoFormSchemaNode( User, widget=FormWidget(fields_template="user_fields")) base_schema.add(roles_schema_node("roles")) base_schema.add_unique_validator(User.username, User.id) settings_role = aliased(Role) @view_defaults(match_param="table=users") class UserViews(AbstractViews): _list_fields = [ _list_field("id"), _list_field("username"), _list_field("email"), _list_field("last_login"), _list_field("expire_on"), _list_field("deactivated"), _list_field(
from zope.sqlalchemy import mark_changed from c2cgeoportal_admin import _ from c2cgeoportal_admin.schemas.dimensions import dimensions_schema_node from c2cgeoportal_admin.schemas.interfaces import interfaces_schema_node 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"),
"edit_url": treeitem_edit_url(kw["request"], layer), "group": "All", } for layer in query] base_schema.add( colander.SequenceSchema( GeoFormManyToManySchemaNode( Layer, name="layer", includes=["id"], widget=ChildWidget( input_name="id", model=Layer, label_field="name", icon_class=lambda layer: f"icon-{layer.item_type}", edit_url=treeitem_edit_url, ), ), name="layers", title=RestrictionArea.layers.info["colanderalchemy"]["title"], description=RestrictionArea.layers.info["colanderalchemy"] ["description"], candidates=colander.deferred(layers), widget=ChildrenWidget(child_input_name="id", orderable=False), )) @view_defaults(match_param="table=restriction_areas") class RestrictionAreaViews(AbstractViews): # type: ignore """The restriction area administration view."""
from c2cgeoform.schema import GeoFormSchemaNode from c2cgeoform.views.abstract_views import ListField from deform.widget import FormWidget 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
GeoFormSchemaNode, GeoFormManyToManySchemaNode, manytomany_validator, ) from c2cgeoform.views.abstract_views import ListField from c2cgeoportal_commons.models.main import Theme, Interface, Role, Functionality from c2cgeoportal_admin.schemas.treegroup import children_schema_node from c2cgeoportal_admin.schemas.metadata import metadatas_schema_node from c2cgeoportal_admin.views.treeitems import TreeItemViews _list_field = partial(ListField, Theme) base_schema = GeoFormSchemaNode(Theme) base_schema.add(children_schema_node(only_groups=True)) base_schema.add( colander.SequenceSchema( GeoFormManyToManySchemaNode(Functionality), name='functionalities', widget=RelationCheckBoxListWidget( select([ Functionality.id, concat(Functionality.name, '=', Functionality.value).label('label') ]).alias('functionnality_labels'), 'id', 'label', order_by='label' ), validator=manytomany_validator
from c2cgeoform.views.abstract_views import AbstractViews, ListField from deform.widget import FormWidget from passwordgenerator import pwgenerator from pyramid.httpexceptions import HTTPFound from pyramid.view import view_config, view_defaults from sqlalchemy.orm import aliased, subqueryload from c2cgeoportal_admin.schemas.roles import roles_schema_node from c2cgeoportal_commons.lib.email_ import send_email_config from c2cgeoportal_commons.models.main import Role from c2cgeoportal_commons.models.static import User _list_field = partial(ListField, User) base_schema = GeoFormSchemaNode(User, widget=FormWidget(fields_template="user_fields")) base_schema.add(roles_schema_node(User.roles)) base_schema.add_unique_validator(User.username, User.id) settings_role = aliased(Role) @view_defaults(match_param="table=users") class UserViews(AbstractViews): # type: ignore """The admin user view.""" _list_fields = [ _list_field("id"), _list_field("username"), _list_field("email"), _list_field("last_login"), _list_field("expire_on"),
from sqlalchemy.orm import subqueryload from sqlalchemy.sql.functions import concat from c2cgeoportal_admin.schemas.functionalities import functionalities_schema_node from c2cgeoportal_admin.schemas.interfaces import interfaces_schema_node from c2cgeoportal_admin.schemas.metadata import metadata_schema_node from c2cgeoportal_admin.schemas.roles import roles_schema_node from c2cgeoportal_admin.schemas.treegroup import children_schema_node from c2cgeoportal_admin.views.treeitems import TreeItemViews from c2cgeoportal_commons.models.main import Functionality, Interface, Role, Theme _list_field = partial(ListField, Theme) base_schema = GeoFormSchemaNode( Theme, widget=FormWidget(fields_template="theme_fields")) base_schema.add(children_schema_node(only_groups=True)) base_schema.add(functionalities_schema_node(Theme.functionalities, Theme)) base_schema.add(roles_schema_node(Theme.restricted_roles)) base_schema.add(interfaces_schema_node(Theme.interfaces)) base_schema.add(metadata_schema_node(Theme.metadatas, Theme)) base_schema.add_unique_validator(Theme.name, Theme.id) @view_defaults(match_param="table=themes") class ThemeViews(TreeItemViews): """The theme administration view.""" _list_fields = (TreeItemViews._list_fields + [ _list_field("ordering"), _list_field("public"), _list_field("icon"),
from c2cgeoform.schema import GeoFormSchemaNode from c2cgeoform.views.abstract_views import ListField from deform.widget import FormWidget from c2cgeoportal_commons.models.main import LayerV1 from c2cgeoportal_admin.schemas.metadata import metadatas_schema_node from c2cgeoportal_admin.schemas.interfaces import interfaces_schema_node from c2cgeoportal_admin.schemas.restriction_areas import restrictionareas_schema_node from c2cgeoportal_admin.views.layers import LayerViews _list_field = partial(ListField, LayerV1) base_schema = GeoFormSchemaNode( LayerV1, widget=FormWidget(fields_template='layer_v1_fields')) base_schema.add(interfaces_schema_node.clone()) base_schema.add(restrictionareas_schema_node.clone()) base_schema.add(metadatas_schema_node.clone()) base_schema.add_unique_validator(LayerV1.name, LayerV1.id) @view_defaults(match_param='table=layers_v1') class LayerV1Views(LayerViews): _list_fields = LayerViews._list_fields + [ _list_field('layer'), _list_field('is_checked'), _list_field('icon'), _list_field('layer_type'), _list_field('url'), _list_field('image_type'), _list_field('style'),
from sqlalchemy.orm import aliased, subqueryload from c2cgeoform.schema import GeoFormSchemaNode from c2cgeoform.views.abstract_views import AbstractViews, ListField from deform.widget import FormWidget from c2cgeoportal_commons.models.main import Role from c2cgeoportal_commons.models.static import User from c2cgeoportal_commons.lib.email_ import send_email_config from c2cgeoportal_admin.schemas.roles import roles_schema_node _list_field = partial(ListField, User) base_schema = GeoFormSchemaNode( User, widget=FormWidget(fields_template='user_fields')) base_schema.add(roles_schema_node('roles')) base_schema.add_unique_validator(User.username, User.id) settings_role = aliased(Role) @view_defaults(match_param='table=users') class UserViews(AbstractViews): _list_fields = [ _list_field('id'), _list_field('username'), _list_field('email'), _list_field('last_login'), _list_field('expire_on'), _list_field('deactivated'), _list_field('settings_role',
from pyramid.view import view_config from c2cgeoform.schema import GeoFormSchemaNode from c2cgeoform.views.abstract_views import ListField from c2cgeoportal_commons.models.main import LayerV1 from c2cgeoportal_admin.schemas.metadata import metadatas_schema_node from c2cgeoportal_admin.views.layers import LayerViews from c2cgeoportal_admin.views.interfaces import interfaces_schema_node from c2cgeoportal_admin.views.restrictionareas import restrictionareas_schema_node _list_field = partial(ListField, LayerV1) base_schema = GeoFormSchemaNode(LayerV1) base_schema.add(interfaces_schema_node.clone()) base_schema.add(restrictionareas_schema_node.clone()) base_schema.add(metadatas_schema_node.clone()) @view_defaults(match_param='table=layers_v1') class LayerV1Views(LayerViews): _list_fields = LayerViews._list_fields + [ _list_field('layer'), _list_field('is_checked'), _list_field('icon'), _list_field('layer_type'), _list_field('url'), _list_field('image_type'), _list_field('style'), _list_field('dimensions'),
from sqlalchemy.orm import subqueryload from sqlalchemy.sql.functions import concat from c2cgeoportal_admin.schemas.functionalities import functionalities_schema_node from c2cgeoportal_admin.schemas.interfaces import interfaces_schema_node from c2cgeoportal_admin.schemas.metadata import metadatas_schema_node from c2cgeoportal_admin.schemas.roles import roles_schema_node from c2cgeoportal_admin.schemas.treegroup import children_schema_node from c2cgeoportal_admin.views.treeitems import TreeItemViews from c2cgeoportal_commons.models.main import Functionality, Interface, Role, Theme _list_field = partial(ListField, Theme) base_schema = GeoFormSchemaNode( Theme, widget=FormWidget(fields_template="theme_fields")) base_schema.add(children_schema_node(only_groups=True)) base_schema.add(functionalities_schema_node.clone()) base_schema.add(roles_schema_node("restricted_roles")) base_schema.add(interfaces_schema_node.clone()) base_schema.add(metadatas_schema_node.clone()) base_schema.add_unique_validator(Theme.name, Theme.id) @view_defaults(match_param="table=themes") class ThemeViews(TreeItemViews): _list_fields = (TreeItemViews._list_fields + [ _list_field("ordering"), _list_field("public"), _list_field("icon"), _list_field(
from pyramid.view import view_config, view_defaults from c2cgeoportal_admin import _ from c2cgeoportal_admin.schemas.interfaces import interfaces_schema_node 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.lib.literal import Literal 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( metadata_schema_node(LayerVectorTiles.metadatas, LayerVectorTiles)) base_schema.add(interfaces_schema_node(LayerVectorTiles.interfaces)) base_schema.add(restrictionareas_schema_node( LayerVectorTiles.restrictionareas)) base_schema.add_unique_validator(LayerVectorTiles.name, LayerVectorTiles.id) base_schema.add(parent_id_node(LayerGroup)) # type: ignore @view_defaults(match_param="table=layers_vectortiles") class LayerVectorTilesViews(DimensionLayerViews): """The vector tiles administration view.""" _list_fields = ( DimensionLayerViews._list_fields + [_list_field("style"), _list_field("xyz")] + DimensionLayerViews._extra_list_fields)