Advertisement
RUZBE

APC RTO

Mar 29th, 2019
428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*---------------------------------------------------------------------------------*/
  2. // Global Scope Variables
  3. var app = SpreadsheetApp.getActiveSpreadsheet();
  4. var int = app.getSheetByName("Interview");
  5. var que = app.getSheetByName("Organized Questions");
  6. var ans = app.getSheetByName("Organized Answers");
  7. var hid = app.getSheetByName("HideInterviews");
  8. var aca = app.getSheetByName("Academy");
  9. var data = populateArr(); // RTO | Date | New Cop | Steam ID | Score | LINK | Accepted/Declined
  10. var arr = [
  11.   ["A3"], // 0||1
  12.   ["B3"], // 1||2
  13.   ["C3"], // 2||3
  14.   ["D3","D4","D5"], // 3||4
  15.   ["E3","E4","E5","E6"], // 4||5
  16.   ["F3","F4","F5","F6","F7","F8","F9"], // 5||6
  17.   ["G3","G4","G5","G6","G7","G8","G9","G10","G11"], // 6||7
  18.   ["H3","H4","H5","H6","H7","H8"], // 7||8
  19.   ["I3"],// 8||9
  20.   ["J3","J4","J5","J5","J6"], // 9||10
  21.   ["K3","K4","K5","K6","K7"], // 10||11
  22.   ["L3","L4","L5","L6"], // 11||12
  23.   ["M3","M4"], // 12||13
  24.   ["N3","N4"], // 13||14
  25.   ["O3"], // 14||15
  26.   ["P3"] // 15||16
  27. ];
  28. /*---------------------------------------------------------------------------------*/
  29. // Start: Imports questions
  30. function importQuestions() {
  31.   app.toast('', 'Status: Importing Questions');  
  32.   var arrPostions = [];
  33.   for (var i = 0; i <= arr.length - 1; i++) {      
  34.     var innerValue = Math.floor(Math.random() * arr[i].length);      
  35.     arrPostions.push(innerValue);
  36.   }
  37.   var a = 15; // Insert Row
  38.   for (var p = 0; p <= arrPostions.length - 1; p++) {
  39.     var queText = que.getRange(arr[p][arrPostions[p]]).getValue();
  40.     var ansText = ans.getRange(arr[p][arrPostions[p]]).getValue();
  41.       if (a != 17 && a != 20 && a != 22 && a != 27 && a != 32) {
  42.         int.getRange(a, 3).setValue(queText);
  43.         int.getRange(a, 6).setValue(ansText);
  44.         a++;
  45.       } else {
  46.         p--;
  47.         a++;
  48.       }
  49.     }  
  50.     app.toast('Questions Have Successfully Imported.', 'Status: Completed');    
  51.   return;
  52. }
  53. // Finish: Imports questions
  54. /*---------------------------------------------------------------------------------*/
  55. // Start: Clear questions
  56. function clearQuestions() {
  57.   int.getRange("C15:C35").clearContent();
  58.   int.getRange("F15:H35").clearContent();
  59.   app.toast('Questions Cleared Successfully.', 'Status: Completed');    
  60. }
  61. // Finish: Clear questions
  62. /*---------------------------------------------------------------------------------*/
  63. // Start: Finish button
  64. function finsih() {    
  65.   var appID = app.getId();
  66.   var folder = DriveApp;
  67.   var accFold = folder.getFolderById("1qvl3iQf7ntnJsFMHduMxKlLo7Mq0fw4E"); //Accepted folder
  68.   var decFold = folder.getFolderById("1qQcrTBQmKiDI67bZvLFWK-k5tk00R8fT"); //Failed folder
  69.   var curFold = folder.getFolderById("1XkMcT5Afeik6J2VS7rsjZSI3GFKn6oON"); //Current Foldere  
  70.   var score = int.getRange("A45").getValue();
  71.   var tick = int.getRange("J42").getValue();
  72.   var title = int.getRange("D12").getValue();
  73.   int.getRange("D11").setValue(data[1]);
  74.   app.setName(title)
  75.   if (score > 114 && tick != "✔") {
  76.     importAca();
  77.     importHid();
  78.     accFold.addFile(DriveApp.getFileById(appID));
  79.     curFold.removeFile(DriveApp.getFileById(appID));
  80.     app.toast("The sheet has been moved to the ACCEPTED folder.","RTO Interview");
  81.     int.getRange("J42").setValue("✔") ;
  82.   } else {
  83.     importHid();
  84.     decFold.addFile(DriveApp.getFileById(appID));
  85.     curFold.removeFile(DriveApp.getFileById(appID));
  86.     app.toast("The sheet has been moved to the FAILED folder.","RTO Interview");  
  87.     int.getRange("J42").setValue("✔") ;
  88.   }  
  89. }
  90. // Finish: Finish button
  91. /*---------------------------------------------------------------------------------*/
  92. // Start: Imports data to HideInterviews sheet
  93. function populateArr() {
  94.   var playerInfo = [];  
  95.   var indents = [9,11,6,7];
  96.   for (var i = 0; i <= 3; i++ ) {    
  97.     var data = int.getRange(indents[i], 4).getValue();  
  98.     playerInfo.push([data]);  
  99.   }
  100.   playerInfo.splice(4, 0,[int.getRange("A45").getValue()]);
  101.   var url = int.getRange("D10").getValue();
  102.   var link = "=HYPERLINK(\"" + url + "\",\"LINK\")";                  
  103.   playerInfo.splice(5, 0,[link]);
  104.   playerInfo.splice(6, 0,[int.getRange("J37").getValue()]);
  105.   playerInfo.join();  
  106.   return playerInfo;  
  107. }
  108. function importHid() {  
  109.   hid.insertRowsBefore(1, 1);
  110.   var u = 0;
  111.   for (var i = 1; i <= 7; i++) {
  112.     hid.getRange(1, i).setValue(data[u]);
  113.     u++;
  114.   }  
  115. }
  116. // Finish: Imports data to HideInterviews sheet
  117. /*---------------------------------------------------------------------------------*/
  118. // Start: Imports data to Academy sheet
  119. function importAca() {  
  120.   var formulas = [
  121.     ['=IF(ISERROR(MATCH(D5,Config!C:C,0)),"✘", "✔")'],// 6
  122.     ['=(TODAY()-C5)'], // 31
  123.     ['=IF(AND(H6="✔",K6="✔",N6="✔",Q6="✔",T6="✔",W6="PASSED",AA6>=3),"✔","✘")'] // 32
  124.   ];
  125.   var postions = [2, 1, 3, 0];
  126.   var formulaPostions = [6, 31, 32];
  127.   u = 2
  128.   a = 0
  129.   aca.insertRowsBefore(5, 1);
  130.   for (var i = 0; i <= postions.length - 1; i++) {
  131.     aca.getRange(5, u).setValue(data[postions[i]]);
  132.     u++;
  133.     while (a < 3) {          
  134.       aca.getRange(5, formulaPostions[a]).setFormula(formulas[a]);
  135.       Logger.log(a);
  136.       a++;
  137.     }        
  138.   }
  139. }  
  140. // Finish: Imports data to Academy sheet  
  141. /*---------------------------------------------------------------------------------*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement