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 dataconsole.log('positionsssssss',positions);// Assuming you have a function to send the data to the server// Modify this function according to your needssendCsvDataToServer(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 valuesif (columns.length && columns.some(column => column.trim() !== '')) {// Skip the header rowif (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 contentconst csvContent = 'Store code,Position Id From,Position Id To';// Convert the CSV content to a Blobconst blob = new Blob([csvContent], { type: 'text/csv' });// Create a download linkconst downloadLink = document.createElement('a');downloadLink.href = window.URL.createObjectURL(blob);downloadLink.download = 'template.csv';// Append the link to the body and trigger the downloaddocument.body.appendChild(downloadLink);downloadLink.click();// Remove the link from the DOMdocument.body.removeChild(downloadLink);}</script>