Last active
February 25, 2017 05:25
-
-
Save JaredLGarcia/b4bb364c269fbc89d46615b84b89648d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Key for Comments | |
//Checks and Manages Building of Equity Comms Folder and Rioter Docs ** | |
function driveStructure(driveInfo, indexedValue) { | |
var rootFolder = DriveApp.getRootFolder(); | |
var folders = DriveApp.getFolders(); | |
var isPresent = findComms(); | |
if(isPresent == 0){ | |
rootFolder.createFolder("Equity Comms"); | |
var rootIt = rootFolder.getFolders(); | |
while (rootIt.hasNext()) { | |
var folder = rootIt.next(); | |
var folderName = folder.getName(); | |
if(folderName == "Equity Comms") { | |
var equityFolder = folder; | |
} | |
} | |
}else if(isPresent == 1){ | |
var rootIt = rootFolder.getFolders(); | |
while (rootIt.hasNext()) { | |
var folder = rootIt.next(); | |
var folderName = folder.getName(); | |
if(folderName == "Equity Comms") { | |
var equityFolder = folder; | |
} | |
} | |
} | |
buildDocs(equityFolder,driveInfo,indexedValue); | |
} | |
//Gathers DocumentIDs for generated Templates | |
function referenceDoc() { | |
var equityFolder = DriveApp.getFolderById('0B-rc1idWq6n4WHpSQ2c5clR1MTg').getFiles(); | |
var ssMain = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Equity Folder"); | |
var buildArray = []; | |
while(equityFolder.hasNext()){ | |
var fileArray = []; | |
var file = equityFolder.next(); | |
fileArray.push(file.getName()); | |
fileArray.push(file.getId()); | |
buildArray.push(fileArray); | |
} | |
ssMain.getRange(1, 1, buildArray.length, 2).setValues(buildArray); | |
} | |
//Get the equity comms folder | |
function getComms() { | |
var folders = DriveApp.getFolders(); | |
var present = 0; | |
var folderName; | |
while (folders.hasNext()) { | |
var folder = folders.next(); | |
folderName = folder.getName(); | |
if(folderName == "Equity Comms") { | |
present = 1; | |
var thisFolder = folder; | |
} | |
} | |
return thisFolder; | |
} | |
//Builds Google Docs for Rioters on the Equity Spreadsheet | |
function buildDocs() { | |
var ssMain = SpreadsheetApp.getActiveSpreadsheet(); | |
var folder = getComms(); | |
var lastRow = ssMain.getLastRow(); | |
var driveInfo = ssMain.getSheetByName("Main").getRange(2, 2, lastRow, 3).getValues(); | |
//Logger.log(driveInfo); | |
var templateDoc = DriveApp.getFileById("Enter Template DocID here"); | |
var equityDocs = folder.getFiles(); | |
var present = 0; | |
for(var i = 0; i <= driveInfo.length-1; i++) { | |
var testPhrase = driveInfo[i][0] + " Equity Confirmation"; | |
while (equityDocs.hasNext()) { | |
var doc = equityDocs.next(); | |
var docName = doc.getName(); | |
//Logger.log(testPhrase); | |
if(docName == testPhrase) { | |
present = 1; | |
} | |
} | |
//Logger.log(present); | |
if(present == 0) { | |
templateDoc.makeCopy(testPhrase, folder); | |
Logger.log(testPhrase); | |
} | |
if(present == 1) { | |
} | |
} | |
} | |
function fillOut() { | |
var ssMain = SpreadsheetApp.getActiveSpreadsheet(); | |
var lastRow = ssMain.getLastRow(); | |
var driveInfo = ssMain.getSheetByName("Main").getRange(2, 2, lastRow, 3).getValues(); | |
for(var i = 0; i <= driveInfo.length-1; i++) { | |
var testPhrase = driveInfo[i][10]; | |
var modify = DriveApp.getFileById(driveInfo[i][11]); | |
var name = modify.getName(); | |
var rioter = driveInfo[i][0]; | |
Logger.log(rioter); | |
if(testPhrase == name) { | |
var ident = modify.getId(); | |
var docToRight = DocumentApp.openById(driveInfo[i][11]).getBody(); | |
docToRight.replaceText("{NAME}", rioter); | |
docToRight.replaceText("{VSHARES}", driveInfo[i][2]); | |
var taxComp = driveInfo[i][3].toFixed(2); | |
taxComp.toLocaleString('en'); | |
docToRight.replaceText("{TAXCOMP}", "$"+taxComp); | |
var taxObli = driveInfo[i][4].toFixed(2); | |
taxObli.toLocaleString('en'); | |
docToRight.replaceText("{TAXOBLI}", "$"+taxObli); | |
docToRight.replaceText("{SWITHHELD}", driveInfo[i][5]); | |
docToRight.replaceText("{TBDELIVERED}", driveInfo[i][6]); | |
var viaPayroll = driveInfo[i][7].toFixed(2); | |
docToRight.replaceText("{VIAPAYROLL}", "$"+viaPayroll); | |
} | |
} | |
} | |
//Gathers sharing settings for Docs just for Analytics after completion | |
function shareSettings(driveInfo, ssMain) { | |
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main"); | |
var sharingIndex = ssMain.getSheetByName("Operators").getRange("B2").getValue(); | |
for(var i = 0; i <= driveInfo.length-2; i++){ | |
var ident = driveInfo[i][11]; | |
var messageID = "Place a Google Message ID here"; | |
var file = DriveApp.getFileById(ident); | |
var user = driveInfo[i][1]; | |
Logger.log("Add User: "+ user); | |
Logger.log(ident); | |
file.addViewer(user); | |
var message = GmailApp.getMessageById(messageID); | |
message.forward(user); | |
var writeOne = "L" + sharingIndex; | |
var writeTwo = "M" + sharingIndex; | |
Logger.log(writeOne); | |
Logger.log(ssMain); | |
ss.getRange(writeOne).setValue("X"); | |
ss.getRange(writeTwo).setValue(user); | |
sharingIndex++; | |
ssMain.getSheetByName("Operators").getRange("B2").setValue(sharingIndex); | |
} | |
// Send an email with a file from Google Drive attached as a PDF. | |
var file = DriveApp.getFileById("Enter Google DocID here"); | |
GmailApp.sendEmail('mike@example.com', 'Attachment example', 'Please see the attached file.', { | |
attachments: [file.getAs(MimeType.PDF)], | |
name: 'PDF Emailer Script' | |
}); | |
} | |
function equityShare() { | |
var ssMain = SpreadsheetApp.getActiveSpreadsheet(); | |
var lastRow = ssMain.getLastRow(); | |
var driveInfo = ssMain.getSheetByName("Main").getRange(2,1,lastRow,10).getValues(); | |
for(var i = 0; i <= driveInfo.length-1; i++){ | |
var ident = driveInfo[i][11]; | |
//Logger.log(driveInfo); | |
var file = DriveApp.getFileById(ident); | |
var user = driveInfo[i][1]; | |
var write = i+1397; | |
Logger.log("Add User: "+ user); | |
if(file.getName() == driveInfo[i][10]) { | |
file.addViewer(user); | |
Logger.log(user); | |
var message = GmailApp.getMessageById("Enter Gmail MessageID Here"); | |
message.forward(user, {subject: "Your Document is ready"}); | |
var writeOne = "J" + write; | |
var writeTwo = "K" + write; | |
ssMain.getRange(writeOne).setValue("X"); | |
ssMain.getRange(writeTwo).setValue(user); | |
} | |
} | |
} | |
function testEmail() { | |
var message = GmailApp.getMessageById("Google Apps Message ID here"); | |
message.forward("cfox@riotgames.com", { | |
subject: "Your Document is ready" | |
}); | |
//GmailApp.sendEmail("jgarcia@example.com", "The Test To End All Tests", message); | |
} | |
function main () { | |
//Grab Main Spreadsheet ** | |
var ssMain = SpreadsheetApp.getActiveSpreadsheet(); | |
//Grab Values for Drive Structure Method ** | |
var sharedValue = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Operators").getRange("B2").getValue(); | |
var indexedValue = ssMain.getSheetByName("Operators").getRange("A2").getValue(); | |
var driveInfo = ssMain.getSheetByName("Main").getRange(indexedValue, 2, ssMain.getSheetByName("Main").getLastRow(), 12).getValues(); | |
var sharedInfo = ssMain.getSheetByName("Main").getRange(sharedValue, 2, ssMain.getSheetByName("Main").getLastRow(), 14).getValues(); | |
//Check for Existing Drive File Structure and Build if not present | |
var lastRow = ssMain.getSheetByName("Main").getLastRow(); | |
//Logger.log(indexedValue); | |
//Logger.log(lastRow); | |
//if(indexedValue < lastRow) { | |
//driveStructure(driveInfo,indexedValue); | |
//} | |
//if(sharedValue < lastRow) { | |
//shareSettings(sharedInfo,ssMain); | |
//} | |
Logger.log(sharedInfo); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment