Subversion Repositories SmartDukaan

Rev

Rev 33761 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<script type="text/javascript">

        $(document).ready(function() {
        $('#authUser').multiselect({
                        includeSelectAllOption: true,
                        multiple:true,
                        maxHeight: 200,
                        buttonWidth: '180px',
                        numberDisplayed: 1,
                        nonSelectedText: 'AuthUsers',
                        nSelectedText: ' - AuthUser Selected',
                        allSelectedText: 'All AuthUser Selected',
                        enableFiltering: true,
                        enableCaseInsensitiveFiltering : true
        });
        
         $('#partner').multiselect({
                        includeSelectAllOption: true,
                        multiple:true,
                        maxHeight: 200,
                        buttonWidth: '180px',
                        numberDisplayed: 1,
                        nonSelectedText: 'Partners',
                        nSelectedText: ' - Partners Selected',
                        allSelectedText: 'All Partners Selected',
                        enableFiltering: true,
                        enableCaseInsensitiveFiltering : true
        });
        $('#regionPosition').multiselect({
                        includeSelectAllOption: true,
                        multiple:true,
                        maxHeight: 200,
                        buttonWidth: '180px',
                        numberDisplayed: 1,
                        nonSelectedText: 'Region',
                        nSelectedText: ' - Region Selected',
                        allSelectedText: 'All Region Selected',
                        enableFiltering: true,
                        enableCaseInsensitiveFiltering : true
        });
          $('#escalationType').multiselect({
                        includeSelectAllOption: true,
                        multiple:true,
                        maxHeight: 200,
                        buttonWidth: '180px',
                        numberDisplayed: 1,
                        nonSelectedText: 'EscalationType',
                        nSelectedText: ' - EscalationType Selected',
                        allSelectedText: 'All EscalationType Selected',
                        enableFiltering: true,
                        enableCaseInsensitiveFiltering : true
        });
         $('#ticketCategoryPosition').multiselect({
                        includeSelectAllOption: true,
                        multiple:true,
                        maxHeight: 200,
                        buttonWidth: '180px',
                        numberDisplayed: 1,
                        nonSelectedText: 'Category',
                        nSelectedText: ' - Category Selected',
                        allSelectedText: 'All Category Selected',
                        enableFiltering: true,
                        enableCaseInsensitiveFiltering : true
        });
        
    });

        
</script>
<section class="wrapper">
        <div class="row">
                <div class="col-lg-12">
                        <h3 class="page-header"><i class="icon_document_alt"></i>CREATE POSITION</h3>
                        <ol class="breadcrumb">
                                <li><i class="fa fa-home"></i><a href="${rc.contextPath}/dashboard">Home</a></li>
                                <li><i class="icon_document_alt"></i>Create Position</li>                                                       
                        </ol>
                </div>
        </div>
        

        <form id="create-ticket-category-form">
                                <div class = "row">
                                        <div class="col-lg-2 form-group">
                                                <select class="form-control input-sm" id = "authUser" name="authUser" placeholder="AuthUser">
                                                <option value="" disabled selected>AuthUser</option>
                                                        #foreach($authUser in $authUsers)
                                        <option value="$authUser.getId()">$authUser.getName()</option>
                                        #end
                                </select>
                                        </div>
                                        <div class="col-lg-2 form-group">
                                                <select class="form-control input-sm" id = "ticketCategoryPosition" name="ticketCategoryPosition" placeholder="Category">
                                                <option value="" disabled selected>Category</option>
                                                        #foreach($ticketCategory in $ticketCategories)
                                        <option value="$ticketCategory.getId()">$ticketCategory.getName()</option>
                                        #end
                                </select>
                                        </div>
                                        <div class="col-lg-2 form-group">
                                                <select class="form-control input-sm" id = "escalationType" name="escalationType" placeholder="escalationType">
                                                <option value="" disabled selected>EscalationType</option>
                                                        #foreach($escalationType in $escalationTypes)
                                        <option value="$escalationType">$escalationType</option>
                                        #end
                                </select>
                                        </div>
                                        <div class="col-lg-2 form-group">
                                                <select class="form-control input-sm" id = "regionPosition" name="regionPosition" placeholder="region">
                                                        <option value="" disabled selected>Region</option>
                                                        #foreach($region in $regions)
                                        <option value="$region.getId()">$region.getName()</option>
                                        #end
                                </select>
                                        </div>
                                        
                                        <div class="col-lg-2 form-group" id="partner-subregion-container">
                                           <select class="form-control input-sm" id = "partner" name="partner" placeholder="Type" multiple="multiple">
                                </select>
                                        </div>
                                        
                                        <div class="col-lg-2 form-group">
                                              <label> Ticket Assignee </label>
                                                <input type="checkbox"  id="ticketAssignee"  name="ticketAssignee">
             
                                        </div>
                                        <div class="col-lg-2">
                                                <input class="btn btn-primary create-position-button" type="button" value="Create Position">    
                                        </div>
                </div>
        </form>
</section>
<section class="wrapper">


   
<div id="position-table">
                <div class="row">
                    <div class="col-lg-12">
                      <div class="col-lg-3">
                <table width="100%" cellpadding="5px">
                    <tr>
                        <td>
                            <div class="input-group">
                                <input type="file"  class="form-control" value="Upload" id="positionupload">
                                <span class="input-group-btn">
                                     <input class="btn btn-default upload-button positionfileupload" type="button" value="Upload">
                                </span>
                            </div>
                        </td>
                        <td>
                            <button class="btn btn-default" type="button" onclick="downloadCSVTemplate()">Download Template</button>
                        </td>
                    </tr>
                </table>

                      </div>
                    </div>
            <div class="col-lg-12">
            <table class="table table-border table-condensed table-bordered" id="createPosition" style="width:100%">
                                 <thead>
                                        <tr>
                                                <th>User</th>
                                                <th>Position Id</th>
                                                <th>Category</th>
                                                <th>Region</th>
                                                <th>Created TimeStamp</th>
                                                <th>EscalationType</th>
                                                <th>Partners</th>
                                            <th>Ticket Assignee </th>
                                                <th>Action</th>
                                                
                                        </tr>
                                </thead>
                                <tbody>
                                        #if(!$positions.isEmpty())
                                                                #foreach($position in $positions)
                                                                <tr>
                                                                <td>$authUserIdAndAuthUserMap.get($position.getAuthUserId()).getFullName()</td>
                                                                <td>$position.getId()</td>
                                                                #if($position.getCategoryId()==0)
                                                                <td>All Category</td>
                                                                #else
                                                                <td>$categoryIdAndCategoryMap.get($position.getCategoryId()).getName()</td>
                                                                #end
                                                                #if($position.getRegionId()==0)
                                                                <td>All Region</td>
                                                                #else
                                                                <td>$regionIdAndRegionMap.get($position.getRegionId()).getName()</td>
                                                                #end
                                                                <td>$position.getFormattedCreateTimestamp()</td>
                                                                <td>$position.getEscalationType()</td>
                                                                <td>
                                                                <a class="positionPartnerView" data-positionid="$position.getId()" href="#"> view partners</a>
                                                            </td>
                                                            
                                                            <td>
                                                
                                           <input type="checkbox"  id="ticketAssign"  data-positionid="$position.getId()" name="ticketAssignee" #if($position.isTicketAssignee()) checked #end>
             
                                        </td>
                                                                <td><button class="btn btn-primary remove-position" data-positionid="$position.getId()">Remove</button></td>
                                                        </tr>
                                                        #end
                                                        #else
                                                        <tr>
                                                        <td colspan="12" style="text-align:center;">NO MATCHING DATA FOUND FOR CRITERIA</td>
                                                </tr>
                                                        #end
                                </tbody>
                        </table>
                </div>
            </div>
    </div>
    
    </section>
<div id="position-details-container" style="background:white;background-color:white;">
</div>


<script type="text/javascript">
        $(document).ready(function() {

                
      var dtable = $('#createPosition').DataTable({
             "scrollX": true,
            "scrollY": "518px",
        "pageLength": 100,
              scrollCollapse: true,
              "fixedHeader": true,
              
              
              });
              
         });

     $(document).ready(function() {
         $('input.positionfileupload').on('click', function () {
             var fileSelector = $('#positionupload')[0];
             if (fileSelector != undefined && fileSelector.files[0] != undefined) {
                 if (confirm("Confirm Upload?")) {
                     var reader = new FileReader();

                     reader.onload = function (e) {
                         var csvContent = e.target.result;
                         var positions = parseCsv(csvContent);

                         // Now 'positions' is an array of objects containing CSV data
                         console.log('positionsssssss',positions);

                         // Assuming you have a function to send the data to the server
                         // Modify this function according to your needs
                         sendCsvDataToServer(positions);
                     };

                     reader.readAsText(fileSelector.files[0]);
                 }
             } else {
                 alert("Please upload a file!");
             }
             return false;
         });
     });

     function parseCsv(csvContent) {
         var lines = csvContent.split('\n');
         var positions = [];

         for (var i = 0; i < lines.length; i++) {
             var columns = lines[i].trim().split(','); // Use ',' as the delimiter for your CSV

             // Check if the row has the expected number of columns and contains non-empty values
             if (columns.length && columns.some(column => column.trim() !== '')) {
                 // Skip the header row
                 if (i === 0) continue;

                 var position = {
                     storeCode: columns[0] ? columns[0].trim() : '',
                     positionIdFrom: columns[1] ? columns[1].trim() : '',
                     positionIdTo: columns[2] ? columns[2].trim() : ''
                 };

                 positions.push(position);
             }
         }

         return positions;
     }


     function sendCsvDataToServer(data) {

         $.ajax({
             type: "POST",
             url: "${rc.contextPath}/partner-position/update",
             data: JSON.stringify(data),
             contentType: "application/json; charset=utf-8",

             success: function(response) {
                                 IdempotencyKey = uuidv4();
                 if (response) {
                     alert("Content updated successfully..");
                 }
             }
         });


     }

                 
</script>


<script>
    function downloadCSVTemplate() {
      // Define the CSV template content
      const csvContent = 'Store code,Position Id From,Position Id To';

      // Convert the CSV content to a Blob
      const blob = new Blob([csvContent], { type: 'text/csv' });

      // Create a download link
      const downloadLink = document.createElement('a');
      downloadLink.href = window.URL.createObjectURL(blob);
      downloadLink.download = 'template.csv';

      // Append the link to the body and trigger the download
      document.body.appendChild(downloadLink);
      downloadLink.click();

      // Remove the link from the DOM
      document.body.removeChild(downloadLink);
    }
</script>