Browse Source

Impl. permissão duplicação mat sessao

pull/3205/head
João Rodrigues 5 years ago
parent
commit
213cb037be
  1. 8
      sapl/sessao/forms.py
  2. 137
      sapl/templates/sessao/expedientemateria_form.html

8
sapl/sessao/forms.py

@ -349,14 +349,6 @@ class ExpedienteMateriaForm(ModelForm):
else: else:
cleaned_data['materia'] = materia cleaned_data['materia'] = materia
exists = self._model.objects.filter(
sessao_plenaria=sessao,
materia=materia).exists()
if exists and not self.instance.pk:
msg = _('Essa matéria já foi cadastrada.')
raise ValidationError(msg)
return cleaned_data return cleaned_data
def save(self, commit=False): def save(self, commit=False):

137
sapl/templates/sessao/expedientemateria_form.html

@ -4,54 +4,101 @@
{% load common_tags %} {% load common_tags %}
{% block extra_js %} {% block extra_js %}
<script language="Javascript">
// document.getElementById("id_observacao").readOnly = true;
<script language="Javascript"> function recuperar_materia() {
//document.getElementById("id_observacao").readOnly = true; var tipo_materia = $("#id_tipo_materia").val()
var numero_materia = $("#id_numero_materia").val()
function recuperar_materia() { var ano_materia = $("#id_ano_materia").val()
var tipo_materia = $("#id_tipo_materia").val()
var numero_materia = $("#id_numero_materia").val() if (tipo_materia && numero_materia && ano_materia){
var ano_materia = $("#id_ano_materia").val() $.get("/sessao/recuperar-materia",
{ tipo_materia: tipo_materia, numero_materia: numero_materia, ano_materia: ano_materia },
if (tipo_materia && numero_materia && ano_materia) { function(data, status) {
$.get("/sessao/recuperar-materia", { if ($(".ementa-materia").length === 0){
tipo_materia: tipo_materia, $("#div_id_tipo_materia").closest('.row').after(
numero_materia: numero_materia, $('<div class="row"/>'
ano_materia: ano_materia ).append(
}, $('<div class="col-xs-12"/>'
function(data, status) { ).append(
if ($(".ementa-materia").length === 0) { $('<div class="alert alert-info ementa-materia"/>'
$("#div_id_tipo_materia").closest('.row').after( ).html(data.ementa))))
$('<div class="row"/>').append( } else {
$('<div class="col-xs-12"/>').append( $('.ementa-materia').html(data.ementa)
$('<div class="alert alert-info ementa-materia"/>').html(data.ementa)))) }
}
else { let id_materia = data.id;
$('.ementa-materia').html(data.ementa) if (id_materia){
} $.get("{% url 'sapl.sessao:materias_sessao_plenaria_ajax_view' %}",
{ url_atual: window.location.href },
function(data) {
lista_materias = data['materias'];
if (lista_materias.indexOf(id_materia) > (-1)){
$('#fundo_modal').fadeIn();
}
});
}
}); });
}
}
var fields = ["#id_tipo_materia", "#id_numero_materia", "#id_ano_materia"];
for (i = 0; i < fields.length; i++) {
$(fields[i]).change(recuperar_materia);
}
recuperar_materia();
$(document).ready(function(){
$("select[name='tipo_votacao']").children("option[value='4']").remove();
$('#id_apenas_leitura').change(function(event){
$('#div_id_tipo_votacao').toggle();
if($('#id_apenas_leitura').prop('checked')){
$("select[name='tipo_votacao']").append(new Option('Leitura', '4'));
$("select[name='tipo_votacao']").val('4');
} }
else{ }
var fields = ["#id_tipo_materia", "#id_numero_materia", "#id_ano_materia"];
for (i = 0; i < fields.length; i++) {
$(fields[i]).change(recuperar_materia);
}
recuperar_materia();
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';
var fundo_modal_estilos = 'top: 0; right: 0; bottom: 0; left: 0; position: fixed;'
+'background-color: rgba(0, 0, 0, 0.6); 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);
$("select[name='tipo_votacao']").children("option[value='4']").remove(); $("select[name='tipo_votacao']").children("option[value='4']").remove();
$("select[name='tipo_votacao']").val('1'); $('#id_apenas_leitura').change( function(event) {
} $('#div_id_tipo_votacao').toggle();
}) if($('#id_apenas_leitura').prop('checked')){
}); $("select[name='tipo_votacao']").append(new Option('Leitura', '4'));
</script> $("select[name='tipo_votacao']").val('4');
} else {
$("select[name='tipo_votacao']").children("option[value='4']").remove();
$("select[name='tipo_votacao']").val('1');
}
});
$("#fundo_modal, #close_model_btn").click( function() { $("#fundo_modal").hide(); });
$("#modal").click( function(e) { e.stopPropagation(); });
});
</script>
{% endblock %} {% endblock %}

Loading…
Cancel
Save