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