symposion_app/pinaxcon/proposals/admin.py
2024-05-15 22:29:33 +10:00

57 lines
1.7 KiB
Python

from django.contrib import admin
from pinaxcon.proposals import models
from symposion.proposals import models as symposion_models
from symposion.reviews.models import ProposalResult
class CategoryAdmin(admin.ModelAdmin):
class AdditionalSpeakerInline(admin.TabularInline):
model = symposion_models.AdditionalSpeaker
class ProposalResultInline(admin.TabularInline):
model = ProposalResult
readonly_fields = ["score"]
fields = ["status"]
inlines = [
AdditionalSpeakerInline,
ProposalResultInline,
]
models_to_register = [
models.AIAndMachineLearningProposal,
models.DiversityEquityAndInclusionProposal,
models.FOSSAndARM64Proposal,
models.FOSSFundingandEconomicsProposal,
models.FOSSInDailyLifeProposal,
models.FOSSInEducationProposal,
models.LicensingAndLegalIssuesProposal,
models.MobileDeviceUserFreedomProposal,
models.ReproducibilityProposal,
models.RightToRepairProposal,
models.ScienceOfCommunityProposal,
models.MemberProjectsProposal,
models.SupportingUserGroupsProposal,
models.XMPPProposal,
models.WildCardProposal,
]
for model in models_to_register:
admin.site.register(model, CategoryAdmin,
list_display = [
"id",
"title",
"speaker",
"speaker_email",
"kind",
"target_audience",
"status",
"cancelled",
],
list_filter = [
"result__status",
"cancelled",
],
)