40292-vm/core/admin.py
2026-06-19 15:12:08 +00:00

44 lines
1.4 KiB
Python

from django.contrib import admin
from .models import ActionPlanStep, ProblemCase, RootCause, SolutionOption
class RootCauseInline(admin.TabularInline):
model = RootCause
extra = 0
class SolutionOptionInline(admin.TabularInline):
model = SolutionOption
extra = 0
fields = ("rank", "title", "impact", "efficiency", "speed", "low_risk", "decision_score", "success_rate")
readonly_fields = ("decision_score",)
@admin.register(ProblemCase)
class ProblemCaseAdmin(admin.ModelAdmin):
list_display = ("title", "business_area", "urgency", "priority_score", "financial_impact", "status", "created_at")
list_filter = ("business_area", "status", "urgency")
search_fields = ("title", "description")
inlines = [RootCauseInline, SolutionOptionInline]
@admin.register(SolutionOption)
class SolutionOptionAdmin(admin.ModelAdmin):
list_display = ("title", "problem", "rank", "decision_score", "success_rate")
list_filter = ("rank",)
search_fields = ("title", "problem__title")
@admin.register(ActionPlanStep)
class ActionPlanStepAdmin(admin.ModelAdmin):
list_display = ("solution", "day_index", "title", "is_done")
list_filter = ("is_done",)
search_fields = ("title", "task", "solution__title")
@admin.register(RootCause)
class RootCauseAdmin(admin.ModelAdmin):
list_display = ("factor", "problem", "contribution_score", "parent")
search_fields = ("factor", "why_chain", "problem__title")