Admin pages for custom fields & instances, make not editable in admin
This commit is contained in:
parent
6a0e56662c
commit
079df6aeb0
@ -3,6 +3,8 @@ from django.contrib import admin
|
|||||||
from guardian.admin import GuardedModelAdmin
|
from guardian.admin import GuardedModelAdmin
|
||||||
|
|
||||||
from documents.models import Correspondent
|
from documents.models import Correspondent
|
||||||
|
from documents.models import CustomField
|
||||||
|
from documents.models import CustomFieldInstance
|
||||||
from documents.models import Document
|
from documents.models import Document
|
||||||
from documents.models import DocumentType
|
from documents.models import DocumentType
|
||||||
from documents.models import Note
|
from documents.models import Note
|
||||||
@ -144,6 +146,20 @@ class ShareLinksAdmin(GuardedModelAdmin):
|
|||||||
list_display_links = ("created",)
|
list_display_links = ("created",)
|
||||||
|
|
||||||
|
|
||||||
|
class CustomFieldsAdmin(GuardedModelAdmin):
|
||||||
|
fields = ("name", "created", "data_type")
|
||||||
|
readonly_fields = ("created", "data_type")
|
||||||
|
list_display = ("name", "created", "data_type")
|
||||||
|
list_filter = ("created", "data_type")
|
||||||
|
|
||||||
|
|
||||||
|
class CustomFieldInstancesAdmin(GuardedModelAdmin):
|
||||||
|
fields = ("field", "document", "created", "value")
|
||||||
|
readonly_fields = ("field", "document", "created", "value")
|
||||||
|
list_display = ("field", "document", "value", "created")
|
||||||
|
list_filter = ("document", "created")
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(Correspondent, CorrespondentAdmin)
|
admin.site.register(Correspondent, CorrespondentAdmin)
|
||||||
admin.site.register(Tag, TagAdmin)
|
admin.site.register(Tag, TagAdmin)
|
||||||
admin.site.register(DocumentType, DocumentTypeAdmin)
|
admin.site.register(DocumentType, DocumentTypeAdmin)
|
||||||
@ -153,6 +169,8 @@ admin.site.register(StoragePath, StoragePathAdmin)
|
|||||||
admin.site.register(PaperlessTask, TaskAdmin)
|
admin.site.register(PaperlessTask, TaskAdmin)
|
||||||
admin.site.register(Note, NotesAdmin)
|
admin.site.register(Note, NotesAdmin)
|
||||||
admin.site.register(ShareLink, ShareLinksAdmin)
|
admin.site.register(ShareLink, ShareLinksAdmin)
|
||||||
|
admin.site.register(CustomField, CustomFieldsAdmin)
|
||||||
|
admin.site.register(CustomFieldInstance, CustomFieldInstancesAdmin)
|
||||||
|
|
||||||
if settings.AUDIT_LOG_ENABLED:
|
if settings.AUDIT_LOG_ENABLED:
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ class Migration(migrations.Migration):
|
|||||||
db_index=True,
|
db_index=True,
|
||||||
default=django.utils.timezone.now,
|
default=django.utils.timezone.now,
|
||||||
verbose_name="created",
|
verbose_name="created",
|
||||||
|
editable=False,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
("name", models.CharField(max_length=128)),
|
("name", models.CharField(max_length=128)),
|
||||||
@ -47,6 +48,7 @@ class Migration(migrations.Migration):
|
|||||||
],
|
],
|
||||||
max_length=50,
|
max_length=50,
|
||||||
verbose_name="data type",
|
verbose_name="data type",
|
||||||
|
editable=False,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -71,6 +73,7 @@ class Migration(migrations.Migration):
|
|||||||
(
|
(
|
||||||
"created",
|
"created",
|
||||||
models.DateTimeField(
|
models.DateTimeField(
|
||||||
|
editable=False,
|
||||||
db_index=True,
|
db_index=True,
|
||||||
default=django.utils.timezone.now,
|
default=django.utils.timezone.now,
|
||||||
verbose_name="created",
|
verbose_name="created",
|
||||||
@ -79,6 +82,7 @@ class Migration(migrations.Migration):
|
|||||||
(
|
(
|
||||||
"document",
|
"document",
|
||||||
models.ForeignKey(
|
models.ForeignKey(
|
||||||
|
editable=False,
|
||||||
on_delete=django.db.models.deletion.CASCADE,
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
related_name="custom_fields",
|
related_name="custom_fields",
|
||||||
to="documents.document",
|
to="documents.document",
|
||||||
@ -87,6 +91,7 @@ class Migration(migrations.Migration):
|
|||||||
(
|
(
|
||||||
"field",
|
"field",
|
||||||
models.ForeignKey(
|
models.ForeignKey(
|
||||||
|
editable=False,
|
||||||
on_delete=django.db.models.deletion.CASCADE,
|
on_delete=django.db.models.deletion.CASCADE,
|
||||||
related_name="fields",
|
related_name="fields",
|
||||||
to="documents.customfield",
|
to="documents.customfield",
|
||||||
|
@ -902,6 +902,7 @@ class CustomField(models.Model):
|
|||||||
_("created"),
|
_("created"),
|
||||||
default=timezone.now,
|
default=timezone.now,
|
||||||
db_index=True,
|
db_index=True,
|
||||||
|
editable=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
name = models.CharField(max_length=128)
|
name = models.CharField(max_length=128)
|
||||||
@ -910,6 +911,7 @@ class CustomField(models.Model):
|
|||||||
_("data type"),
|
_("data type"),
|
||||||
max_length=50,
|
max_length=50,
|
||||||
choices=FieldDataType.choices,
|
choices=FieldDataType.choices,
|
||||||
|
editable=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -937,6 +939,7 @@ class CustomFieldInstance(models.Model):
|
|||||||
_("created"),
|
_("created"),
|
||||||
default=timezone.now,
|
default=timezone.now,
|
||||||
db_index=True,
|
db_index=True,
|
||||||
|
editable=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
document = models.ForeignKey(
|
document = models.ForeignKey(
|
||||||
@ -945,6 +948,7 @@ class CustomFieldInstance(models.Model):
|
|||||||
null=False,
|
null=False,
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
related_name="custom_fields",
|
related_name="custom_fields",
|
||||||
|
editable=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
field = models.ForeignKey(
|
field = models.ForeignKey(
|
||||||
@ -953,6 +957,7 @@ class CustomFieldInstance(models.Model):
|
|||||||
null=False,
|
null=False,
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
related_name="fields",
|
related_name="fields",
|
||||||
|
editable=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -398,6 +398,11 @@ class StoragePathField(serializers.PrimaryKeyRelatedField):
|
|||||||
|
|
||||||
|
|
||||||
class CustomFieldSerializer(serializers.ModelSerializer):
|
class CustomFieldSerializer(serializers.ModelSerializer):
|
||||||
|
data_type = serializers.ChoiceField(
|
||||||
|
choices=CustomField.FieldDataType,
|
||||||
|
read_only=False,
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CustomField
|
model = CustomField
|
||||||
fields = [
|
fields = [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user