add FileUpload to admin and view
This commit is contained in:
@@ -2,7 +2,7 @@ from django.contrib import admin
|
||||
from django.db.models import F
|
||||
|
||||
from .models import TopicGroup, Topic, Documentation, Document, FileUpload
|
||||
from .forms import TopicGroupAdminForm, TopicAdminForm, DocumentationAdminForm, DocumentAdminForm
|
||||
from .forms import TopicGroupAdminForm, TopicAdminForm, DocumentationAdminForm, DocumentAdminForm, FileUploadAdminForm
|
||||
|
||||
|
||||
class DocumentationInline(admin.TabularInline):
|
||||
@@ -20,6 +20,13 @@ class FileUploadInline(admin.TabularInline):
|
||||
verbose_name_plural = "Dokumentensammlung"
|
||||
|
||||
|
||||
class DocumentInline(admin.TabularInline):
|
||||
model = Document
|
||||
extra = 0
|
||||
verbose_name = "Dokument"
|
||||
verbose_name_plural = "Dokumentensammlung"
|
||||
|
||||
|
||||
class TopicInline(admin.TabularInline):
|
||||
model = Topic
|
||||
form = TopicAdminForm
|
||||
@@ -61,6 +68,7 @@ class TopicAdmin(admin.ModelAdmin):
|
||||
class DocumentationAdmin(admin.ModelAdmin):
|
||||
form = DocumentationAdminForm
|
||||
model = Documentation
|
||||
inlines = (DocumentInline, FileUploadInline, )
|
||||
|
||||
list_display = ["title", "topic",]
|
||||
|
||||
@@ -82,7 +90,20 @@ class DocumentAdmin(admin.ModelAdmin):
|
||||
super().save_model(request, obj, form, change)
|
||||
|
||||
|
||||
class FileUploadAdmin(admin.ModelAdmin):
|
||||
form = FileUploadAdminForm
|
||||
model = FileUpload
|
||||
|
||||
list_filter = ["documentation",]
|
||||
list_display = ["title", "documentation",]
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
obj.created_by = request.user
|
||||
super().save_model(request, obj, form, change)
|
||||
|
||||
|
||||
admin.site.register(TopicGroup, TopicGroupAdmin)
|
||||
admin.site.register(Topic, TopicAdmin)
|
||||
#admin.site.register(Documentation, DocumentationAdmin)
|
||||
admin.site.register(Documentation, DocumentationAdmin)
|
||||
admin.site.register(Document, DocumentAdmin)
|
||||
admin.site.register(FileUpload, FileUploadAdmin)
|
||||
|
||||
@@ -2,7 +2,7 @@ from ckeditor_uploader.widgets import CKEditorUploadingWidget
|
||||
from django import forms
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from .models import TopicGroup, Topic, Documentation, Document
|
||||
from .models import TopicGroup, Topic, Documentation, Document, FileUpload
|
||||
|
||||
|
||||
class DateInput(forms.DateInput):
|
||||
@@ -38,9 +38,9 @@ class DocumentationAdminForm(forms.ModelForm):
|
||||
fields = [
|
||||
"title",
|
||||
"slug",
|
||||
"topic",
|
||||
"placeholder",
|
||||
"description",
|
||||
"topic",
|
||||
]
|
||||
|
||||
widgets = {"description": CKEditorUploadingWidget(config_name="default")}
|
||||
@@ -55,6 +55,16 @@ class DocumentAdminForm(forms.ModelForm):
|
||||
]
|
||||
|
||||
|
||||
class FileUploadAdminForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = FileUpload
|
||||
fields = [
|
||||
"title",
|
||||
"file_field",
|
||||
"documentation",
|
||||
]
|
||||
|
||||
|
||||
class DocumentForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Document
|
||||
|
||||
@@ -132,6 +132,7 @@ class Document(models.Model):
|
||||
class FileUpload(models.Model):
|
||||
title = models.CharField(verbose_name="Titel", max_length=128)
|
||||
file_field = models.FileField(verbose_name="Dokument", upload_to="uploads/intern/files/")
|
||||
date = models.DateField(verbose_name="Datum", default=date.today)
|
||||
|
||||
documentation = models.ForeignKey(Documentation, on_delete=models.CASCADE)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ from documents.etherpadlib import add_ep_cookie
|
||||
from collections import deque
|
||||
|
||||
from .forms import DocumentForm
|
||||
from .models import TopicGroup, Topic, Documentation, Document
|
||||
from .models import TopicGroup, Topic, Documentation, Document, FileUpload
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -65,6 +65,8 @@ def show_docu(request, topic_slug=None, slug=None):
|
||||
|
||||
form = DocumentForm(initial=initial)
|
||||
|
||||
files = deque(FileUpload.objects.filter(documentation=active_docu))
|
||||
|
||||
docus = deque(Document.objects.filter(documentation=active_docu).order_by('-date'))
|
||||
documents = deque([])
|
||||
|
||||
@@ -83,6 +85,7 @@ def show_docu(request, topic_slug=None, slug=None):
|
||||
"active_topic": active_topic,
|
||||
"active_docu": active_docu,
|
||||
"documents": documents,
|
||||
"files": files,
|
||||
}
|
||||
|
||||
response = render(request, "intern/docu.html", context)
|
||||
|
||||
Reference in New Issue
Block a user