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

Open in your IDE?
  1. {% include '@Application/framework/_select_entity_modal_css.html.twig' %}
  2. <div class="modal fade" id="selectEntityModal" tabindex="-1" aria-labelledby="exampleModalLabel"
  3.      aria-hidden="true">
  4.     <div class="modal-dialog modal-dialog-centered">
  5.         <div class="modal-content">
  6.             <div class="modal-header" style="">
  7.                 <div class="header  dont_print">
  8.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  9.                     <h4 class="modal-title" id="myModalLabel"><span class="fa fa-list"></span> Select Company</h4>
  10.                 </div>
  11.             </div>
  12.             <div class="modal-body">
  13.                 <div class="row clearfix">
  14.                 <div class="col-md-12">
  15.                     <form id="selectEntityModalForm" action="#">
  16.                         <!-- start step indicators -->
  17.                         <div style="display: none;" class="form-header d-flex mb-4">
  18.                             <span class="stepIndicator seq_0" data-seq-id="0">Select Country</span>
  19.                         </div>
  20.                         <div class="step seq_0 ">
  21. {#                            <h5 class=" ">Select a Country</h5>#}
  22.                             <div class="row clearfix cg_holder">
  23.                             </div>
  24.                         </div>
  25.                         <div class="form-footer d-flex" style="display: none;">
  26.                             <button type="button" class="prevBtn" id="selectEntityModal_prevBtn">
  27.                                 Previous
  28.                             </button>
  29.                             <button type="button" class="nextBtn" id="selectEntityModal_nextBtn">
  30.                                 Next
  31.                             </button>
  32.                         </div>
  33.                     </form>
  34.                 </div>
  35.                 </div>
  36.             </div>
  37.             {# <div class="modal-footer"> #}
  38.             {# </div> #}
  39.         </div>
  40.     </div>
  41. </div>
  42. <script>
  43.     var selectEntityModal = {};
  44.     var spd = "";
  45.     var csToken = '';
  46.     var nextServerUrl = '';
  47.     var currentTabSelectEntityModal=0;
  48.     var accessList=[];
  49.     var accessListInitiated=0;
  50.     {% if app.session.get('aceessList','') !='' %}
  51.     accessList={{ app.session.get('aceessList','')|json_encode|raw() }}
  52.         accessListInitiated=1
  53.     {% endif %}
  54.     function stepShowTab(n, parentSelector) {
  55.         // alert('here')
  56.         // This function will display the specified tab of the form...
  57.         parentSelector = parentSelector || '#selectEntityModal'
  58.         var prevN = -1;
  59.         $(parentSelector + ' .stepIndicator.active').each(function (gg, elem) {
  60.             prevN = 1 * $(elem).data('seqId');
  61.         });
  62.         var newN = 0;
  63.         if (n === '+1') {
  64.             newN = (1 * prevN) + 1;
  65.         } else if (n === '-1') {
  66.             newN = (1 * prevN) - 1;
  67.         } else
  68.             newN = n;
  69.         if (!$(parentSelector + ' .stepIndicator.seq_' + newN).length)
  70.             newN = (1 * prevN);
  71.         if (!$(parentSelector + ' .stepIndicator.seq_' + (newN + 1)).length)
  72.             $(parentSelector + " .nextBtn").text('Confirm');
  73.         else
  74.             $(parentSelector + " .nextBtn").text('Next');
  75.         if (!$(parentSelector + ' .stepIndicator.seq_' + (newN - 1)).length)
  76.             $(parentSelector + " .prevBtn").hide();
  77.         else
  78.             $(parentSelector + " .prevBtn").show();
  79.         // alert(prevN)
  80.         // alert(newN)
  81.         // alert($(parentSelector+' .stepIndicator.seq_'+(newN+1)).length)
  82.         if (prevN == newN) {
  83.             $(parentSelector).modal('hide')
  84.             return false;
  85.         }
  86.         $(parentSelector + ' .stepIndicator').removeClass('active')
  87.         $(parentSelector + ' .step').hide()
  88.         $(parentSelector + '  .step.seq_' + newN).show()
  89.         for (var gg = 0; gg <= newN; gg++)
  90.             $(parentSelector + '  .stepIndicator.seq_' + gg).addClass('active')
  91.         var triggerFunc = $(parentSelector + '  .step.seq_' + newN).attr('data-trigger-function');
  92.         if (typeof triggerFunc !== 'undefined' && triggerFunc !== false) {
  93.             window[triggerFunc]();
  94.         }
  95.     }
  96.     function getUserCompanyList(userGetType){
  97.         userGetType=userGetType||'_LOCAL_';
  98.         var pika_ind_id = "_NA_";
  99.         $('#selectEntityModal .cg_holder').empty();
  100.         var userTypeTextObject={
  101.             1: 'Admin',
  102.             2: 'User',
  103.             3: 'Vendor',
  104.             4: 'Customer',
  105.             5: 'Management User',
  106.             6: 'Group Owner',
  107.             7: 'GLobal User',
  108.             8: 'Applicant',
  109.             9: 'Collaborator',
  110.         }
  111.         if(userGetType =='_LOCAL_') {
  112.             $.ajax({
  113.                 url: BaseURL + "get_users_by_query?queryStr=" + $('#tempUsername').val(),
  114.                 type: 'POST',
  115.                 dataType: 'json',
  116.                 data: {},
  117.                 error: function () {
  118.                     // callback();
  119.                 },
  120.                 success: function (res) {
  121.                     if (res.success == true) {
  122.                         if (res.data.length == 1) {
  123.                             var dt = res.data[0];
  124.                             $('#gocId').val(dt['gocId']);
  125.                             $('#username').val(dt['loginUserName']);
  126.                             $('#loginform').submit();
  127.                         } else {
  128.                             for (var jj = 0; jj < res.data.length; jj++) {
  129.                                 var dt = res.data[jj];
  130.                                 var ggStr = ' <div class="box-selector cg_selector cg_' + dt['id'] + '  col-md-12 col-sm-12"' +
  131.                                     ' data-id="' + dt['gocId'] + '" ' +
  132.                                     ' data-goc-id="' + dt['gocId'] + '" ' +
  133.                                     ' data-user-name="' + dt['loginUserName'] + '" ' +
  134.                                     ' data-gen-class="cg_selector" ' +
  135.                                     '>' +
  136.                                     '<div class="inside" style="display: flex;"> ' +
  137.                                     '<div class="img" href="" style="' +
  138.                                     "background:url('" + dt['companyLogoUrl'] + "');" +
  139.                                     'height: 50px !important;width: 40%;background-position: left;background-size: contain;background-repeat: no-repeat;display: inline-block;"> ' +
  140.                                     '</div> ' +
  141.                                     '<h6 class="title" style="height: 2rem; width: 60%;text-align: left;">' + dt['companyName'] + ' <p class="sub-title">' + userTypeTextObject[dt['userType']] + '</p></h6> ' +
  142.                                     '</div>' +
  143.                                     '';
  144.                                 $('#selectEntityModal .cg_holder').append(ggStr);
  145.                             }
  146.                             $('#selectEntityModal').modal('show');
  147.                         }
  148.                     }
  149.                 }
  150.             });
  151.         }
  152.         if(userGetType =='_CENTRAL_') {
  153.             if(accessListInitiated==1) {
  154.                 if (accessList.length == 1) {
  155.                     // var dt = res.data[0];
  156.                     //
  157.                     // $('#gocId').val(dt['gocId']);
  158.                     // $('#username').val(dt['loginUserName']);
  159.                     // $('#loginform').submit();
  160.                 } else {
  161.                     for (var jj = 0; jj < accessList.length; jj++) {
  162.                         var dt = accessList[jj];
  163.                         var ggStr = ' <div class="box-selector cg_selector cg_' + dt['id'] + '  col-md-12 col-sm-12"' +
  164.                             ' data-id="' + dt['appId'] + '" ' +
  165.                             ' data-app-id="' + dt['appId'] + '" ' +
  166.                             ' data-goc-id="0" ' +
  167.                             // ' data-user-name="' + dt['loginUserName'] + '" ' +
  168.                             ' data-gen-class="cg_selector" ' +
  169.                             ' data-auth-str="' + dt['authenticationStr'] + '" ' +
  170.                             ' data-server-url="' + dt['serverUrl'] + '" ' +
  171.                             ' data-cs-token="{{ app.session.get('csToken','') }}" ' +
  172.                             '>' +
  173.                             '<div class="inside" style="display: flex;"> ' +
  174.                             '<div class="img" href="" style="' +
  175.                             "background:url('{{ constant('ApplicationBundle\\Constants\\GeneralConstant::HONEYBEE_CENTRAL_SERVER') }}" + dt['companyLogoUrl'] + "');" +
  176.                             'height: 50px !important;width: 40%;background-position: left;background-size: contain;background-repeat: no-repeat;display: inline-block;"> ' +
  177.                             '</div> ' +
  178.                             '<h6 class="title" style="height: 2rem; width: 60%;text-align: left;">' + dt['companyName'] + ' <p class="sub-title">' + userTypeTextObject[dt['userType']] + '</p></h6> ' +
  179.                             '</div>' +
  180.                             '';
  181.                         $('#selectEntityModal .cg_holder').append(ggStr);
  182.                     }
  183.                     $('#selectEntityModal').modal('show');
  184.                 }
  185.             }
  186.             else {
  187.                 $.ajax({
  188.                     url: "{{ constant('ApplicationBundle\\Constants\\GeneralConstant::HONEYBEE_CENTRAL_SERVER') }}/auth/getSessionDataForApp" ,
  189.                     type: 'POST',
  190.                     dataType: 'json',
  191.                     data: {
  192.                         token:'{{ app.session.get('csToken','') }}'
  193.                     },
  194.                     error: function () {
  195.                         // callback();
  196.                     },
  197.                     success: function (res) {
  198.                         if (res.success == true) {
  199.                             accessList=res.session_data.userAccessList;
  200.                             //    console.log(accessList)
  201.                             for (var jj = 0; jj < accessList.length; jj++) {
  202.                                 var dt = accessList[jj];
  203.                                 var ggStr = ' <div class="box-selector cg_selector cg_' + dt['id'] + '  col-md-12 col-sm-12"' +
  204.                                     ' data-id="' + dt['appId'] + '" ' +
  205.                                     ' data-app-id="' + dt['appId'] + '" ' +
  206.                                     ' data-goc-id="0" ' +
  207.                                     // ' data-user-name="' + dt['loginUserName'] + '" ' +
  208.                                     ' data-gen-class="cg_selector" ' +
  209.                                     ' data-auth-str="' + dt['authenticationStr'] + '" ' +
  210.                                     ' data-server-url="' + dt['serverUrl'] + '" ' +
  211.                                     ' data-cs-token="{{ app.session.get('csToken','') }}" ' +
  212.                                     '>' +
  213.                                     '<div class="inside" style="display: flex;"> ' +
  214.                                     '<div class="img" href="" style="' +
  215.                                     "background:url('{{ constant('ApplicationBundle\\Constants\\GeneralConstant::HONEYBEE_CENTRAL_SERVER') }}" + dt['companyLogoUrl'] + "');" +
  216.                                     'height: 50px !important;width: 40%;background-position: left;background-size: contain;background-repeat: no-repeat;display: inline-block;"> ' +
  217.                                     '</div> ' +
  218.                                     '<h6 class="title" style="height: 2rem; width: 60%;text-align: left;">' + dt['companyName'] + ' <p class="sub-title">' + userTypeTextObject[dt['userType']] + '</p></h6> ' +
  219.                                     '</div>' +
  220.                                     '';
  221.                                 $('#selectEntityModal .cg_holder').append(ggStr);
  222.                             }
  223.                             $('#selectEntityModal').modal('show');
  224.                         }
  225.                     }
  226.                 });
  227.             }
  228.         }
  229.     }
  230.     jQuery(document).ready(function () {
  231.         stepShowTab(currentTabSelectEntityModal, '#selectEntityModal')
  232.         $(document).on('click', '.box-selector', function () {
  233.             $('.' + $(this).data('genClass')).removeClass('active')
  234.             $(this).addClass('active')
  235.         })
  236.         $(document).on('click', '#selectEntityModal .prevBtn', function () {
  237. //validate action here
  238. // if (!validateForm()) return false;
  239.             stepShowTab('-1', '#selectEntityModal')
  240.         })
  241.         $(document).on('click', '#selectEntityModal .stepIndicator', function () {
  242. //validate action here
  243. // if (!validateForm()) return false;
  244.             stepShowTab($(this).data('seqId'), '#selectEntityModal')
  245.         })
  246.         $(document).on('click', '#selectEntityModal .nextBtn', function () {
  247. //validate action here
  248. // if (!validateForm()) return false;
  249.             stepShowTab('+1', '#selectEntityModal')
  250.         })
  251.         $(document).on('click', '#selectEntityModal .cg_selector', function () {
  252.             if (typeof $(this).data('authStr') !== 'undefined') {
  253.                 window.spd=$(this).data('authStr');
  254.                 window.csToken=$(this).data('authStr');
  255.                 window.nextServerUrl=$(this).data('serverUrl');
  256.                 $.ajax({
  257.                     url: "{{ url('user_logout') }}" ,
  258.                     type: 'POST',
  259.                     dataType: 'json',
  260.                     data: {
  261.                         returnJson: 1
  262.                     },
  263.                     error: function () {
  264.                         // callback();
  265.                     },
  266.                     success: function (res) {
  267.                         if (res.success == true) {
  268.                             window.location.href=(window.nextServerUrl+'/switch_app?spd='+window.spd+'&csToken='+window.csToken);
  269.                         }
  270.                     }
  271.                 });
  272.             }
  273.             else
  274.             {
  275.                 $('#gocId').val($(this).data('gocId'));
  276.                 $('#username').val($(this).data('userName'));
  277.                 $('#loginform').submit();
  278.             }
  279.         })
  280.     });
  281. </script>