Skip to content

Instantly share code, notes, and snippets.

@ag7-alexis
Created February 2, 2023 20:26
Show Gist options
  • Save ag7-alexis/e86e32653a2ed97613506b5c9fa2976c to your computer and use it in GitHub Desktop.
Save ag7-alexis/e86e32653a2ed97613506b5c9fa2976c to your computer and use it in GitHub Desktop.
const MAIN_SHEET = "Feuille 1"
function createEvenements() {
let ss = SpreadsheetApp.getActive();
let spreadSheet = SpreadsheetApp.getActiveSheet();
let lastRow = spreadSheet.getLastRow();
let data = spreadSheet.getRange("A1:E" + lastRow).getValues();
const agenda = CalendarApp.getCalendarById('xxxxx@gmail.com');
const evenements = []
for (var i = 1; i < data.length; i++) {
// création de l'événement en l'instanciant avec le nom
const evenement = agenda.createEvent(data[i][0],
// création de la date de début
new Date(data[i][1]),
// création de la date de fin
new Date(data[i][2]),
{ location: data[i][3], description: data[i][4] });
evenements.push(evenement);
spreadSheet.getRange(i + 1, 5).setValue(evenement.getId());
}
let form = FormApp.create('Évènements');
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());
form.addTextItem().setTitle('Name').setRequired(true);
form.addTextItem().setTitle('Email').setRequired(true);
const choice = form.addMultipleChoiceItem().setTitle('RDV');
choice.setChoiceValues(evenements.map((e) => e.getTitle()))
ScriptApp.newTrigger('onFormSubmit').forSpreadsheet(ss).onFormSubmit()
.create();
}
function onFormSubmit(e) {
const user = {name: e.namedValues['Name'][0], email: e.namedValues['Email'][0]};
const agenda = CalendarApp.getCalendarById('xxxxxxxxx@gmail.com');
let spreadSheet = SpreadsheetApp.getActive().getSheetByName(MAIN_SHEET);
let lastRow = spreadSheet.getLastRow();
let data = spreadSheet.getRange("A1:E" + lastRow).getValues();
for (var i = 1; i < data.length; i++) {
// on cherche le bon événement dans la liste
if (data[i][0] === e.namedValues['RDV'][0]) {
const evenement = agenda.getEventById(data[i][4]);
evenement.addGuest(user.email);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment