예제 #1
0
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([
                "{}={}".format(f.name, f.value)
                for f in sorted(themes.functionalities,
예제 #2
0
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