Beispiel #1
0
def add_default_permissions(instance, roles=None, models=None):
    # Audit is imported into models, so models can't be imported up top
    from treemap.models import MapFeature
    if roles is None:
        roles = Role.objects.filter(instance=instance)
    if models is None:
        # MapFeature is "Authorizable", but it is effectively abstract
        # Only it's subclasses should have permissions added
        models = all_subclasses(Authorizable) - {MapFeature}

    for role in roles:
        _add_default_permissions(models, role, instance)
Beispiel #2
0
def add_default_permissions(instance, roles=None, models=None):
    # Audit is imported into models, so models can't be imported up top
    from treemap.models import MapFeature
    if roles is None:
        roles = Role.objects.filter(instance=instance)
    if models is None:
        # MapFeature is "Authorizable", but it is effectively abstract
        # Only it's subclasses should have permissions added
        models = all_subclasses(Authorizable) - {MapFeature}

    for role in roles:
        _add_default_permissions(models, role, instance)
Beispiel #3
0
def _get_model_class(class_dict, cls, model_name):
    """
    Convert a model name (as a string) into the model class
    """
    if model_name.startswith('udf:'):
        from udf import UserDefinedCollectionValue
        return UserDefinedCollectionValue

    if not class_dict:
        # One-time load of class dictionary
        for c in all_subclasses(cls):
            class_dict[c.__name__] = c

    return class_dict[model_name]
Beispiel #4
0
def _get_model_class(class_dict, cls, model_name):
    """
    Convert a model name (as a string) into the model class
    """
    if model_name.startswith('udf:'):
        from udf import UserDefinedCollectionValue
        return UserDefinedCollectionValue

    if not class_dict:
        # One-time load of class dictionary
        for c in all_subclasses(cls):
            class_dict[c.__name__] = c

    return class_dict[model_name]