diff --git a/requirements/requirements.txt b/requirements/requirements.txt
index dcc9e5b..f1bf7b5 100644
--- a/requirements/requirements.txt
+++ b/requirements/requirements.txt
@@ -30,5 +30,5 @@ django-localflavor==4.0
django-tinymce==4.1.0
django-weasyprint==2.4.0
djangorestframework==3.16.0
-djbs-theme @ git+https://github.com/interlegis/djbs-theme.git@1.0.0
+djbs-theme @ git+https://github.com/interlegis/djbs-theme.git@1.0.1
django-dashboard @ git+https://github.com/interlegis/django-dashboard.git
diff --git a/sigi/apps/casas/admin.py b/sigi/apps/casas/admin.py
index 523440f..07f3f2c 100644
--- a/sigi/apps/casas/admin.py
+++ b/sigi/apps/casas/admin.py
@@ -146,20 +146,15 @@ class ParlamentarInline(admin.TabularInline):
class FuncionarioInline(admin.StackedInline):
model = Funcionario
+ djbs_cols = "1"
fields = (
- "desativado",
+ ("desativado", "ult_alteracao"),
"setor",
"nome",
- "nota",
- "email",
- "sexo",
- "cpf",
- "identidade",
- "redes_sociais",
- "cargo",
- "funcao",
- "ult_alteracao",
- "observacoes",
+ ("cpf", "identidade", "sexo"),
+ ("nota", "email"),
+ ("cargo", "funcao"),
+ ("redes_sociais", "observacoes"),
)
readonly_fields = ["ult_alteracao"]
extra = 0
@@ -173,6 +168,46 @@ class FuncionarioInline(admin.StackedInline):
return qs.exclude(desativado=True)
+class ListaFuncionarioInline(admin.TabularInline):
+ model = Funcionario
+ fields = (
+ "get_setor",
+ "nome",
+ "nota",
+ "get_email_link",
+ "observacoes",
+ "ult_alteracao",
+ )
+ readonly_fields = fields
+ extra = 0
+ max_num = 0
+ show_change_link = True
+ can_delete = False
+ verbose_name_plural = _("Lista de contatos")
+ ordering = ["setor", "-ult_alteracao"]
+ djbs_hide_original = True
+
+ def get_queryset(self, request):
+ qs = super().get_queryset(request)
+ return qs.exclude(desativado=True)
+
+ @admin.display(description=_("setor"))
+ def get_setor(self, func):
+ if func.setor == "contato_interlegis":
+ return format_html(
+ "{setor}",
+ setor=func.get_setor_display(),
+ )
+ return func.get_setor_display()
+
+ @admin.display(description=_("e-mail"))
+ def get_email_link(self, func):
+ return format_html(
+ "{email}",
+ email=func.email,
+ )
+
+
class ConveniosInline(admin.TabularInline):
model = Convenio
fields = (
@@ -341,6 +376,7 @@ class OrgaoAdmin(AsciifyQParameter, ExportActionMixin, admin.ModelAdmin):
inlines = (
TelefonesInline,
ParlamentarInline,
+ ListaFuncionarioInline,
FuncionarioInline,
ConveniosInline,
ServicoInline,