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()
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))
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()
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)
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)
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)
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"))
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)
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)
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)
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)
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)