Exemple #1
0
def _get_db_functionality(
    name: str,
    user: Dict[str, Any],
    types: Dict[str, Dict[str, Any]],
    request: pyramid.request.Request,
    errors: Set[str],
) -> List[Union[str, int, float, bool, List[Any], Dict[str, Any]]]:
    if types.get(name, {}).get("single", False):
        values = [
            get_typed(name, functionality["value"], types, request, errors)
            for functionality in user["settings_functionalities"]
            if functionality["name"] == name
        ]
        return [r for r in values if r is not None]
    functionalities = {
        functionality["value"]
        for functionalities in user["roles_functionalities"].values()
        for functionality in functionalities if functionality["name"] == name
    }
    values = [
        get_typed(name, functionality_value, types, request, errors)
        for functionality_value in functionalities
    ]

    return [r for r in values if r is not None]
def _get_db_functionality(name, role, types, request, errors):
    result = [
        get_typed(name, functionality.value, types, request, errors)
        for functionality in role.functionalities
        if functionality.name == name
    ]
    return [r for r in result if r is not None]
Exemple #3
0
 def _get_metadata(self, item, metadata, errors):
     metadatas = item.get_metadatas(metadata)
     return (None if not metadatas else get_typed(metadata,
                                                  metadatas[0].value,
                                                  self.metadata_type,
                                                  self.request,
                                                  errors,
                                                  layer_name=item.name))
Exemple #4
0
    def _get_metadata_list(self, item: main.TreeItem, errors: Set[str]) -> Dict[str, Metadata]:
        metadatas: Dict[str, Metadata] = {}
        metadata: main.Metadata
        for metadata in item.metadatas:
            value = get_typed(metadata.name, metadata.value, self.metadata_type, self.request, errors)
            if value is not None:
                metadatas[metadata.name] = value

        return metadatas
Exemple #5
0
    def _get_metadatas(self, item, errors):
        metadatas = {}
        for metadata in item.metadatas:
            value = get_typed(metadata.name, metadata.value,
                              self.metadata_type, self.request, errors)
            if value is not None:
                metadatas[metadata.name] = value

        return metadatas
Exemple #6
0
 def _get_metadata(
     self, item: main.TreeItem, metadata: str, errors: Set[str]
 ) -> Union[None, str, int, float, bool, List[Any], Dict[str, Any]]:
     metadatas = item.get_metadatas(metadata)
     return (None if not metadatas else get_typed(metadata,
                                                  metadatas[0].value,
                                                  self.metadata_type,
                                                  self.request,
                                                  errors,
                                                  layer_name=item.name))
def _get_db_functionality(name, user: static.User, types, request, errors):
    if types[name].get('single', False):
        values = [
            get_typed(name, functionality.value, types, request, errors)
            for functionality in ([] if user.settings_role is None else user.settings_role.functionalities)
            if functionality.name == name
        ]
        return [r for r in values if r is not None]

    else:
        functionalities = {
            functionality.value
            for role in user.roles
            for functionality in role.functionalities
            if functionality.name == name
        }
        values = [
            get_typed(name, functionality_value, types, request, errors)
            for functionality_value in functionalities
        ]

        return [r for r in values if r is not None]
def _get_config_functionality(name, registered, types, request, errors):
    result = None

    if registered:
        result = get_setting(request.registry.settings,
                             ("functionalities", "registered", name))
    if result is None:
        result = get_setting(request.registry.settings,
                             ("functionalities", "anonymous", name))

    if result is None:
        result = []
    elif not isinstance(result, list):
        result = [result]

    result = [get_typed(name, r, types, request, errors) for r in result]
    return [r for r in result if r is not None]
def _get_config_functionality(name, registered, types, request, errors):
    result = None

    if registered:
        result = get_setting(
            request.registry.settings, ("functionalities", "registered", name))
    if result is None:
        result = get_setting(
            request.registry.settings, ("functionalities", "anonymous", name))

    if result is None:
        result = []
    elif not isinstance(result, list):
        result = [result]

    result = [get_typed(name, r, types, request, errors) for r in result]
    return [r for r in result if r is not None]
def _get_db_functionality(name, role, types, request, errors):
    result = [
        get_typed(name, functionality.value, types, request, errors)
        for functionality in role.functionalities if functionality.name == name
    ]
    return [r for r in result if r is not None]