From 912d3120adb17f61386c914be6c193ce20b9ff38 Mon Sep 17 00:00:00 2001 From: Lude Ribeiro Date: Wed, 15 Sep 2021 12:35:19 -0300 Subject: [PATCH 1/5] =?UTF-8?q?Adicionando=20bot=C3=A3o=20de=20edicao=20pa?= =?UTF-8?q?ra=20servicos=20no=20form=20de=20Casas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sigi/apps/casas/admin.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/sigi/apps/casas/admin.py b/sigi/apps/casas/admin.py index 1a925d5..2fe3928 100644 --- a/sigi/apps/casas/admin.py +++ b/sigi/apps/casas/admin.py @@ -217,10 +217,10 @@ class ServicoInline(admin.TabularInline): model = Servico fields = ('link_url', 'contato_tecnico', 'contato_administrativo', 'hospedagem_interlegis', 'data_ativacao', 'data_alteracao', - 'data_desativacao') + 'data_desativacao', 'link_servico') readonly_fields = ['link_url', 'contato_tecnico', 'contato_administrativo', 'hospedagem_interlegis', 'data_ativacao', - 'data_alteracao', 'data_desativacao'] + 'data_alteracao', 'data_desativacao', 'link_servico'] extra = 0 max_num = 0 can_delete = False @@ -234,6 +234,22 @@ class ServicoInline(admin.TabularInline): ordering = ('-data_alteracao',) + def link_servico(self, obj): + if obj.pk is None: + return "" + url = reverse('admin:%s_%s_change' % (obj._meta.app_label, obj._meta.module_name), args=[obj.pk]) + url = url + '?_popup=1' + return """ + + Editar + """ % (obj.pk, obj.pk, url) + + link_servico.short_description = _(u'Editar Serviço') + link_servico.allow_tags = True + + def has_add_permission(self, request): + return False + # class PlanoDiretorInline(admin.TabularInline): # model = PlanoDiretor From 0c56c9ad55cb7f3df8a0b2f6b215243e53a5ef6e Mon Sep 17 00:00:00 2001 From: Lude Ribeiro Date: Wed, 15 Sep 2021 12:36:13 -0300 Subject: [PATCH 2/5] Alterando a ordem dos Contatos no form de Servicos --- sigi/apps/servicos/admin.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sigi/apps/servicos/admin.py b/sigi/apps/servicos/admin.py index 8826b7b..3fb2d4c 100644 --- a/sigi/apps/servicos/admin.py +++ b/sigi/apps/servicos/admin.py @@ -226,6 +226,13 @@ class ContatosInline(FuncionariosInline): def get_queryset(self, request): return self.model.objects.all() + def get_queryset(self, request): + return (self.model.objects.exclude(desativado=True) + .extra(select={'ult_null': 'ult_alteracao is null'}) + .order_by('ult_null', '-ult_alteracao') + # A função extra foi usada para quando existir um registro com o campo igual a null não aparecer na frente dos mais novos + ) + class CasaAtendidaAdmin(BaseModelAdmin): actions = None list_display = ('codigo_interlegis', 'nome', 'get_servicos',) From 7fa37d9d0d1d9191eb30e40213bee75bf73d7492 Mon Sep 17 00:00:00 2001 From: Lude Ribeiro Date: Fri, 15 Oct 2021 10:06:24 -0300 Subject: [PATCH 3/5] Acionando filtro de exclusao de convenios --- sigi/apps/casas/admin.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sigi/apps/casas/admin.py b/sigi/apps/casas/admin.py index 2fe3928..48615f0 100644 --- a/sigi/apps/casas/admin.py +++ b/sigi/apps/casas/admin.py @@ -291,7 +291,7 @@ class ConvenioFilter(admin.SimpleListFilter): def lookups(self, request, model_admin): return ( ('SC', _(u"Sem nenhum convênio")), - ('CC', _(u"Com algum convênio")) + ('CC', _(u"Com algum convênio")), ) + tuple([(p.pk, p.sigla) for p in Projeto.objects.all()]) def queryset(self, request, queryset): @@ -305,6 +305,16 @@ class ConvenioFilter(admin.SimpleListFilter): return queryset.distinct('municipio__uf__nome', 'nome') +class ExcluirConvenioFilter(admin.SimpleListFilter): + title=_(u"Excluir convênio da pesquisa") + parameter_name = 'convenio_excluir' + + def lookups(self, request, model_admin): + return tuple([(p.pk, p.sigla) for p in Projeto.objects.all()]) + + def queryset(self, request, queryset): + queryset = queryset.exclude(convenio__projeto_id=self.value()) + return queryset.distinct('municipio__uf__nome', 'nome') class ServicoFilter(admin.SimpleListFilter): title = _(u"Serviço") @@ -350,7 +360,7 @@ class OrgaoAdmin(ImageCroppingMixin, BaseModelAdmin): 'get_servicos') list_display_links = ('sigla', 'nome',) list_filter = ('tipo', ('gerentes_interlegis', GerentesInterlegisFilter), - 'municipio__uf__nome', ConvenioFilter, ServicoFilter, + 'municipio__uf__nome', ConvenioFilter, ExcluirConvenioFilter, ServicoFilter, 'inclusao_digital',) ordering = ('municipio__uf__nome', 'nome') queryset = queryset_ascii From d99e98c1b24fe0974ac73009604e5d0f51ec3472 Mon Sep 17 00:00:00 2001 From: Lude Ribeiro Date: Fri, 15 Oct 2021 12:00:55 -0300 Subject: [PATCH 4/5] Fix #75 --- sigi/apps/casas/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sigi/apps/casas/admin.py b/sigi/apps/casas/admin.py index 48615f0..19b67f8 100644 --- a/sigi/apps/casas/admin.py +++ b/sigi/apps/casas/admin.py @@ -307,7 +307,7 @@ class ConvenioFilter(admin.SimpleListFilter): class ExcluirConvenioFilter(admin.SimpleListFilter): title=_(u"Excluir convênio da pesquisa") - parameter_name = 'convenio_excluir' + parameter_name = 'excluir_convenio' def lookups(self, request, model_admin): return tuple([(p.pk, p.sigla) for p in Projeto.objects.all()]) From 9ff7f420bdd172827939773f127ee746bfc04c1a Mon Sep 17 00:00:00 2001 From: Lude Ribeiro Date: Wed, 20 Oct 2021 11:14:36 -0300 Subject: [PATCH 5/5] Atualizando campo Processo no Senado no form de Casas e Orgaos --- sigi/apps/convenios/models.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sigi/apps/convenios/models.py b/sigi/apps/convenios/models.py index 84e683d..b8e35ac 100644 --- a/sigi/apps/convenios/models.py +++ b/sigi/apps/convenios/models.py @@ -249,18 +249,18 @@ class Convenio(models.Model): if ((self.data_retorno_assinatura is None) and (self.equipada and self.data_termo_aceite is not None)): - return _(u"Convênio nº {number} - equipada em {date} pelo {project}" + return _(u"{project} nº {number} - equipada em {date}" ).format(number=self.num_convenio, date=self.data_termo_aceite.strftime('%d/%m/%Y'), project=self.projeto.sigla) elif self.data_retorno_assinatura is None: - return _(u"Convênio nº {number} - adesão ao projeto {project}, " + return _(u"{project}, nº {number}, início " u"em {date}").format(number=self.num_convenio, project=self.projeto.sigla, date=self.data_adesao) if ((self.data_retorno_assinatura is not None) and not (self.equipada and self.data_termo_aceite is not None)): - return _(u"Convênio nº {number} - conveniada ao {project} em " + return _(u"{project}, nº {number}, inicio em " u"{date}. Status: {status}").format( number=self.num_convenio, project=self.projeto.sigla, @@ -268,7 +268,7 @@ class Convenio(models.Model): status=self.get_status()) if ((self.data_retorno_assinatura is not None) and (self.equipada and self.data_termo_aceite is not None)): - return _(u"Convẽnio nº {number} - conveniada ao {project} em {date}" + return _(u"{project}, nº {number}, início em {date}" u" e equipada em {equipped_date}. Status: {status}" ).format(number=self.num_convenio, project=self.projeto.sigla,