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 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( "functionalities", renderer=lambda themes: ", ".join([
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 deform.widget import FormWidget from pyramid.view import view_config, view_defaults from sqlalchemy.orm import subqueryload from c2cgeoportal_admin import _ from c2cgeoportal_admin.schemas.roles import roles_schema_node from c2cgeoportal_admin.schemas.treegroup import treeitem_edit_url from c2cgeoportal_admin.widgets import ChildrenWidget, ChildWidget from c2cgeoportal_commons.models.main import Layer, RestrictionArea _list_field = partial(ListField, RestrictionArea) base_schema = GeoFormSchemaNode( RestrictionArea, widget=FormWidget(fields_template="restriction_area_fields")) base_schema.add_before("area", roles_schema_node("roles")) base_schema.add_unique_validator(RestrictionArea.name, RestrictionArea.id) def layers(node, kw): # pylint: disable=unused-argument dbsession = kw["request"].dbsession query = dbsession.query(Layer).order_by(Layer.name) return [{ "id": layer.id, "label": layer.name, "icon_class": "icon-{}".format(layer.item_type), "edit_url": treeitem_edit_url(kw["request"], layer), "group": "All", } for layer in query]
from c2cgeoportal_commons.models.main import RestrictionArea from c2cgeoportal_admin.schemas.map import map_widget from c2cgeoform.schema import GeoFormSchemaNode from c2cgeoportal_admin.schemas.roles import roles_schema_node from c2cgeoform.views.abstract_views import AbstractViews from c2cgeoform.views.abstract_views import ListField from deform.widget import FormWidget _list_field = partial(ListField, RestrictionArea) base_schema = GeoFormSchemaNode( RestrictionArea, widget=FormWidget(fields_template='restriction_area_fields')) base_schema['area'].widget = map_widget base_schema.add_before('area', roles_schema_node('roles')) base_schema.add_unique_validator(RestrictionArea.name, RestrictionArea.id) @view_defaults(match_param='table=restriction_areas') class RestrictionAreaViews(AbstractViews): _list_fields = [ _list_field('id'), _list_field('name'), _list_field('description'), _list_field('readwrite'), _list_field('roles', renderer=lambda restriction_area: ', '.join( r.name for r in restriction_area.roles)), _list_field('layers', renderer=lambda restriction_area: ', '.join(
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 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"), _list_field( "functionalities",
from c2cgeoportal_commons.models.main import Theme, Interface, Role, Functionality from c2cgeoportal_admin.schemas.treegroup import children_schema_node from c2cgeoportal_admin.schemas.functionalities import functionalities_schema_node from c2cgeoportal_admin.schemas.metadata import metadatas_schema_node from c2cgeoportal_admin.schemas.interfaces import interfaces_schema_node from c2cgeoportal_admin.schemas.roles import roles_schema_node from c2cgeoportal_admin.views.treeitems import TreeItemViews _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( 'functionalities', renderer=lambda themes: ', '.join(
from c2cgeoform.views.abstract_views import AbstractViews, ListField from deform.widget import FormWidget from pyramid.view import view_config, view_defaults from sqlalchemy.orm import subqueryload from c2cgeoportal_admin.schemas.roles import roles_schema_node from c2cgeoportal_admin.schemas.treegroup import treeitem_edit_url from c2cgeoportal_admin.widgets import ChildrenWidget, ChildWidget from c2cgeoportal_commons.models.main import Layer, RestrictionArea _list_field = partial(ListField, RestrictionArea) base_schema = GeoFormSchemaNode( RestrictionArea, widget=FormWidget(fields_template="restriction_area_fields")) base_schema.add_before("area", roles_schema_node(RestrictionArea.roles)) base_schema.add_unique_validator(RestrictionArea.name, RestrictionArea.id) def layers(node, kw): # pylint: disable=unused-argument """Get the layers serializable representation.""" dbsession = kw["request"].dbsession query = dbsession.query(Layer).order_by(Layer.name) return [{ "id": layer.id, "label": layer.name, "icon_class": f"icon-{layer.item_type}", "edit_url": treeitem_edit_url(kw["request"], layer), "group": "All", } for layer in query]