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

Open in your IDE?
  1. <style>
  2.     .modal div[class*="col-md"], .modal div[class*="col-lg"], .modal div[class*="col-xs"], .modal div[class*="col-sm"] {
  3.         margin-bottom: 0px;
  4.     }
  5.     .d-flex
  6.     {
  7.         display: flex;
  8.     }
  9.     #selectEntityModal {
  10.         /*box-shadow: 0px 6px 18px rgb(0 0 0 / 9%);*/
  11.         /*border-radius: 12px;*/
  12.     }
  13.     #selectEntityModal .modal-body {
  14.         padding: 0 1rem;
  15.     }
  16.     #selectEntityModal p {
  17.         margin-bottom: .5rem;
  18.     }
  19.     #selectEntityModal .selectize-control {
  20.         min-width: 100%;
  21.     }
  22.     #selectEntityModal .selectize-input.items {
  23.         border: 1px solid #d0d0d0;
  24.         padding: 8px 8px;
  25.         display: inline-block;
  26.         width: 100%;
  27.         overflow: hidden;
  28.         position: relative;
  29.         z-index: 1;
  30.         box-sizing: border-box;
  31.         box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1);
  32.         border-radius: 3px;
  33.     }
  34.     #selectEntityModalForm {
  35.         /*max-width: 500px;*/
  36.         background-color: #ffffff;
  37.         /*margin: 40px auto;*/
  38.         padding: 40px;
  39.         box-shadow: 0px 6px 18px rgb(0 0 0 / 9%);
  40.         /*border-radius: 12px;*/
  41.     }
  42.     #selectEntityModalForm .form-header {
  43.         gap: 5px;
  44.         text-align: center;
  45.         font-size: .9em;
  46.     }
  47.     #selectEntityModalForm .form-header .stepIndicator {
  48.         position: relative;
  49.         flex: 1;
  50.         padding-bottom: 30px;
  51.     }
  52.     #selectEntityModalForm .form-header .stepIndicator.active {
  53.         font-weight: 600;
  54.     }
  55.     #selectEntityModalForm .form-header .stepIndicator.finish {
  56.         font-weight: 600;
  57.         color: #009688;
  58.     }
  59.     #selectEntityModalForm .form-header .stepIndicator::before {
  60.         content: "";
  61.         position: absolute;
  62.         left: 50%;
  63.         bottom: 0;
  64.         transform: translateX(-50%);
  65.         z-index: 9;
  66.         width: 20px;
  67.         height: 20px;
  68.         background-color: #d5efed;
  69.         border-radius: 50%;
  70.         border: 3px solid #ecf5f4;
  71.     }
  72.     #selectEntityModalForm .form-header .stepIndicator.active::before {
  73.         background-color: #a7ede8;
  74.         border: 3px solid #d5f9f6;
  75.     }
  76.     #selectEntityModalForm .form-header .stepIndicator.finish::before {
  77.         background-color: #009688;
  78.         border: 3px solid #b7e1dd;
  79.     }
  80.     #selectEntityModalForm .form-header .stepIndicator::after {
  81.         content: "";
  82.         position: absolute;
  83.         left: 50%;
  84.         bottom: 8px;
  85.         width: 100%;
  86.         height: 3px;
  87.         background-color: #f3f3f3;
  88.     }
  89.     #selectEntityModalForm .form-header .stepIndicator.active::after {
  90.         background-color: #a7ede8;
  91.     }
  92.     #selectEntityModalForm .form-header .stepIndicator.finish::after {
  93.         background-color: #009688;
  94.     }
  95.     #selectEntityModalForm .form-header .stepIndicator:last-child:after {
  96.         display: none;
  97.     }
  98.     #selectEntityModalForm input {
  99.         padding: 15px 20px;
  100.         width: 100%;
  101.         font-size: 1em;
  102.         border: 1px solid #e3e3e3;
  103.         border-radius: 5px;
  104.     }
  105.     #selectEntityModalForm input:focus {
  106.         border: 1px solid #009688;
  107.         outline: 0;
  108.     }
  109.     #selectEntityModalForm input.invalid {
  110.         border: 1px solid #ffaba5;
  111.     }
  112.     #selectEntityModalForm .step {
  113.         display: none;
  114.     }
  115.     #selectEntityModalForm .form-footer {
  116.         overflow: auto;
  117.         gap: 20px;
  118.     }
  119.     #selectEntityModalForm .form-footer button {
  120.         background-color: #1d5b9e;
  121.         border: 1px solid #1d5b9e;
  122.         color: #ffffff;
  123.         border: none;
  124.         padding: 13px 30px;
  125.         font-size: 1em;
  126.         cursor: pointer;
  127.         border-radius: 5px;
  128.         flex: 1;
  129.         margin-top: 5px;
  130.     }
  131.     #selectEntityModalForm .form-footer button:hover {
  132.         opacity: 0.8;
  133.     }
  134.     #selectEntityModalForm .form-footer #promptInfo_prevBtn {
  135.         background-color: #fff;
  136.         color: #009688;
  137.     }
  138.     .box-selector {
  139.         padding: 10px 4px;
  140.         cursor: pointer;
  141.     }
  142.     .box-selector .inside {
  143.         padding: 5px;
  144.         border-radius: 5px;
  145.         -webkit-box-shadow: 10px 10px 48px -24px rgba(14, 26, 87, 1);
  146.         -moz-box-shadow: 10px 10px 48px -24px rgba(14, 26, 87, 1);
  147.         box-shadow: 10px 10px 48px -24px rgba(14, 26, 87, 1);
  148.     }
  149.     .box-selector .inside input {
  150.         cursor: pointer
  151.     }
  152.     .box-selector .inside textarea {
  153.         text-align: center;
  154.         cursor: pointer;
  155.         width: 100%;
  156.         border: none;
  157.         resize: none;
  158.         font-size: 14px;
  159.         color: #1d5b9e;
  160.         font-weight: bold;
  161.     }
  162.     .box-selector.sch_selector_mon .inside,
  163.     .box-selector.sch_selector_day .inside
  164.         /*.box-selector.sch_selector_time .inside*/
  165.     {
  166.         padding: 10px 5px;
  167.     }
  168.     .box-selector.sch_selector_time .inside {
  169.         padding: 4px 5px;
  170.     }
  171.     .step .view_if_has_schedules {
  172.         display: none;
  173.     }
  174.     .box-selector.active:not(.man_sch_selector) .inside {
  175.         border: 2px solid #1d5b9e;
  176.         -webkit-box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
  177.         -moz-box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
  178.         box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
  179.     }
  180.     .box-selector.active.man_sch_selector .inside {
  181.         border: 2px solid #1d5b9e;
  182.         -webkit-box-shadow: none;
  183.         -moz-box-shadow: none;
  184.         box-shadow: none;
  185.     }
  186.     .box-selector.sch_selector_mon.active .inside,
  187.     .box-selector.sch_selector_day.active .inside,
  188.     .box-selector.sch_selector_time.active .inside {
  189.         border: 2px solid #1d5b9e;
  190.         -webkit-box-shadow: 4px 7px 24px -3px rgba(29, 91, 158, 1);
  191.         -moz-box-shadow: 10px 10px 24px -3px rgba(29, 91, 158, 1);
  192.         box-shadow: 4px 7px 24px -3px rgba(29, 91, 158, 1);
  193.     }
  194.     .box-selector .img {
  195.         margin-left: 5px;
  196.     }
  197.     .box-selector .title {
  198.         text-align: center;
  199.         font-size: 13px;
  200.         margin-top: auto;
  201.         margin-bottom: auto;
  202.     }
  203.     .box-selector.paymentMethodSelectorBtn .title {
  204.         text-align: center;
  205.         margin-bottom: 1px;
  206.         font-size: 14px;
  207.     }
  208.     .box-selector .sub-title {
  209.         font-size: 12px;
  210.         color: grey;
  211.     }
  212.     #selectEntityModal .routineTable {
  213.         text-align: left;
  214.         vertical-align: middle;
  215.     }
  216.     #selectEntityModal .routineTable .icon-delete {
  217.         color: darkred;
  218.         font-weight: bold;
  219.     }
  220.     #selectEntityModal .routineTable .icon-delete .fa {
  221.         padding: 10px;
  222.         border-radius: 39px;
  223.         border: 1px solid #eddcdc;
  224.         width: 34px;
  225.         height: 34px;
  226.         text-align: center;
  227.     }
  228.     #selectEntityModal .routineTable .icon-check {
  229.         color: green;
  230.         font-weight: bold;
  231.     }
  232.     #selectEntityModal .routineTable .icon-check .fa {
  233.         opacity: 0.1;
  234.     }
  235.     #selectEntityModal .routineTable .icon-check.isChecked .fa {
  236.         opacity: 1;
  237.     }
  238.     #selectEntityModal .routineTable .icon-check .fa {
  239.         padding: 10px;
  240.         border-radius: 39px;
  241.         border: 1px solid #eddcdc;
  242.         width: 34px;
  243.         height: 34px;
  244.         text-align: center;
  245.     }
  246.     #selectEntityModal .routineTable {
  247.         text-align: left;
  248.         vertical-align: middle;
  249.     }
  250.     #selectEntityModal .routineTable .icon-delete {
  251.         color: darkred;
  252.         font-weight: bold;
  253.     }
  254.     #selectEntityModal .routineTable .icon-delete .fa {
  255.         padding: 10px;
  256.         border-radius: 39px;
  257.         border: 1px solid #eddcdc;
  258.         width: 34px;
  259.         height: 34px;
  260.         text-align: center;
  261.     }
  262.     #selectEntityModal .routineTable .icon-check {
  263.         color: green;
  264.         font-weight: bold;
  265.     }
  266.     #selectEntityModal .routineTable .icon-check .fa {
  267.         opacity: 0.1;
  268.     }
  269.     #selectEntityModal .routineTable .icon-check.isChecked .fa {
  270.         opacity: 1;
  271.     }
  272.     #selectEntityModal .routineTable .icon-check .fa {
  273.         padding: 10px;
  274.         border-radius: 39px;
  275.         border: 1px solid #eddcdc;
  276.         width: 34px;
  277.         height: 34px;
  278.         text-align: center;
  279.     }
  280. </style>
  281. <div class="modal fade" id="selectEntityModal" tabindex="-1" aria-labelledby="exampleModalLabel"
  282.      aria-hidden="true">
  283.     <div class="modal-dialog modal-dialog-centered">
  284.         <div class="modal-content">
  285.             <div class="modal-header" style="">
  286.                 <div class="header  dont_print">
  287.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  288.                     <h4 class="modal-title" id="myModalLabel"><span class="fa fa-list"></span> Select Company</h4>
  289.                 </div>
  290.             </div>
  291.             <div class="modal-body">
  292.                 <div class="row clearfix">
  293.                 <div class="col-md-12">
  294.                     <form id="selectEntityModalForm" action="#">
  295.                         <!-- start step indicators -->
  296.                         <div style="display: none;" class="form-header d-flex mb-4">
  297.                             <span class="stepIndicator seq_0" data-seq-id="0">Select Country</span>
  298.                         </div>
  299.                         <div class="step seq_0 ">
  300. {#                            <h5 class=" ">Select a Country</h5>#}
  301.                             <div class="row clearfix cg_holder">
  302.                             </div>
  303.                         </div>
  304.                         <div class="form-footer d-flex" style="display: none;">
  305.                             <button type="button" class="prevBtn" id="selectEntityModal_prevBtn">
  306.                                 Previous
  307.                             </button>
  308.                             <button type="button" class="nextBtn" id="selectEntityModal_nextBtn">
  309.                                 Next
  310.                             </button>
  311.                         </div>
  312.                     </form>
  313.                 </div>
  314.                 </div>
  315.             </div>
  316.             {# <div class="modal-footer"> #}
  317.             {# </div> #}
  318.         </div>
  319.     </div>
  320. </div>
  321. <script>
  322.     var selectEntityModal = {};
  323.     var spd = "";
  324.     var csToken = '';
  325.     var nextServerUrl = '';
  326.     var currentTabSelectEntityModal=0;
  327.     var accessList=[];
  328.     var accessListInitiated=0;
  329.     {% if app.session.get('aceessList','') !='' %}
  330.     accessList={{ app.session.get('aceessList','')|json_encode|raw() }}
  331.         accessListInitiated=1
  332.     {% endif %}
  333.     function stepShowTab(n, parentSelector) {
  334.         // alert('here')
  335.         // This function will display the specified tab of the form...
  336.         parentSelector = parentSelector || '#selectEntityModal'
  337.         var prevN = -1;
  338.         $(parentSelector + ' .stepIndicator.active').each(function (gg, elem) {
  339.             prevN = 1 * $(elem).data('seqId');
  340.         });
  341.         var newN = 0;
  342.         if (n === '+1') {
  343.             newN = (1 * prevN) + 1;
  344.         } else if (n === '-1') {
  345.             newN = (1 * prevN) - 1;
  346.         } else
  347.             newN = n;
  348.         if (!$(parentSelector + ' .stepIndicator.seq_' + newN).length)
  349.             newN = (1 * prevN);
  350.         if (!$(parentSelector + ' .stepIndicator.seq_' + (newN + 1)).length)
  351.             $(parentSelector + " .nextBtn").text('Confirm');
  352.         else
  353.             $(parentSelector + " .nextBtn").text('Next');
  354.         if (!$(parentSelector + ' .stepIndicator.seq_' + (newN - 1)).length)
  355.             $(parentSelector + " .prevBtn").hide();
  356.         else
  357.             $(parentSelector + " .prevBtn").show();
  358.         // alert(prevN)
  359.         // alert(newN)
  360.         // alert($(parentSelector+' .stepIndicator.seq_'+(newN+1)).length)
  361.         if (prevN == newN) {
  362.             $(parentSelector).modal('hide')
  363.             return false;
  364.         }
  365.         $(parentSelector + ' .stepIndicator').removeClass('active')
  366.         $(parentSelector + ' .step').hide()
  367.         $(parentSelector + '  .step.seq_' + newN).show()
  368.         for (var gg = 0; gg <= newN; gg++)
  369.             $(parentSelector + '  .stepIndicator.seq_' + gg).addClass('active')
  370.         var triggerFunc = $(parentSelector + '  .step.seq_' + newN).attr('data-trigger-function');
  371.         if (typeof triggerFunc !== 'undefined' && triggerFunc !== false) {
  372.             window[triggerFunc]();
  373.         }
  374.     }
  375.     function getUserCompanyList(userGetType){
  376.         userGetType=userGetType||'_LOCAL_';
  377.         var pika_ind_id = "_NA_";
  378.         $('#selectEntityModal .cg_holder').empty();
  379.         var userTypeTextObject={
  380.             1: 'Admin',
  381.             2: 'User',
  382.             3: 'Vendor',
  383.             4: 'Customer',
  384.             5: 'Management User',
  385.             6: 'Group Owner',
  386.             7: 'GLobal User',
  387.             8: 'Applicant',
  388.             9: 'Collaborator',
  389.         }
  390.         if(userGetType =='_LOCAL_') {
  391.             $.ajax({
  392.                 url: BaseURL + "get_users_by_query?queryStr=" + $('#tempUsername').val(),
  393.                 type: 'POST',
  394.                 dataType: 'json',
  395.                 data: {},
  396.                 error: function () {
  397.                     // callback();
  398.                 },
  399.                 success: function (res) {
  400.                     if (res.success == true) {
  401.                         if (res.data.length == 1) {
  402.                             var dt = res.data[0];
  403.                             $('#gocId').val(dt['gocId']);
  404.                             $('#username').val(dt['loginUserName']);
  405.                             $('#loginform').submit();
  406.                         } else {
  407.                             for (var jj = 0; jj < res.data.length; jj++) {
  408.                                 var dt = res.data[jj];
  409.                                 var ggStr = ' <div class="box-selector cg_selector cg_' + dt['id'] + '  col-md-12 col-sm-12"' +
  410.                                     ' data-id="' + dt['gocId'] + '" ' +
  411.                                     ' data-goc-id="' + dt['gocId'] + '" ' +
  412.                                     ' data-user-name="' + dt['loginUserName'] + '" ' +
  413.                                     ' data-gen-class="cg_selector" ' +
  414.                                     '>' +
  415.                                     '<div class="inside" style="display: flex;"> ' +
  416.                                     '<div class="img" href="" style="' +
  417.                                     "background:url('" + dt['companyLogoUrl'] + "');" +
  418.                                     'height: 50px !important;width: 40%;background-position: left;background-size: contain;background-repeat: no-repeat;display: inline-block;"> ' +
  419.                                     '</div> ' +
  420.                                     '<h6 class="title" style="height: 2rem; width: 60%;text-align: left;">' + dt['companyName'] + ' <p class="sub-title">' + userTypeTextObject[dt['userType']] + '</p></h6> ' +
  421.                                     '</div>' +
  422.                                     '';
  423.                                 $('#selectEntityModal .cg_holder').append(ggStr);
  424.                             }
  425.                             $('#selectEntityModal').modal('show');
  426.                         }
  427.                     }
  428.                 }
  429.             });
  430.         }
  431.         if(userGetType =='_CENTRAL_') {
  432.             if(accessListInitiated==1) {
  433.                 if (accessList.length == 1) {
  434.                     // var dt = res.data[0];
  435.                     //
  436.                     // $('#gocId').val(dt['gocId']);
  437.                     // $('#username').val(dt['loginUserName']);
  438.                     // $('#loginform').submit();
  439.                 } else {
  440.                     for (var jj = 0; jj < accessList.length; jj++) {
  441.                         var dt = accessList[jj];
  442.                         var ggStr = ' <div class="box-selector cg_selector cg_' + dt['id'] + '  col-md-12 col-sm-12"' +
  443.                             ' data-id="' + dt['appId'] + '" ' +
  444.                             ' data-app-id="' + dt['appId'] + '" ' +
  445.                             ' data-goc-id="0" ' +
  446.                             // ' data-user-name="' + dt['loginUserName'] + '" ' +
  447.                             ' data-gen-class="cg_selector" ' +
  448.                             ' data-auth-str="' + dt['authenticationStr'] + '" ' +
  449.                             ' data-server-url="' + dt['serverUrl'] + '" ' +
  450.                             ' data-cs-token="{{ app.session.get('csToken','') }}" ' +
  451.                             '>' +
  452.                             '<div class="inside" style="display: flex;"> ' +
  453.                             '<div class="img" href="" style="' +
  454.                             "background:url('{{ constant('ApplicationBundle\\Constants\\GeneralConstant::HONEYBEE_CENTRAL_SERVER') }}" + dt['companyLogoUrl'] + "');" +
  455.                             'height: 50px !important;width: 40%;background-position: left;background-size: contain;background-repeat: no-repeat;display: inline-block;"> ' +
  456.                             '</div> ' +
  457.                             '<h6 class="title" style="height: 2rem; width: 60%;text-align: left;">' + dt['companyName'] + ' <p class="sub-title">' + userTypeTextObject[dt['userType']] + '</p></h6> ' +
  458.                             '</div>' +
  459.                             '';
  460.                         $('#selectEntityModal .cg_holder').append(ggStr);
  461.                     }
  462.                     $('#selectEntityModal').modal('show');
  463.                 }
  464.             }
  465.             else {
  466.                 $.ajax({
  467.                     url: "{{ constant('ApplicationBundle\\Constants\\GeneralConstant::HONEYBEE_CENTRAL_SERVER') }}/getSessionDataForApp" ,
  468.                     type: 'POST',
  469.                     dataType: 'json',
  470.                     data: {
  471.                         token:'{{ app.session.get('csToken','') }}'
  472.                     },
  473.                     error: function () {
  474.                         // callback();
  475.                     },
  476.                     success: function (res) {
  477.                         if (res.success == true) {
  478.                             accessList=res.session_data.userAccessList;
  479.                             //    console.log(accessList)
  480.                             for (var jj = 0; jj < accessList.length; jj++) {
  481.                                 var dt = accessList[jj];
  482.                                 var ggStr = ' <div class="box-selector cg_selector cg_' + dt['id'] + '  col-md-12 col-sm-12"' +
  483.                                     ' data-id="' + dt['appId'] + '" ' +
  484.                                     ' data-app-id="' + dt['appId'] + '" ' +
  485.                                     ' data-goc-id="0" ' +
  486.                                     // ' data-user-name="' + dt['loginUserName'] + '" ' +
  487.                                     ' data-gen-class="cg_selector" ' +
  488.                                     ' data-auth-str="' + dt['authenticationStr'] + '" ' +
  489.                                     ' data-server-url="' + dt['serverUrl'] + '" ' +
  490.                                     ' data-cs-token="{{ app.session.get('csToken','') }}" ' +
  491.                                     '>' +
  492.                                     '<div class="inside" style="display: flex;"> ' +
  493.                                     '<div class="img" href="" style="' +
  494.                                     "background:url('{{ constant('ApplicationBundle\\Constants\\GeneralConstant::HONEYBEE_CENTRAL_SERVER') }}" + dt['companyLogoUrl'] + "');" +
  495.                                     'height: 50px !important;width: 40%;background-position: left;background-size: contain;background-repeat: no-repeat;display: inline-block;"> ' +
  496.                                     '</div> ' +
  497.                                     '<h6 class="title" style="height: 2rem; width: 60%;text-align: left;">' + dt['companyName'] + ' <p class="sub-title">' + userTypeTextObject[dt['userType']] + '</p></h6> ' +
  498.                                     '</div>' +
  499.                                     '';
  500.                                 $('#selectEntityModal .cg_holder').append(ggStr);
  501.                             }
  502.                             $('#selectEntityModal').modal('show');
  503.                         }
  504.                     }
  505.                 });
  506.             }
  507.         }
  508.     }
  509.     jQuery(document).ready(function () {
  510.         stepShowTab(currentTabSelectEntityModal, '#selectEntityModal')
  511.         $(document).on('click', '.box-selector', function () {
  512.             $('.' + $(this).data('genClass')).removeClass('active')
  513.             $(this).addClass('active')
  514.         })
  515.         $(document).on('click', '#selectEntityModal .prevBtn', function () {
  516. //validate action here
  517. // if (!validateForm()) return false;
  518.             stepShowTab('-1', '#selectEntityModal')
  519.         })
  520.         $(document).on('click', '#selectEntityModal .stepIndicator', function () {
  521. //validate action here
  522. // if (!validateForm()) return false;
  523.             stepShowTab($(this).data('seqId'), '#selectEntityModal')
  524.         })
  525.         $(document).on('click', '#selectEntityModal .nextBtn', function () {
  526. //validate action here
  527. // if (!validateForm()) return false;
  528.             stepShowTab('+1', '#selectEntityModal')
  529.         })
  530.         $(document).on('click', '#selectEntityModal .cg_selector', function () {
  531.             if (typeof $(this).data('authStr') !== 'undefined') {
  532.                 window.spd=$(this).data('authStr');
  533.                 window.csToken=$(this).data('authStr');
  534.                 window.nextServerUrl=$(this).data('serverUrl');
  535.                 $.ajax({
  536.                     url: BaseURL+"logout" ,
  537.                     type: 'POST',
  538.                     dataType: 'json',
  539.                     data: {
  540.                         returnJson: 1
  541.                     },
  542.                     error: function () {
  543.                         // callback();
  544.                     },
  545.                     success: function (res) {
  546.                         if (res.success == true) {
  547.                             window.location.href=(window.nextServerUrl+'/switch_app?spd='+window.spd+'&csToken='+window.csToken);
  548.                         }
  549.                     }
  550.                 });
  551.             }
  552.             else
  553.             {
  554.                 $('#gocId').val($(this).data('gocId'));
  555.                 $('#username').val($(this).data('userName'));
  556.                 $('#loginform').submit();
  557.             }
  558.         })
  559.     });
  560. </script>