diff --git a/sapl/painel/urls.py b/sapl/painel/urls.py index c0d6800e5..062839338 100644 --- a/sapl/painel/urls.py +++ b/sapl/painel/urls.py @@ -4,7 +4,7 @@ from .apps import AppConfig from .views import (cronometro_painel, get_dados_painel, painel_mensagem_view, painel_parlamentar_view, painel_view, painel_votacao_view, switch_painel, verifica_painel, votante_view, CronometroPainelCrud, - PainelConfigCrud) + PainelConfigCrud,ordena_cronometro) app_name = AppConfig.name @@ -23,6 +23,7 @@ urlpatterns = [ url(r'^painel/cronometro$', cronometro_painel, name='cronometro_painel'), url(r'^sistema/cronometro/', include(CronometroPainelCrud.get_urls())), + url(r'^sistema/ordena_cronometro/', ordena_cronometro, name='ordena_cronometro'), url(r'^sistema/painel-config/', include(PainelConfigCrud.get_urls())), url(r'^voto-individual/$', votante_view, diff --git a/sapl/painel/views.py b/sapl/painel/views.py index 50da0563b..dbcf03444 100644 --- a/sapl/painel/views.py +++ b/sapl/painel/views.py @@ -32,9 +32,19 @@ VOTACAO_NOMINAL = 2 class CronometroPainelCrud(CrudAux): model = Cronometro + class ListView(CrudAux.ListView): + template_name = "painel/lista_cronometros.html" + class BaseMixin(CrudAux.BaseMixin): form_class = CronometroForm +def ordena_cronometro(request): + ordem = request.POST.getlist("ordem", []) + for index, o in enumerate(ordem): + c = Cronometro.objects.get(id=o) + c.ordenacao = index + 1 + c.save() + return JsonResponse({'r':ordem}) class PainelConfigCrud(CrudAux): model = PainelConfig @@ -685,3 +695,4 @@ def get_dados_painel(request, pk): # Retorna que não há nenhuma matéria já votada ou aberta return response_nenhuma_materia(get_presentes(pk, response, None)) + diff --git a/sapl/templates/painel/lista_cronometros.html b/sapl/templates/painel/lista_cronometros.html new file mode 100644 index 000000000..c3cb70dce --- /dev/null +++ b/sapl/templates/painel/lista_cronometros.html @@ -0,0 +1,98 @@ +{% extends "crud/list.html" %} +{% load i18n %} +{% load i18n common_tags crispy_forms_tags%} + +{% block container_table_list %} + {% if not rows %} +
{{ NO_ENTRIES_MSG }}
+ {% else %} +| + {% if view.ordered_list %} + + {{ name }} + {% if 'o' in request.GET or not view.ordering %} + {% if 'o' not in request.GET and forloop.counter == 1 or 'o' in request.GET and forloop.counter|safe == request.GET.o %} + + {% elif 'o' in request.GET and forloop.counter == request.GET.o|str2intabs %} + + {%endif%} + {%endif%} + + {% else %} + {{ name }} + {% endif %} + | + {% endfor %} +|||
|---|---|---|---|
| + {{o}} + | ++ {{o.duracao_cronometro}} + | ++ {% if o.ativo %}Sim{% else %}Não{% endif %} + | +
+ |
+