mirror of https://github.com/interlegis/sapl.git
LeandroRoberto
9 years ago
10 changed files with 107 additions and 4 deletions
@ -0,0 +1,13 @@ |
|||
from django import template |
|||
from django.db.models import Q |
|||
|
|||
from compilacao.models import Dispositivo |
|||
|
|||
register = template.Library() |
|||
|
|||
|
|||
@register.filter |
|||
def get_bloco(pk): |
|||
return Dispositivo.objects.order_by('ordem_bloco_atualizador').filter( |
|||
Q(dispositivo_pai_id=pk) | |
|||
Q(dispositivo_atualizador=pk)).select_related() |
@ -0,0 +1,8 @@ |
|||
from django.conf.urls import url |
|||
|
|||
from compilacao import views |
|||
|
|||
urlpatterns = [ |
|||
url(r'^norma/(?P<norma_id>\d+)/compilacao/', |
|||
views.CompilacaoView.as_view(), name='compilacao'), |
|||
] |
@ -1 +1,27 @@ |
|||
# Create your views here. |
|||
from django.views.generic.list import ListView |
|||
|
|||
from compilacao.models import Dispositivo |
|||
from norma.models import NormaJuridica |
|||
|
|||
|
|||
class CompilacaoView(ListView): |
|||
model = Dispositivo |
|||
template_name = 'compilacao/index.html' |
|||
|
|||
flag_alteradora = None |
|||
|
|||
def get_queryset(self): |
|||
return Dispositivo.objects.filter( |
|||
ordem__gt=0, |
|||
norma_id=self.kwargs['norma_id']).select_related() |
|||
|
|||
def get_norma(self): |
|||
return NormaJuridica.objects.get( |
|||
pk=self.kwargs['norma_id']) |
|||
|
|||
def is_norma_alteradora(self): |
|||
if self.flag_alteradora is None: |
|||
self.flag_alteradora = NormaJuridica.objects.get( |
|||
pk=self.kwargs['norma_id'] |
|||
).dispositivos_alterados_set.count() > 1 |
|||
return self.flag_alteradora |
|||
|
@ -0,0 +1,7 @@ |
|||
|
|||
|
|||
.articulacao { |
|||
|
|||
background-color: rgba(100,100,100,0.3); |
|||
margin: 1em; |
|||
} |
@ -0,0 +1,46 @@ |
|||
{% extends "base.html" %} |
|||
{% load i18n %} |
|||
{% load compilacao_filters %} |
|||
|
|||
|
|||
{% block title%} |
|||
<h1>{{ view.get_norma }}</h1> |
|||
{% endblock %} |
|||
|
|||
{% block base_content %} |
|||
{% for dispositivo in view.get_queryset %} |
|||
{% if dispositivo.tipo_dispositivo.class_css == 'articulacao'%} |
|||
{%if not forloop.first%} |
|||
</div> |
|||
{% endif%} |
|||
<div class="articulacao"> |
|||
{% else %} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
<div class="{{ dispositivo.tipo_dispositivo.class_css }}"> |
|||
<b>{{ dispositivo.tipo_dispositivo.class_css }}</b> - {{ dispositivo.rotulo }} - {{ dispositivo.texto|safe }} |
|||
<br> |
|||
|
|||
{% if view.is_norma_alteradora %} |
|||
{% if dispositivo.tipo_dispositivo.class_css == 'bloco_alteracao'%} |
|||
{% for alterado in dispositivo.id|get_bloco %} |
|||
|
|||
<div class="{{ alterado.tipo_dispositivo.class_css }}"> |
|||
<b>{{ alterado.tipo_dispositivo.class_css }}</b> - {{ alterado.rotulo }} - {{ alterado.texto }} |
|||
<br> |
|||
</div> |
|||
|
|||
{% endfor %} |
|||
{% endif%} |
|||
{% endif%} |
|||
|
|||
</div> |
|||
{% endif%} |
|||
{%if forloop.last %} |
|||
</div> |
|||
{% endif%} |
|||
{% endfor %} |
|||
{% endblock base_content %} |
Loading…
Reference in new issue