Introduce content/cms/accounts modules with DRF routes, and point default DB settings at the official starintldb instance. Co-authored-by: Cursor <cursoragent@cursor.com>
157 lines
4.2 KiB
Python
157 lines
4.2 KiB
Python
from django.contrib import admin
|
|
|
|
from .models import (
|
|
Article,
|
|
ArticleCollect,
|
|
ArticleShare,
|
|
ArticleComment,
|
|
ArticleLike,
|
|
ArticleType,
|
|
Column,
|
|
Magazine,
|
|
MagazineCategory,
|
|
Organize,
|
|
OrganizeCategory,
|
|
Professor,
|
|
RuleBand,
|
|
Specialty,
|
|
StarRule,
|
|
Subject,
|
|
WorkGroup,
|
|
WorkGroupMembership,
|
|
WorkGroupTerm,
|
|
)
|
|
|
|
|
|
@admin.register(Column)
|
|
class ColumnAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "position", "sort", "path", "is_disabled")
|
|
list_filter = ("position", "is_disabled")
|
|
search_fields = ("name",)
|
|
|
|
|
|
@admin.register(Subject)
|
|
class SubjectAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "parent", "sort", "is_disabled")
|
|
list_filter = ("is_disabled",)
|
|
search_fields = ("name",)
|
|
|
|
|
|
@admin.register(OrganizeCategory)
|
|
class OrganizeCategoryAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "parent", "sort", "is_disabled")
|
|
list_filter = ("is_disabled",)
|
|
search_fields = ("name",)
|
|
|
|
|
|
@admin.register(MagazineCategory)
|
|
class MagazineCategoryAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "parent", "sort", "is_disabled")
|
|
list_filter = ("is_disabled",)
|
|
search_fields = ("name",)
|
|
|
|
|
|
@admin.register(ArticleType)
|
|
class ArticleTypeAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "code", "name", "sort", "is_disabled")
|
|
list_filter = ("is_disabled",)
|
|
search_fields = ("name", "code", "note")
|
|
|
|
|
|
@admin.register(Organize)
|
|
class OrganizeAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "category", "rank", "is_disabled")
|
|
search_fields = ("name",)
|
|
|
|
|
|
@admin.register(Magazine)
|
|
class MagazineAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "category", "is_disabled")
|
|
search_fields = ("name",)
|
|
filter_horizontal = ("subjects",)
|
|
|
|
|
|
class RuleBandInline(admin.TabularInline):
|
|
model = RuleBand
|
|
extra = 1
|
|
|
|
|
|
@admin.register(StarRule)
|
|
class StarRuleAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "year", "is_disabled")
|
|
inlines = [RuleBandInline]
|
|
|
|
|
|
@admin.register(WorkGroup)
|
|
class WorkGroupAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "parent", "sort", "is_disabled")
|
|
list_filter = ("is_disabled",)
|
|
search_fields = ("name",)
|
|
|
|
|
|
@admin.register(WorkGroupTerm)
|
|
class WorkGroupTermAdmin(admin.ModelAdmin):
|
|
list_display = (
|
|
"id",
|
|
"workgroup",
|
|
"name",
|
|
"parent",
|
|
"start_year",
|
|
"end_year",
|
|
"is_current",
|
|
"is_disabled",
|
|
)
|
|
list_filter = ("is_current", "is_disabled", "workgroup")
|
|
search_fields = ("name", "workgroup__name")
|
|
|
|
|
|
class WorkGroupMembershipInline(admin.TabularInline):
|
|
model = WorkGroupMembership
|
|
extra = 1
|
|
|
|
|
|
@admin.register(Professor)
|
|
class ProfessorAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "role", "job", "is_disabled")
|
|
search_fields = ("name",)
|
|
inlines = [WorkGroupMembershipInline]
|
|
|
|
|
|
@admin.register(Specialty)
|
|
class SpecialtyAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "name", "position", "is_disabled")
|
|
search_fields = ("name",)
|
|
|
|
|
|
@admin.register(Article)
|
|
class ArticleAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "title", "type", "year", "score", "rank", "is_disabled")
|
|
list_filter = ("type", "year", "is_disabled")
|
|
search_fields = ("title", "serial_number")
|
|
filter_horizontal = ("organizes", "magazines", "subjects")
|
|
|
|
|
|
@admin.register(ArticleComment)
|
|
class ArticleCommentAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "article", "member", "star", "review_status", "created_at")
|
|
list_filter = ("review_status",)
|
|
search_fields = ("content", "member__name", "article__title")
|
|
|
|
|
|
@admin.register(ArticleLike)
|
|
class ArticleLikeAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "article", "member", "created_at")
|
|
search_fields = ("member__name", "member__phone", "article__title")
|
|
|
|
|
|
@admin.register(ArticleCollect)
|
|
class ArticleCollectAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "article", "member", "created_at")
|
|
search_fields = ("member__name", "member__phone", "article__title")
|
|
|
|
|
|
@admin.register(ArticleShare)
|
|
class ArticleShareAdmin(admin.ModelAdmin):
|
|
list_display = ("id", "article", "member", "visitor_key", "created_at")
|
|
search_fields = ("member__name", "member__phone", "visitor_key", "article__title")
|