Beispiel #1
0
    def get_model(self, _, object_name, instance=None):
        Model = safe_get_model_class(to_model_name(object_name))

        if instance and hasattr(Model, "instance"):
            return Model(instance=instance)
        else:
            return Model()
Beispiel #2
0
def identifier_model_name(identifier):
    """
    Takes an identifier like "model.field" and returns the model's display name
    """
    object_name, __ = dotted_split(identifier, 2, maxsplit=1)

    return display_name(to_model_name(object_name))
Beispiel #3
0
def identifier_model_name(identifier):
    """
    Takes an identifier like "model.field" and returns the model's display name
    """
    object_name, __ = dotted_split(identifier, 2, maxsplit=1)

    return display_name(to_model_name(object_name))
Beispiel #4
0
    def get_model(self, _, object_name, instance=None):
        Model = safe_get_model_class(to_model_name(object_name))

        if instance and hasattr(Model, 'instance'):
            return Model(instance=instance)
        else:
            return Model()
Beispiel #5
0
    def get_disabled_fields(group):
        model_name = to_model_name(group['model'])
        Model = safe_get_model_class(model_name)
        mobj = Model(instance=instance)

        model_fields = {field for field in mobj.tracked_fields
                        if _should_show_field(Model, field)}
        model_fields = {'%s.%s' % (group['model'], f) for f in model_fields}
        disabled_fields = model_fields - set(group['field_keys'])

        return sorted(disabled_fields)
Beispiel #6
0
    def get_disabled_cudfs(group):
        if 'model' in group:
            models = (to_model_name(group['model']), )
        else:
            models = ('Tree', 'Plot')

        udfs = {udf.full_name for udf in udf_defs(instance)
                if udf.iscollection and udf.model_type in models and
                (group['header'] not in collection_groups
                 or udf.name == group['header'])}

        disabled_cudfs = udfs - set(group['collection_udf_keys'])
        return sorted(disabled_cudfs)
Beispiel #7
0
    def get_disabled_fields(group):
        model_name = to_model_name(group['model'])
        Model = safe_get_model_class(model_name)
        mobj = Model(instance=instance)

        model_fields = {
            field
            for field in mobj.tracked_fields
            if _should_show_field(Model, field)
        }
        model_fields = {'%s.%s' % (group['model'], f) for f in model_fields}
        disabled_fields = model_fields - set(group['field_keys'])

        return sorted(disabled_fields)
Beispiel #8
0
def udf_delete(request, instance, udf_id):
    try:
        udf_def = UserDefinedFieldDefinition.objects.get(pk=udf_id,
                                                         instance=instance)
    except UserDefinedFieldDefinition.DoesNotExist:
        return HttpResponseNotFound(_("Field does not exist"))

    if udf_def.iscollection:
        return HttpResponseBadRequest(_("Cannot delete default fields"))

    remove_udf_notification(instance, to_model_name(udf_def.full_name))

    udf_def.delete()

    return HttpResponse(_("Deleted custom field"))
Beispiel #9
0
def udf_delete(request, instance, udf_id):
    try:
        udf_def = UserDefinedFieldDefinition.objects.get(pk=udf_id,
                                                         instance=instance)
    except UserDefinedFieldDefinition.DoesNotExist:
        return HttpResponseNotFound(_("Field does not exist"))

    if udf_def.iscollection:
        return HttpResponseBadRequest(_("Cannot delete default fields"))

    remove_udf_notification(instance, to_model_name(udf_def.full_name))

    udf_def.delete()

    return HttpResponse(_("Deleted custom field"))
Beispiel #10
0
    def get_disabled_cudfs(group):
        if 'model' in group:
            models = (to_model_name(group['model']), )
        else:
            models = ('Tree', 'Plot')

        udfs = {
            udf.full_name
            for udf in udf_defs(instance)
            if udf.iscollection and udf.model_type in models and (
                group['header'] not in collection_groups
                or udf.name == group['header'])
        }

        disabled_cudfs = udfs - set(group['collection_udf_keys'])
        return sorted(disabled_cudfs)
Beispiel #11
0
def create_udfs(udfs, instance):
    for model, model_rules in udfs.items():
        for field, field_rules in model_rules.items():
            # convert the migrator udf schema
            # to the udf-lib friendly schema

            name = field_rules["udf.name"]
            model_type = to_model_name(model)
            choices = field_rules.get("udf.choices")
            datatype_type = field_rules.get("udf.type", "choice" if choices else "string")

            udf_params = {"udf.name": name, "udf.model": model_type, "udf.type": datatype_type, "udf.choices": choices}

            if not udf_lib.udf_exists(udf_params, instance):
                print "Creating udf %s" % name
                udf_lib.udf_create(udf_params, instance)
Beispiel #12
0
def create_udfs(udfs, instance):
    for model, model_rules in udfs.items():
        for field, field_rules in model_rules.items():
            # convert the migrator udf schema
            # to the udf-lib friendly schema

            name = field_rules['udf.name']
            model_type = to_model_name(model)
            choices = field_rules.get('udf.choices')
            datatype_type = field_rules.get('udf.type',
                                            'choice' if choices else 'string')

            udf_params = {
                'udf.name': name,
                'udf.model': model_type,
                'udf.type': datatype_type,
                'udf.choices': choices
            }

            if not udf_lib.udf_exists(udf_params, instance):
                print "Creating udf %s" % name
                udf_lib.udf_create(udf_params, instance)
Beispiel #13
0
def create_udfs(udfs, instance):
    for model, model_rules in udfs.items():
        for field, field_rules in model_rules.items():
            # convert the migrator udf schema
            # to the udf-lib friendly schema

            name = field_rules['udf.name']
            model_type = to_model_name(model)
            choices = field_rules.get('udf.choices')
            datatype_type = field_rules.get(
                'udf.type', 'choice' if choices else 'string')

            udf_params = {
                'udf.name': name,
                'udf.model': model_type,
                'udf.type': datatype_type,
                'udf.choices': choices
            }

            if not udf_lib.udf_exists(udf_params, instance):
                print "Creating udf %s" % name
                udf_lib.udf_create(udf_params, instance)
Beispiel #14
0
def udf_create(request, instance):
    params = json_from_request(request)
    udf = lib.udf_create(params, instance)
    add_udf_notification(instance, to_model_name(udf.full_name))
    return udf_context(instance, udf)
Beispiel #15
0
def udf_create(request, instance):
    params = json_from_request(request)
    udf = lib.udf_create(params, instance)
    add_udf_notification(instance, to_model_name(udf.full_name))
    return udf_context(instance, udf)