= tinymce_assets = tinymce = javascript_include_tag "bomcobox" .alert.alert-warning[role="alert" id="alert-content" style="display: none;"] span#alert-message - @documento_da_liquidacao.new_record? ? action = :create : action = :update = form_for( @documento_da_liquidacao, url: url_for(controller: 'contabilidade/documentos_da_liquidacao', action: action), html: { class: "form-vertical", 'data-blockui-message': "Aguarde..." }, role: "form" ) do |f| fieldset legend strong = @documento_da_liquidacao.new_record? ? 'Cadastrar' : 'Editar' .form-group .row .col-sm-3 = f.label :data, "Data do Documento", class: "control-label" .input-group = f.text_field :data_do_documento, placeholder: '00/00/0000', id:'data_do_documento', class: "form-control date-picker", autocomplete: "off", data: { ano: Date.today.year } span.input-group-addon span.icone-calendario = error_for @documento_da_liquidacao, :data_do_documento - if @documento_da_liquidacao.persisted? .col-sm-3 = f.label :tipo_de_documento, "Tipo do Documento", class: "control-label" p.form-control-static = @documento_da_liquidacao.localizar(:tipo_de_documento).try(:upcase) .col-sm-3 = f.label :modelo_do_documento, "Modelo do Documento", class: "control-label" p.form-control-static = @documento_da_liquidacao.try(:modelo_do_documento).try(:titulo).try(:upcase) - else .col-sm-3 = f.label "Tipo de Documento*", class: "control-label" = f.select :tipo_de_documento, options_for_select( \ @tipos_dos_documentos.collect { |t| [ Contabilidade::DocumentoDaLiquidacao.localizar("tipo_de_documento", t[0]), t[0] ] }, @documento_da_liquidacao.try(:tipo_de_documento) \ ), { include_blank: 'Selecione' }, class: 'form-control s2', id: 'tipo_de_documento', data: { value: @documento_da_liquidacao.try(:tipo_de_documento) } = error_for @documento_da_liquidacao, :tipo_de_documento .col-sm-3 = f.label "Lei*", class: "control-label" = f.select :lei, options_for_select(\ @leis.collect {|t|[ Licitacao::ModeloDeDocumento.localizar("lei", t[0]), t[0] ] }, @documento_da_liquidacao.try(:lei)\ ), {include_blank: 'Selecione'}, class: 'form-control s2', id: 'lei', data: { value: @documento_da_liquidacao.try(:lei) } = error_for @documento_da_liquidacao, :lei .col-sm-3 = f.label :modelo_do_documento_id, "Modelos", class: "control-label" = f.select :modelo_do_documento_id, options_for_select([['Selecione', '']], @documento_da_liquidacao.try(:modelo_do_documento_id)), {}, class: "form-control", id: "modelo_de_documento_id", data: { value: @documento_da_liquidacao.try(:modelo_do_documento_id) } = error_for @documento_da_liquidacao, :modelo_do_documento_id span.help-block ' Digite para buscar modelos rapidamente. .form-group .row .col-sm-12 = f.label :titulo_personalizado, "Título Personalizado*", class: "control-label" = f.text_field :titulo_personalizado, class: "form-control" = error_for @documento_da_liquidacao, :titulo_personalizado .form-group .row .col-sm-12 = f.hidden_field :liquidacao_id, value: @documento_da_liquidacao.liquidacao_id, id: 'liquidacao_id' = f.label :texto, "Texto", class: "control-label" = f.text_area :texto, class: "form-control tinymce", rows: 30, cols: 120, id: 'texto-documento' = error_for @documento_da_liquidacao, :texto .form-group h6 ' (*) Campos Obrigatórios .form-actions .row .col-sm-12 = f.submit "Salvar", class: "btn btn-primary" - if contabilidade_atual.present? = link_to "Cancelar", contabilidade_liquidacao_path(@documento_da_liquidacao.liquidacao), class: "btn btn-default" - else = link_to "Cancelar", administrativo_liquidacao_path(@documento_da_liquidacao.liquidacao), class: "btn btn-default" - content_for :js do javascript: var liquidacaoId = $('#liquidacao_id'); // Initialize Select2 with AJAX search for document models function initializeModeloSelect() { $('#modelo_de_documento_id').select2({ placeholder: "Digite para buscar...", allowClear: true, minimumInputLength: 0, ajax: { url: root_url + 'contabilidade/documentos_da_liquidacao/' + liquidacaoId.val() + '/modelos', dataType: 'json', delay: 300, data: function (params) { return { search: params.term || '', lei: $('#lei').val() }; }, processResults: function (data) { return { results: data.map(function(item) { return { id: item.id, text: item.titulo }; }) }; }, cache: false }, escapeMarkup: function (markup) { return markup; }, templateResult: function(item) { return item.text; }, templateSelection: function(item) { return item.text; } }); } // Clear and reinitialize select when filters change function resetModeloSelect() { $('#modelo_de_documento_id').val(null).trigger('change'); $('#modelo_de_documento_id').select2('destroy'); initializeModeloSelect(); } $('#tipo_de_documento').change(function() { resetModeloSelect(); }); $('#lei').change(function() { resetModeloSelect(); }); // Initialize on page load $(document).ready(function() { initializeModeloSelect(); }); $('#modelo_de_documento_id').change(function() { if ($(this).val()) { var liquidacaoIdVal = liquidacaoId.val(); var modeloId = $(this).val(); $.ajax({ url: root_url + '/contabilidade/documentos_da_liquidacao/' + liquidacaoIdVal + '/retorna_modelo/' + modeloId, data: { data_do_documento: $('#data_do_documento').val() }, type: 'get', success: function() {}, }); } });