Created
February 2, 2023 20:26
-
-
Save ag7-alexis/e86e32653a2ed97613506b5c9fa2976c 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
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