src/ApplicationBundle/Resources/views/modals/input_forms/print_options_modal.html.twig line 1

Open in your IDE?
  1. <div class="modal fade" id="printOptionsModal" tabindex="-1" role="dialog">
  2.     <div class="modal-dialog modal-sm" role="document">
  3.         <div class="modal-content">
  4.             <div class="modal-header">
  5.                 <h4 class="modal-title" id="printOptionsModalTitle">Please Select Action</h4>
  6.             </div>
  7.             <div class="modal-body">
  8.                 <div class="row">
  9.                     <div class="col-sm-12 col-md-6">
  10.                         <div class="demo-radio-button printOptionsModalThemeIdCont" style="display:none">
  11.                             <h6>Theme</h6>
  12.                             {#<input name="printType" value="print_office_copy" type="radio" id="radio_7" class="radio-col-red with-gap" checked/>#}
  13.                             {#<label for="radio_7">Office Copy</label>#}
  14.                             {#<input name="printType" value="print_party_copy" type="radio" id="radio_8" class="radio-col-pink with-gap"/>#}
  15.                             {#<label for="radio_8">Party Copy</label>#}
  16.                             {#<input name="printType" value="all" type="radio" id="radio_9" class="radio-col-purple with-gap"/>#}
  17.                             {#<label for="radio_9">Office & Party Copy</label>#}
  18.                             {#<input name="printType" value="send_pdf" type="radio" id="radio_10" class="radio-col-deep-purple with-gap"/>#}
  19.                             {#<label for="radio_10">Send PDF to Party </label>#}
  20.                         </div>
  21.                         <div class="demo-radio-button printOptionsModalDocumentTypeCont">
  22.                             <h6>Document Type</h6>
  23.                         </div>
  24.                         <div class="demo-radio-button printOptionsModalRadioCont">
  25.                             <h6>Type</h6>
  26.                             {#<input name="printType" value="print_office_copy" type="radio" id="radio_7" class="radio-col-red with-gap" checked/>#}
  27.                             {#<label for="radio_7">Office Copy</label>#}
  28.                             {#<input name="printType" value="print_party_copy" type="radio" id="radio_8" class="radio-col-pink with-gap"/>#}
  29.                             {#<label for="radio_8">Party Copy</label>#}
  30.                             {#<input name="printType" value="all" type="radio" id="radio_9" class="radio-col-purple with-gap"/>#}
  31.                             {#<label for="radio_9">Office & Party Copy</label>#}
  32.                             {#<input name="printType" value="send_pdf" type="radio" id="radio_10" class="radio-col-deep-purple with-gap"/>#}
  33.                             {#<label for="radio_10">Send PDF to Party </label>#}
  34.                         </div>
  35.                         <input type="hidden" name="printOptionsModalHref" id="printOptionsModalHref" value=""/>
  36.                         <div class="col-md-12 col-sm-12 printOptionsModalForwardToMailAddress" style="display: none">
  37.                         </div>
  38.                     </div>
  39.                     <div class="col-sm-12 col-md-6 printOptionsModalCheckCont">
  40.                         {#<input type="checkbox" name="includeMisFlag" id="printOptionsModalMisFlag" class="chk-col-pink" />#}
  41.                         {#<label for="printOptionsModalMisFlag">Include MIS Data</label>#}
  42.                     </div>
  43. {#                    <div class="col-md-6 col-sm-12 printOptionsModalForwardToMailAddress" style="display: none">#}
  44. {#                    </div>#}
  45.                 </div>
  46.             </div>
  47.             <div class="modal-footer">
  48.                 <button type="button" class="btn btn-link waves-effect printOptionsModalPrintButton">PRINT</button>
  49.                 <button type="button" class="btn btn-link waves-effect" data-dismiss="modal">CLOSE</button>
  50.             </div>
  51.         </div>
  52.     </div>
  53. </div>
  54. <script>
  55.     var printOptions = {};
  56.     var forwardToMailAddressLinkValues = [];
  57.     function inititate_print_options_modal(options) {
  58.         options = options || {
  59.                     printUrl: '',
  60.                     printType: [
  61. //                       value:name
  62.                         //will cause radio
  63.                         //name will be by default print type
  64.                         {value: 'office_copy', text: 'Office Copy', selected: true},
  65.                         {value: 'party_copy', text: 'Party Copy'},
  66.                         {value: 'all_copy', text: 'Office & Party Copy'},
  67.                         {value: 'forwardToEmail', text: 'Send/Forward To', ajaxCall: true,},
  68.                     ],
  69.                     forwardToMailAddress: {
  70.                         enabled: true,
  71.                         emptyText: 'To Party',
  72.                         value: 'To Party',
  73.                         linkedTo: ['forwardToEmail']
  74.                     },
  75.                     otherOptions: [
  76.                         //will cause checkboxes
  77.                         {name: 'includeMisFlag', value: 1, text: 'Include MIS Data', selected: true},
  78.                     ]
  79.                 };
  80.         printOptions = options;
  81.         if (typeof printOptions.printType !== 'undefined') {
  82.             for (var t = 0; t < printOptions.printType.length; t++) {
  83.                 $('.printOptionsModalRadioCont').append(
  84.                         '<label style="width: 100%;    margin-left: 10px;" class="radio-inline radio-styled radio-primary" for="printOptionsModalPrintType_' + t + '">'
  85.                         +'<input name="printType" data-ajax-call="' + (printOptions.printType[t].ajaxCall ? '1' : '0') + '" value="' + printOptions.printType[t].value + '" type="radio" id="printOptionsModalPrintType_' + t + '" class="radio-col-red with-gap " ' + (printOptions.printType[t].selected ? 'checked' : '') + ' />'
  86.                         + '<span>'+printOptions.printType[t].text+'</span>'
  87.                         + '</label>'
  88.                 )
  89.             }
  90.         }
  91.         if (typeof printOptions.themeId !== 'undefined') {
  92.             $('.printOptionsModalThemeIdCont').show()
  93.             for (var t = 0; t < printOptions.themeId.length; t++) {
  94.                 $('.printOptionsModalThemeIdCont').append(
  95.                     '<label style="width: 100%;    margin-left: 10px;" class="radio-inline radio-styled radio-primary" for="printOptionsModalThemeId_' + t + '">'
  96.                     +'<input name="themeId" data-ajax-call="' + (printOptions.themeId[t].ajaxCall ? '1' : '0') + '" value="' + printOptions.themeId[t].value + '" type="radio" id="printOptionsModalThemeId_' + t + '" class="radio-col-red with-gap " ' + (printOptions.themeId[t].selected ? 'checked' : '') + ' />'
  97.                     + '<span>'+printOptions.themeId[t].text+'</span>'
  98.                     + '</label>'
  99.                 )
  100.             }
  101.         }
  102.         if (typeof printOptions.documentType !== 'undefined') {
  103.             $('.printOptionsModalDocumentTypeCont').show()
  104.             for (var t = 0; t < printOptions.documentType.length; t++) {
  105.                 $('.printOptionsModalDocumentTypeCont').append(
  106.                     '<label style="width: 100%;    margin-left: 10px;" class="radio-inline radio-styled radio-primary" for="printOptionsModalDocumentType_' + t + '">'
  107.                     +'<input name="documentType" data-ajax-call="' + (printOptions.documentType[t].ajaxCall ? '1' : '0') + '" value="' + printOptions.documentType[t].value + '" type="radio" id="printOptionsModalDocumentType_' + t + '" class="radio-col-red with-gap " ' + (printOptions.documentType[t].selected ? 'checked' : '') + ' />'
  108.                     + '<span>'+printOptions.documentType[t].text+'</span>'
  109.                     + '</label>'
  110.                 )
  111.             }
  112.         }
  113.         if (typeof printOptions.forwardToMailAddress !== 'undefined') {
  114.             if (printOptions.forwardToMailAddress.enabled == true) {
  115.                 if (typeof printOptions.forwardToMailAddress.linkedTo !== 'undefined') {
  116.                     forwardToMailAddressLinkValues = printOptions.forwardToMailAddress.linkedTo;
  117.                 }
  118.                 var str = '<b>To</b> <div class="input-group"><span class="input-group-addon"><i class="material-icons">email</i></span>' +
  119.                         '<div class="form-line"> <input  type="text" class="form-control " value="' + printOptions.forwardToMailAddress.value + '" ' +
  120.                         'name="forwardToMailAddress" ' +
  121.                         'id="forwardToMailAddress" placeholder="' + printOptions.forwardToMailAddress.emptyText + '"> </div> </div>';
  122.                 str+= ' <div class="checkbox checkbox-styled checkbox-info">' +
  123.                         '<label for="printOptionsModalAttachPdf">' +
  124.                         '<input  type="checkbox" name="attachPdf" value="1" checked id="printOptionsModalAttachPdf" class="chk-col-deep-purple">' +
  125.                         '<span>Attach As PDF</span>' +
  126.                         '</label>' +
  127.                         '</div>'
  128. //                str += '<input type="checkbox"  name="attachPdf" value="1" checked id="printOptionsModalAttachPdf" class="chk-col-deep-purple" />' +
  129. //                        '<label for="printOptionsModalAttachPdf">Attach PDF</label>'
  130.                 $('.printOptionsModalForwardToMailAddress').html(str);
  131.             }
  132.         }
  133.         if (typeof printOptions.otherOptions !== 'undefined') {
  134.             for (var t = 0; t < printOptions.otherOptions.length; t++) {
  135.                 $('.printOptionsModalCheckCont').append(
  136.                         ' <div class="checkbox checkbox-styled checkbox-primary">' +
  137.                         '<label for="printOptionsModal' + printOptions.otherOptions[t].name +printOptions.otherOptions[t].value+ '">' +
  138.                         '<input  type="checkbox" data-ajax-call="' + (printOptions.otherOptions[t].ajaxCall ? '1' : '0') + '" name="' + printOptions.otherOptions[t].name + '" value="' + printOptions.otherOptions[t].value + '" ' + (printOptions.otherOptions[t].selected ? 'checked' : '') + ' id="printOptionsModal' + printOptions.otherOptions[t].name +printOptions.otherOptions[t].value+ '" class="chk-col-pink">' +
  139.                         '<span>' + printOptions.otherOptions[t].text + '</span>' +
  140.                         '</label>' +
  141.                         '</div>'
  142. //                        '<input type="checkbox" data-ajax-call="' + (printOptions.otherOptions[t].ajaxCall ? '1' : '0') + '" name="' + printOptions.otherOptions[t].name + '" value="' + printOptions.otherOptions[t].value + '" ' + (printOptions.otherOptions[t].selected ? 'checked' : '') + ' id="printOptionsModal' + printOptions.otherOptions[t].name + '" class="chk-col-pink" />' +
  143. //                        '<label for="printOptionsModal' + printOptions.otherOptions[t].name + '">' + printOptions.otherOptions[t].text + '</label>'
  144.                 )
  145.             }
  146.         }
  147.         $('.print_with_options').click(function (e) {
  148.             e.preventDefault();
  149. //            reset();
  150.             $('#printOptionsModal').modal('show');
  151.             var url = printOptions.printUrl == '' ? $(this).attr('href') : printOptions.printUrl;
  152.             $('#printOptionsModalHref').val(url);
  153.             return false;
  154.         })
  155.         function checkForwardToLinkage() {
  156.             if ($("#printOptionsModal input[name='printType']:checked").length) {
  157.                 var curr_val = $("#printOptionsModal input[name='printType']:checked").val();
  158.                 var acted = 0;
  159.                 for (var j = 0; j < forwardToMailAddressLinkValues.length; j++) {
  160.                     if (forwardToMailAddressLinkValues[j] == curr_val) {
  161.                         $('.printOptionsModalForwardToMailAddress').show();
  162.                         acted = 1;
  163.                         break;
  164.                     }
  165.                 }
  166.                 if (acted == 0) {
  167.                     $('.printOptionsModalForwardToMailAddress').hide()
  168.                 }
  169.             }
  170.             else {
  171.                 $('.printOptionsModalForwardToMailAddress').hide()
  172.             }
  173.         }
  174.         $("#printOptionsModal input[name='printType']").change(function () {
  175. //           alert('pika')
  176.             checkForwardToLinkage()
  177.         })
  178.         $('.printOptionsModalPrintButton').click(function (e) {
  179.             e.preventDefault();
  180. //            reset();
  181.             $('#printOptionsModal').modal('hide');
  182.             var url = $('#printOptionsModalHref').val();
  183.             var ajaxCall = false;
  184.             var queryStart = '?';
  185.             var partedQryArray=url.split('?');
  186.             var query = partedQryArray[1]?partedQryArray[1]:'';
  187.             if (typeof printOptions.printType !== 'undefined') {
  188.                 if ($("#printOptionsModal input[name='printType']:checked").length) {
  189.                     var checked_radio = $("#printOptionsModal input[name='printType']:checked");
  190.                     if (checked_radio.attr('data-ajax-call') == 1)
  191.                         ajaxCall = true;
  192.                     var radioQuery = 'printType=' + (checked_radio.prop('checked') == true ? checked_radio.val() : '0');
  193. //               alert radioQuery
  194.                     if (query == '')
  195.                         query = '?' + radioQuery;
  196.                     else
  197.                         query = query + '&' + radioQuery;
  198.                     for (var j = 0; j < forwardToMailAddressLinkValues.length; j++) {
  199.                         if (forwardToMailAddressLinkValues[j] == checked_radio.val()) {
  200.                             var forwardMailAddress = $("#printOptionsModal input[name='forwardToMailAddress']").val();
  201.                             if (forwardMailAddress != '') {
  202.                                 var forwardToQuery = 'forwardToMailAddress=' + forwardMailAddress;
  203.                                 if (query == '')
  204.                                     query = '?' + forwardToQuery;
  205.                                 else
  206.                                     query = query + '&' + forwardToQuery;
  207.                             }
  208.                             var attachPdf = $("#printOptionsModal input[name='attachPdf']");
  209.                             if ($("#printOptionsModal input[name='attachPdf']").length)
  210.                                 if ($("#printOptionsModal input[name='attachPdf']").prop('checked') == true) {
  211.                                     var attQry = 'attachPdf=' + 1;
  212.                                     if (query == '')
  213.                                         query = '?' + attQry;
  214.                                     else
  215.                                         query = query + '&' + attQry;
  216.                                 }
  217.                         }
  218.                     }
  219.                 }
  220.             }
  221.             if (typeof printOptions.documentType !== 'undefined') {
  222.                 if ($("#printOptionsModal input[name='documentType']:checked").length) {
  223.                     var checked_radio = $("#printOptionsModal input[name='documentType']:checked");
  224.                     if (checked_radio.attr('data-ajax-call') == 1)
  225.                         ajaxCall = true;
  226.                     var radioQuery = 'documentType=' + (checked_radio.prop('checked') == true ? checked_radio.val() : '0');
  227. //               alert radioQuery
  228.                     if (query == '')
  229.                         query = '?' + radioQuery;
  230.                     else
  231.                         query = query + '&' + radioQuery;
  232.                 }
  233.             }
  234.             if (typeof printOptions.themeId !== 'undefined') {
  235.                 if ($("#printOptionsModal input[name='themeId']:checked").length) {
  236.                     var checked_radio = $("#printOptionsModal input[name='themeId']:checked");
  237.                     if (checked_radio.attr('data-ajax-call') == 1)
  238.                         ajaxCall = true;
  239.                     var radioQuery = 'themeId=' + (checked_radio.prop('checked') == true ? checked_radio.val() : '0');
  240. //               alert radioQuery
  241.                     if (query == '')
  242.                         query = '?' + radioQuery;
  243.                     else
  244.                         query = query + '&' + radioQuery;
  245.                 }
  246.             }
  247.             var nameAddition='';
  248.             if (typeof printOptions.otherOptions !== 'undefined') {
  249.                 for (var t = 0; t < printOptions.otherOptions.length; t++) {
  250.                     if($('.printOptionsModalCheckCont  input[name="' + printOptions.otherOptions[t].name+'"]').length>1) nameAddition='[]';
  251.                     var checked_check_box = $('#printOptionsModal' + printOptions.otherOptions[t].name+printOptions.otherOptions[t].value);
  252.                     if (checked_check_box.prop('checked') == true) {
  253.                         if (checked_check_box.attr('data-ajax-call') == 1)
  254.                             ajaxCall = true;
  255.                         var checkQuery = '' + printOptions.otherOptions[t].name + nameAddition+'=' + printOptions.otherOptions[t].value;
  256.                         if (query == '')
  257.                             query = '?' + checkQuery;
  258.                         else
  259.                             query = query + '&' + checkQuery;
  260.                     }
  261.                 }
  262.             }
  263. //           query+='mis_print='+($('#printOptionsSalesModalMisFlag').prop('checked')==true?'1':'0');
  264. //           query+='&print_type='+$("#printOptionsSalesModal input[name='printType']:checked").val();
  265.             url = url + query;
  266.             if (ajaxCall == 1) {
  267.                 $.get(url, {})
  268.                         .done(function (data) {
  269.                             //sales.clearItemTable()
  270.                             if (data.success == true) {
  271.                                 swal({
  272.                                     title: "Success!",
  273.                                     text: "Your action was successful.",
  274. //                                   imageUrl: BaseURL + "images/Bee_Sad_Emote.png"
  275.                                 });
  276.                             }
  277.                         });
  278.             }
  279.             else {
  280.                 var win = window.open(url, '_blank');
  281.                 if (win) {
  282.                     //Browser has allowed it to be opened
  283.                     win.focus();
  284.                 } else {
  285.                     //Browser has blocked it
  286.                     alert('Please allow popups for this website');
  287.                 }
  288.             }
  289.             return false;
  290.         })
  291.         checkForwardToLinkage()
  292.     }
  293. </script>