diff --git a/sigi/apps/metas/templatetags/__init__.py b/sigi/apps/metas/templatetags/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/sigi/apps/metas/templatetags/mapa_tags.py b/sigi/apps/metas/templatetags/mapa_tags.py
new file mode 100644
index 0000000..4ffa38c
--- /dev/null
+++ b/sigi/apps/metas/templatetags/mapa_tags.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+
+from django import template
+from django.utils.safestring import mark_safe
+from sigi.apps.casas.models import CasaLegislativa
+
+register = template.Library()
+
+@register.filter(name='map_desc_serv')
+def descricao_servicos(value):
+ if not isinstance(value, CasaLegislativa):
+ return ""
+
+ result = ""
+
+ for sv in value.servico_set.all():
+ result += u'
%s ativado em %s' % (sv.tipo_servico.nome, sv.data_ativacao.strftime('%d/%m/%Y'))
+
+ for cv in value.convenio_set.all():
+ if (cv.data_retorno_assinatura is None) and (cv.equipada and cv.data_termo_aceite is not None):
+ result += u"Equipada em %s pelo %s" % (cv.data_termo_aceite.strftime('%d/%m/%Y'), cv.projeto.sigla)
+ if (cv.data_retorno_assinatura is not None) and not (cv.equipada and cv.data_termo_aceite is not None):
+ result += u"Conveniada ao %s em %s" % (cv.projeto.sigla, cv.data_retorno_assinatura.strftime('%d/%m/%Y'))
+ if (cv.data_retorno_assinatura is not None) and (cv.equipada and cv.data_termo_aceite is not None):
+ result += u"Conveniada ao %s em %s e equipada em %s" % (cv.projeto.sigla, cv.data_retorno_assinatura.strftime('%d/%m/%Y'), cv.data_termo_aceite.strftime('%d/%m/%Y'))
+
+ for dg in value.diagnostico_set.all():
+ result += u'Diagnosticada no perĂodo de %s a %s' % (dg.data_visita_inicio.strftime('%d/%m/%Y'), dg.data_visita_fim.strftime('%d/%m/%Y'))
+
+ return mark_safe(result)
+descricao_servicos.is_safe = True
+
\ No newline at end of file