Browse Source

Fix #3182 - Adicionar várias matérias

pull/3224/head
João Rodrigues 5 years ago
committed by João Rodrigues
parent
commit
2cc5c89375
  1. 4
      sapl/sessao/views.py
  2. 67
      sapl/templates/sessao/adicionar_varias_materias_expediente.html

4
sapl/sessao/views.py

@ -3775,6 +3775,7 @@ class AdicionarVariasMateriasExpediente(PermissionRequiredForAppCrudMixin,
filterset_class = AdicionarVariasMateriasFilterSet filterset_class = AdicionarVariasMateriasFilterSet
template_name = 'sessao/adicionar_varias_materias_expediente.html' template_name = 'sessao/adicionar_varias_materias_expediente.html'
app_label = AppConfig.label app_label = AppConfig.label
tipo_materia_sessao = "expediente"
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -3815,6 +3816,8 @@ class AdicionarVariasMateriasExpediente(PermissionRequiredForAppCrudMixin,
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
context['pk_sessao'] = self.kwargs['pk'] context['pk_sessao'] = self.kwargs['pk']
context["tipo_materia_sessao"] = self.tipo_materia_sessao
return context return context
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
@ -3866,6 +3869,7 @@ class AdicionarVariasMateriasExpediente(PermissionRequiredForAppCrudMixin,
class AdicionarVariasMateriasOrdemDia(AdicionarVariasMateriasExpediente): class AdicionarVariasMateriasOrdemDia(AdicionarVariasMateriasExpediente):
filterset_class = AdicionarVariasMateriasFilterSet filterset_class = AdicionarVariasMateriasFilterSet
template_name = 'sessao/adicionar_varias_materias_ordem.html' template_name = 'sessao/adicionar_varias_materias_ordem.html'
tipo_materia_sessao = "ordem"
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

67
sapl/templates/sessao/adicionar_varias_materias_expediente.html

@ -4,19 +4,16 @@
{% block actions %}{% endblock %} {% block actions %}{% endblock %}
{% block detail_content %} {% block detail_content %}
{% block buttons %}
{% block buttons %}
{% if filter_url and not filter.form.errors %} {% if filter_url and not filter.form.errors %}
<div class="actions btn-group float-right" role="group"> <div class="actions btn-group float-right" role="group">
<a href="{% url 'sapl.sessao:adicionar_varias_materias_expediente' pk_sessao %}" class="btn btn-outline-primary">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.sessao:adicionar_varias_materias_expediente' pk_sessao %}" class="btn btn-outline-primary">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
<div class="actions btn-group float-right" role="group"> <div class="actions btn-group float-right" role="group">
<a href="{% url 'sapl.sessao:expedientemateria_list' pk_sessao %}" class="btn btn-outline-primary">{% trans 'Matérias do Expediente' %}</a> <a href="{% url 'sapl.sessao:expedientemateria_list' pk_sessao %}" class="btn btn-outline-primary">{% trans 'Matérias do Expediente' %}</a>
</div> </div>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% if filter.form.errors %} {% if filter.form.errors %}
@ -29,23 +26,18 @@
<p></p> <p></p>
{% if filter_url and not filter.form.errors %} {% if filter_url and not filter.form.errors %}
{% if paginator.count %} {% if paginator.count %}
<form method="POST" enctype="application/x-www-form-urlencoded"> <form method="POST" enctype="application/x-www-form-urlencoded">
{% csrf_token %} {% csrf_token %}
<table class="table table-striped table-bordered"> <table class="table table-striped table-bordered">
<thead class="thead-default"> <thead class="thead-default">
<tr> <tr><td><h3>{% trans "Matérias" %}</h3></td><td><h3>{% trans "Tipo de Votação" %}</h3></td></tr>
<td><h3>{% trans "Matérias" %}</h3></td>
<td><h3>{% trans "Tipo de Votação" %}</h3></td>
</tr>
</thead> </thead>
{% if paginator.count > 1 %} {% if paginator.count > 1 %}
<h3>{% blocktrans with paginator.count as total_materias %}Pesquisa concluída com sucesso! Foram encontradas {{ total_materias }} matérias.{% endblocktrans %}</h3> <h3>{% blocktrans with paginator.count as total_materias %}Pesquisa concluída com sucesso! Foram encontradas {{ total_materias }} matérias.{% endblocktrans %}</h3>
{% elif paginator.count == 1 %} {% elif paginator.count == 1 %}
<h3>{% trans 'Pesquisa concluída com sucesso! Foi encontrada 1 matéria.'%}</h3> <h3>{% trans 'Pesquisa concluída com sucesso! Foi encontrada 1 matéria.'%}</h3>
{% endif %} {% endif %}
{% for m in page_obj %} {% for m in page_obj %}
<tr> <tr>
<td> <td>
@ -81,25 +73,58 @@
<input type="submit" value="Adicionar matérias selecionadas" class="btn btn-primary"S> <input type="submit" value="Adicionar matérias selecionadas" class="btn btn-primary"S>
</form> </form>
{% else %} {% else %}
<table class="table table-striped table-bordered"> <table class="table table-striped table-bordered"><tr><td><h3>Nenhuma matéria encontrada com essas especificações</h3></td></tr></table>
<tr>
<td>
<h3>Nenhuma matéria encontrada com essas especificações</h3>
</td>
</tr>
</table>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% endblock detail_content %} {% endblock detail_content %}
{% block extra_js %} {% block extra_js %}
<script> <script>
var modal_estilos = 'display: block; width: 85%; max-width: 600px; background: #fff; padding: 15px; border-radius: 5px;'
+'-webkit-box-shadow: 0px 6px 14px -2px rgba(0, 0, 0, 0.75); -moz-box-shadow: 0px 6px 14px -2px rgba(0, 0, 0, 0.75);'
+'box-shadow: 0px 6px 14px -2px rgba(0, 0, 0, 0.75); position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);'
+'z-index: 99999999; text-align: center';
$(window).on('beforeunload', function () { var fundo_modal_estilos = 'top: 0; right: 0; bottom: 0; left: 0; position: fixed; background-color: rgba(0, 0, 0, 0.6);'
$("input[type=submit], input[type=button]").prop("disabled", "disabled"); +'z-index: 99999999; display: none;';
var modal = '<div id="fundo_modal" style="'+fundo_modal_estilos+'">'
+'<div id="modal" style="'+modal_estilos+'">'
+'<h2>Atenção!</h2><br/>'
+'<h3>A matéria selecionada já foi adicionada na sessão. Essa matéria será duplicada.</h3><br/>'
+'<button id="close_model_btn" type="button" class="btn btn-warning mb-2" data-dimiss="model">'
+'Compreendo e quero continuar'
+'</button>'
+'</div>'
+'</div>';
$(document).ready( function() {
$("body").append(modal)
$('input[name=materia_id]').change( function() {
if ($(this).is(':checked')){
// Define se a matéria é do expediente ou da ordem do dia
let tipo_materia_sessao = "{{ tipo_materia_sessao }}"
let id_materia = $(this).val()
let pk_sessao_plenaria = "{{ root_pk }}"
$.get("{% url 'sapl.sessao:verifica_materia_sessao_plenaria_ajax_view' %}",
{ id_materia_selecionada: id_materia, tipo_materia_sessao: tipo_materia_sessao, pk_sessao_plenaria: pk_sessao_plenaria },
function(data) {
let is_materia_presente = data['is_materia_presente']
if (is_materia_presente){
$('#fundo_modal').fadeIn()
}
});
}
});
$("#fundo_modal, #close_model_btn").click( function() { $("#fundo_modal").hide() });
$("#modal").click( function(e) { e.stopPropagation() });
}); });
$(window).on('beforeunload', function() {
$("input[type=submit], input[type=button]").prop("disabled", "disabled")
});
</script> </script>
{% endblock extra_js %} {% endblock extra_js %}

Loading…
Cancel
Save