autocensup/core/admin.py

139 lines
3.3 KiB
Python

from django.contrib import admin
from .models import (
AnoCenso,
Curso,
FallbackCurso,
Instituicao,
Municipio,
Pais,
Pessoa,
Polo,
UF,
Vinculo,
)
@admin.register(AnoCenso)
class AnoCensoAdmin(admin.ModelAdmin):
list_display = ("ano", "ano_execucao")
search_fields = ("ano",)
ordering = ("-ano",)
@admin.register(UF)
class UFAdmin(admin.ModelAdmin):
list_display = ("codigo", "nome")
search_fields = ("codigo", "nome")
ordering = ("nome",)
@admin.register(Pais)
class PaisAdmin(admin.ModelAdmin):
list_display = ("codigo", "nome")
search_fields = ("codigo", "nome")
ordering = ("nome",)
@admin.register(Municipio)
class MunicipioAdmin(admin.ModelAdmin):
list_display = ("codigo", "nome", "uf")
list_filter = ("uf",)
search_fields = ("codigo", "nome", "uf__nome")
autocomplete_fields = ("uf",)
ordering = ("nome",)
@admin.register(Curso)
class CursoAdmin(admin.ModelAdmin):
list_display = (
"id",
"codigo_mec",
"descricao",
"situacao_funcionamento_curso",
"licenciatura",
"ead",
"polo",
"carga_horaria_total",
)
list_filter = ("situacao_funcionamento_curso", "licenciatura", "ead")
search_fields = ("codigo_mec", "descricao", "situacao_funcionamento_curso", "polo__descricao")
autocomplete_fields = ("polo",)
ordering = ("descricao",)
@admin.register(FallbackCurso)
class FallbackCursoAdmin(admin.ModelAdmin):
list_display = ("id", "texto_api", "texto_local")
search_fields = ("texto_api", "texto_local")
ordering = ("texto_api",)
@admin.register(Instituicao)
class InstituicaoAdmin(admin.ModelAdmin):
list_display = ("codigo_inep", "nome")
search_fields = ("codigo_inep", "nome")
ordering = ("nome", "codigo_inep")
@admin.register(Polo)
class PoloAdmin(admin.ModelAdmin):
list_display = ("id", "codigo", "descricao")
search_fields = ("codigo", "descricao")
ordering = ("descricao", "codigo")
@admin.register(Pessoa)
class PessoaAdmin(admin.ModelAdmin):
list_display = (
"id",
"nome",
"cpf",
"data_nascimento",
"nacionalidade",
"pais_origem",
)
list_filter = ("cor_raca", "nacionalidade", "aluno_com_deficiencia")
search_fields = ("nome", "cpf", "id_aluno_inep")
autocomplete_fields = ("uf_nascimento", "municipio_nascimento", "pais_origem")
ordering = ("nome",)
@admin.register(Vinculo)
class VinculoAdmin(admin.ModelAdmin):
list_display = (
"id",
"pessoa",
"curso",
"ano_censo",
"periodo_referencia",
"situacao",
"semestre_ingresso",
)
list_filter = (
"ano_censo",
"periodo_referencia",
"situacao",
"turno",
"apoio_social",
"atividade_extracurricular",
"ingressou_acao_afirmativa",
)
search_fields = (
"pessoa__nome",
"pessoa__cpf",
"matricula",
"ano_censo",
"curso__codigo_mec",
"curso__descricao",
)
autocomplete_fields = (
"pessoa",
"curso",
"polo",
"curso_origem",
"mobilidade_ies_destino",
"mobilidade_pais_destino",
)
ordering = ("pessoa__nome", "curso__descricao")