* feat: Add TelechatAgendaContent model and related support * feat: Add UI for managing TelechatAgendaContents * refactor: Rename _view view to _manage * feat: Add a view to dump the TelechatAgendaContent as text/plain * refactor: Point agenda_data() helpers at content in the DB * refactor: Replace references to settings URLs/paths with new plumbing * chore: Remove now-obsolete settings from settings.py * feat: Link to telechat_agenda_content_manage view from iesg agenda * fix: Use correct view name * feat: Link from agenda content management page to IESG agenda view * chore: Create resources * chore: Add new names to names.json * chore: Renumber migration after rebase * chore: Remove unused import * fix: Clean up partially removed code * chore: Add admin model for TelechatAgendaContent * chore: Simplify __str__ method for TelechatAgendaContent * test: Add TelechatAgendaContentFactory * test: Test the fill_in_agenda_administrivia() function * test: Test that agenda contains action_items content * test: Test that sensitive agenda links are restricted by role * test: Test the telechat_agenda_content_view view * test: Add test of telechat_agenda_content_edit view * fix: Add type attribute to button to satisfy html validator * test: Filter TelechatAgendaSectionName to used=True for tests * test: More thoroughly test for likely(ish) permission errors * fix: Fix typo in "tablist" role * test: Test telechat_agenda_content_manage view * style: Put back newlines at EOF * chore: Add admin for TelechatAgendaSectionName * chore: Renumber migrations * fix: Depend on the correct migration Forgot to update the number, but was also depending on the wrong migration.
101 lines
4.7 KiB
Python
101 lines
4.7 KiB
Python
# Copyright The IETF Trust 2010-2022, All Rights Reserved
|
|
from django.contrib import admin
|
|
|
|
from ietf.name.models import (
|
|
AgendaTypeName, BallotPositionName, ConstraintName, ContinentName, CountryName, DBTemplateTypeName,
|
|
DocRelationshipName, DocReminderTypeName, DocTagName, DocTypeName, DraftSubmissionStateName,
|
|
FeedbackTypeName, FormalLanguageName, GroupMilestoneStateName, GroupStateName, GroupTypeName,
|
|
ImportantDateName, IntendedStdLevelName, IprDisclosureStateName, IprEventTypeName,
|
|
IprLicenseTypeName, LiaisonStatementEventTypeName, LiaisonStatementPurposeName,
|
|
LiaisonStatementState, LiaisonStatementTagName, MeetingTypeName, NomineePositionStateName,
|
|
ReviewRequestStateName, ReviewResultName, ReviewTypeName, RoleName, RoomResourceName,
|
|
SessionStatusName, StdLevelName, StreamName, TimeSlotTypeName, TopicAudienceName,
|
|
DocUrlTagName, ReviewAssignmentStateName, ReviewerQueuePolicyName, TimerangeName,
|
|
ExtResourceName, ExtResourceTypeName, SlideSubmissionStatusName, ProceedingsMaterialTypeName,
|
|
AgendaFilterTypeName, SessionPurposeName, TelechatAgendaSectionName )
|
|
|
|
|
|
from ietf.stats.models import CountryAlias
|
|
|
|
class NameAdmin(admin.ModelAdmin):
|
|
list_display = ["slug", "name", "desc", "used", "order"]
|
|
search_fields = ["slug", "name"]
|
|
prepopulate_from = { "slug": ("name",) }
|
|
|
|
class DocRelationshipNameAdmin(NameAdmin):
|
|
list_display = ["slug", "name", "revname", "desc", "used"]
|
|
admin.site.register(DocRelationshipName, DocRelationshipNameAdmin)
|
|
|
|
class DocTypeNameAdmin(NameAdmin):
|
|
list_display = ["slug", "name", "prefix", "desc", "used"]
|
|
admin.site.register(DocTypeName, DocTypeNameAdmin)
|
|
|
|
class GroupTypeNameAdmin(NameAdmin):
|
|
list_display = ["slug", "name", "verbose_name", "desc", "used"]
|
|
admin.site.register(GroupTypeName, GroupTypeNameAdmin)
|
|
|
|
class CountryAliasInline(admin.TabularInline):
|
|
model = CountryAlias
|
|
extra = 1
|
|
|
|
class CountryNameAdmin(NameAdmin):
|
|
list_display = ["slug", "name", "continent", "in_eu"]
|
|
list_filter = ["continent", "in_eu"]
|
|
inlines = [CountryAliasInline]
|
|
admin.site.register(CountryName, CountryNameAdmin)
|
|
|
|
class ImportantDateNameAdmin(NameAdmin):
|
|
list_display = ["slug", "name", "desc", "used", "default_offset_days"]
|
|
ordering = ('-used','default_offset_days',)
|
|
admin.site.register(ImportantDateName,ImportantDateNameAdmin)
|
|
|
|
class ExtResourceNameAdmin(NameAdmin):
|
|
list_display = ["slug", "name", "type", "desc", "used",]
|
|
admin.site.register(ExtResourceName,ExtResourceNameAdmin)
|
|
|
|
class ProceedingsMaterialTypeNameAdmin(NameAdmin):
|
|
list_display = ["slug", "name", "desc", "used", "order",]
|
|
admin.site.register(ProceedingsMaterialTypeName, ProceedingsMaterialTypeNameAdmin)
|
|
|
|
admin.site.register(AgendaFilterTypeName, NameAdmin)
|
|
admin.site.register(AgendaTypeName, NameAdmin)
|
|
admin.site.register(BallotPositionName, NameAdmin)
|
|
admin.site.register(ConstraintName, NameAdmin)
|
|
admin.site.register(ContinentName, NameAdmin)
|
|
admin.site.register(DBTemplateTypeName, NameAdmin)
|
|
admin.site.register(DocReminderTypeName, NameAdmin)
|
|
admin.site.register(DocTagName, NameAdmin)
|
|
admin.site.register(DraftSubmissionStateName, NameAdmin)
|
|
admin.site.register(FormalLanguageName, NameAdmin)
|
|
admin.site.register(FeedbackTypeName, NameAdmin)
|
|
admin.site.register(GroupMilestoneStateName, NameAdmin)
|
|
admin.site.register(GroupStateName, NameAdmin)
|
|
admin.site.register(IntendedStdLevelName, NameAdmin)
|
|
admin.site.register(IprDisclosureStateName, NameAdmin)
|
|
admin.site.register(IprEventTypeName, NameAdmin)
|
|
admin.site.register(IprLicenseTypeName, NameAdmin)
|
|
admin.site.register(LiaisonStatementEventTypeName, NameAdmin)
|
|
admin.site.register(LiaisonStatementPurposeName, NameAdmin)
|
|
admin.site.register(LiaisonStatementState, NameAdmin)
|
|
admin.site.register(LiaisonStatementTagName, NameAdmin)
|
|
admin.site.register(MeetingTypeName, NameAdmin)
|
|
admin.site.register(NomineePositionStateName, NameAdmin)
|
|
admin.site.register(ReviewRequestStateName, NameAdmin)
|
|
admin.site.register(ReviewAssignmentStateName, NameAdmin)
|
|
admin.site.register(ReviewResultName, NameAdmin)
|
|
admin.site.register(ReviewerQueuePolicyName, NameAdmin)
|
|
admin.site.register(ReviewTypeName, NameAdmin)
|
|
admin.site.register(RoleName, NameAdmin)
|
|
admin.site.register(RoomResourceName, NameAdmin)
|
|
admin.site.register(SessionStatusName, NameAdmin)
|
|
admin.site.register(StdLevelName, NameAdmin)
|
|
admin.site.register(StreamName, NameAdmin)
|
|
admin.site.register(TimeSlotTypeName, NameAdmin)
|
|
admin.site.register(TimerangeName, NameAdmin)
|
|
admin.site.register(TopicAudienceName, NameAdmin)
|
|
admin.site.register(DocUrlTagName, NameAdmin)
|
|
admin.site.register(ExtResourceTypeName, NameAdmin)
|
|
admin.site.register(SlideSubmissionStatusName, NameAdmin)
|
|
admin.site.register(SessionPurposeName, NameAdmin)
|
|
admin.site.register(TelechatAgendaSectionName, NameAdmin)
|