@ -4,15 +4,44 @@ from eav.admin import BaseEntityAdmin, BaseSchemaAdmin
from sigi . apps . diagnosticos . models import Diagnostico , Pergunta , Escolha , Equipe , Anexo , Categoria
from sigi . apps . diagnosticos . forms import DiagnosticoForm
"""
Actions do Admin
"""
# Ação de alterar o status das publicações no modo Draft para Publicado.
def alterar_status_publicacao ( self , request , queryset ) :
for registro in queryset :
diagnostico = Diagnostico . objects . get ( pk = registro . id )
diagnostico . status = True
diagnostico . save ( )
# Enviando o email avisando que o diagnóstico foi publicado
diagnostico . email_diagnostico_publicado ( diagnostico . responsavel . email_pessoal , request . get_host ( ) )
self . message_user ( request , " Diagnóstico(s) publicado(s) com sucesso! " )
alterar_status_publicacao . short_description = u """
Definir diagnósticos como publicado """
# Ação de alterar o status das publicações no modo Publicado para Draft.
def alterar_status_draft ( self , request , queryset ) :
queryset . update ( status = False )
alterar_status_draft . short_description = u """
Definir diagnósticos como não publicado """
class EquipeInline ( admin . TabularInline ) :
model = Equipe
extra = 4
class AnexosInline ( admin . TabularInline ) :
model = Anexo
extra = 2
exclude = [ ' data_pub ' , ]
class AnexoAdmin ( admin . ModelAdmin ) :
date_hierarchy = ' data_pub '
exclude = [ ' data_pub ' , ]
@ -22,17 +51,12 @@ class AnexoAdmin(admin.ModelAdmin):
' diagnostico__casa_legislativa__nome ' )
# Ação de alterar o status das publicações no modo Draft.
def alterar_status_publicacao ( modeladmin , request , queryset ) :
queryset . update ( status = True )
alterar_status_publicacao . short_description = u """
Publicar diagnósticos selecionados """
class DiagnosticoAdmin ( BaseEntityAdmin ) :
form = DiagnosticoForm
date_hierarchy = ' data_questionario '
actions = [ alterar_status_publicacao ]
actions = [ alterar_status_publicacao , alterar_status_draft ]
inlines = ( EquipeInline , AnexosInline )
list_display = ( ' casa_legislativa ' , ' data_questionario ' , ' status ' )
raw_id_fields = ( ' casa_legislativa ' , ' responsavel ' )
eav_fieldsets = [
@ -59,6 +83,7 @@ class PerguntaAdmin (BaseSchemaAdmin):
list_display = ( ' title ' , ' categoria ' , ' datatype ' , ' help_text ' , ' required ' )
list_filter = ( ' datatype ' , ' categoria ' , ' required ' )
class EscolhaAdmin ( admin . ModelAdmin ) :
search_fields = ( ' title ' , )
list_display = ( ' title ' , ' schema ' , ' schema_to_open ' )