From a83973ad3265fc76d1e716ea2b9341fb3656fb6e Mon Sep 17 00:00:00 2001 From: Felipe Vieira Date: Mon, 28 Nov 2011 20:48:15 +0000 Subject: [PATCH] melhorando ordenacao de categorias e pergunta no admin --- sigi/apps/diagnosticos/admin.py | 21 +++++---------------- sigi/apps/diagnosticos/models.py | 6 ++++++ 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/sigi/apps/diagnosticos/admin.py b/sigi/apps/diagnosticos/admin.py index 22deedf..2f56d3a 100644 --- a/sigi/apps/diagnosticos/admin.py +++ b/sigi/apps/diagnosticos/admin.py @@ -40,24 +40,13 @@ class DiagnosticoAdmin(BaseEntityAdmin): (u'01. Identificação da Casa Legislativa', {'fields': ('casa_legislativa',)}), (u'02. Identificação de Competências da Casa Legislativa', {'fields': ()}) ] - # separa as perguntas (title e name) dentro das categorias existente para ordenar - dict_categoria = {} - for pergunta in Pergunta.objects.all(): - if pergunta.categoria: - categoria = pergunta.categoria.nome - else: - categoria = None - if categoria in dict_categoria.keys(): - dict_categoria[categoria].append((pergunta.title.strip(), pergunta.name)) - else: - dict_categoria[categoria] = [(pergunta.title.strip(), pergunta.name)] - - # popula o eav fieldset ordenando as categorias e as perguntas - # para ser exibido no admin - for categoria in sorted(dict_categoria.keys()): + # popula o eav fieldsets ordenando as categorias e as perguntas + # para serem exibidas no admin + for categoria in Categoria.objects.all(): # ordena as perguntas pelo title e utiliza o name no fieldset - perguntas = [pergunta[1] for pergunta in sorted(dict_categoria[categoria])] + perguntas_by_title = [(p.title, p.name) for p in categoria.perguntas.all()] + perguntas = [pergunta[1] for pergunta in sorted(perguntas_by_title)] eav_fieldsets.append((categoria, { 'fields': tuple(perguntas), diff --git a/sigi/apps/diagnosticos/models.py b/sigi/apps/diagnosticos/models.py index 975bcb2..311773f 100644 --- a/sigi/apps/diagnosticos/models.py +++ b/sigi/apps/diagnosticos/models.py @@ -52,6 +52,9 @@ class Categoria(models.Model): """ nome = models.CharField(max_length=255) + class Meta: + ordering = ('nome',) + def __unicode__(self): return self.nome @@ -97,6 +100,9 @@ class Equipe(models.Model): diagnostico = models.ForeignKey(Diagnostico) membro = models.ForeignKey('servidores.Servidor') + class Meta: + verbose_name, verbose_name_plural = 'equipe', 'equipe' + def __unicode__(self): return str(self.membro)