132 lines
3.3 KiB
Python
132 lines
3.3 KiB
Python
from django.contrib import admin
|
||
|
||
from .forms import DocumentInlineForm
|
||
from .forms import TaskAdminForm
|
||
from .forms import TaskListAdminForm
|
||
from .models import Document
|
||
from .models import Task
|
||
from .models import TaskList
|
||
|
||
|
||
class DocumentInline(admin.TabularInline):
|
||
form = DocumentInlineForm
|
||
model = Document
|
||
extra = 0
|
||
verbose_name = "Dokument"
|
||
verbose_name_plural = "Dokumentensammlung"
|
||
|
||
|
||
class TaskListAdmin(admin.ModelAdmin):
|
||
form = TaskListAdminForm
|
||
model = TaskList
|
||
|
||
fieldsets = (
|
||
(
|
||
None,
|
||
{
|
||
"fields": (
|
||
"name",
|
||
"shortterm",
|
||
"slug",
|
||
"users",
|
||
)
|
||
},
|
||
),
|
||
)
|
||
readonly_fields = ("slug",)
|
||
|
||
def add_view(self, request, form_url="", extra_context=None):
|
||
extra_context = extra_context or {}
|
||
extra_context["help_text"] = "Fette Schriften sind Pflichtfelder."
|
||
return super().add_view(
|
||
request,
|
||
form_url,
|
||
extra_context=extra_context,
|
||
)
|
||
|
||
def change_view(self, request, object_id, form_url="", extra_context=None):
|
||
extra_context = extra_context or {}
|
||
extra_context["help_text"] = "Fette Schriften sind Pflichtfelder."
|
||
return super().change_view(
|
||
request,
|
||
object_id,
|
||
form_url,
|
||
extra_context=extra_context,
|
||
)
|
||
|
||
|
||
class TaskAdmin(admin.ModelAdmin):
|
||
form = TaskAdminForm
|
||
model = Task
|
||
inlines = (DocumentInline,)
|
||
|
||
fieldsets = (
|
||
(
|
||
None,
|
||
{
|
||
"fields": (
|
||
"title",
|
||
"task_list",
|
||
"note",
|
||
"priority",
|
||
),
|
||
},
|
||
),
|
||
(
|
||
"Fälligkeit",
|
||
{
|
||
"fields": (
|
||
"due_date",
|
||
"assigned_to",
|
||
),
|
||
},
|
||
),
|
||
(
|
||
"Abgeschlossen",
|
||
{
|
||
"fields": (
|
||
"completed_date",
|
||
"completed",
|
||
),
|
||
},
|
||
),
|
||
)
|
||
|
||
list_display = [
|
||
"title",
|
||
"task_list",
|
||
"assigned_to",
|
||
"due_date",
|
||
"completed",
|
||
"priority",
|
||
]
|
||
list_filter = ("task_list",)
|
||
search_fields = ("title",)
|
||
|
||
def add_view(self, request, form_url="", extra_context=None):
|
||
extra_context = extra_context or {}
|
||
extra_context["help_text"] = "Fette Schriften sind Pflichtfelder."
|
||
return super().add_view(
|
||
request,
|
||
form_url,
|
||
extra_context=extra_context,
|
||
)
|
||
|
||
def change_view(self, request, object_id, form_url="", extra_context=None):
|
||
extra_context = extra_context or {}
|
||
extra_context["help_text"] = "Fette Schriften sind Pflichtfelder."
|
||
return super().change_view(
|
||
request,
|
||
object_id,
|
||
form_url,
|
||
extra_context=extra_context,
|
||
)
|
||
|
||
def save_model(self, request, obj, form, change):
|
||
obj.created_by = request.user
|
||
super().save_model(request, obj, form, change)
|
||
|
||
|
||
admin.site.register(TaskList, TaskListAdmin)
|
||
admin.site.register(Task, TaskAdmin)
|