From 4a45a8c77369d338d2b066f4438629126790f9ea Mon Sep 17 00:00:00 2001 From: "riho.takagi" Date: Tue, 13 Feb 2024 21:01:46 -0500 Subject: [PATCH] check old safety training google sheet --- .../client/booking/components/SheetEditor.tsx | 16 ++++++++++++---- media_commons_booking_app/src/server/index.ts | 2 ++ media_commons_booking_app/src/server/sheets.js | 16 ++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/media_commons_booking_app/src/client/booking/components/SheetEditor.tsx b/media_commons_booking_app/src/client/booking/components/SheetEditor.tsx index bdde2e4d..f477d487 100644 --- a/media_commons_booking_app/src/client/booking/components/SheetEditor.tsx +++ b/media_commons_booking_app/src/client/booking/components/SheetEditor.tsx @@ -4,7 +4,6 @@ import FormInput, { Inputs } from './FormInput'; // This is a wrapper for google.script.run that lets us use promises. import { serverFunctions } from '../../utils/serverFunctions'; import { DateSelectArg } from '@fullcalendar/core'; -import { RoomUsage } from './RoomUsage'; import { Header } from './Header'; import { MultipleCalendars } from './MultipleCalendars'; import { InitialModal } from './InitialModal'; @@ -185,9 +184,17 @@ const SheetEditor = () => { // safety training users const getSafetyTrainingStudents = () => { - const students = serverFunctions - .getSheetRows(SAFTY_TRAINING_SHEET_NAME) - .then((rows) => { + if (!isSafetyTrained) { + serverFunctions.getSheetRows(SAFTY_TRAINING_SHEET_NAME).then((rows) => { + const emails = rows.reduce( + (accumulator, value) => accumulator.concat(value), + [] + ); + const trained = emails.includes(userEmail); + setIsSafetyTrained(trained); + }); + serverFunctions.getOldSafetyTrainingEmails().then((rows) => { + console.log('old emails', rows); const emails = rows.reduce( (accumulator, value) => accumulator.concat(value), [] @@ -195,6 +202,7 @@ const SheetEditor = () => { const trained = emails.includes(userEmail); setIsSafetyTrained(trained); }); + } }; const getBannedStudents = () => { diff --git a/media_commons_booking_app/src/server/index.ts b/media_commons_booking_app/src/server/index.ts index f498f670..fe99aff0 100644 --- a/media_commons_booking_app/src/server/index.ts +++ b/media_commons_booking_app/src/server/index.ts @@ -37,6 +37,7 @@ import { fetchById, fetchRows_, getFutureDates, + getOldSafetyTrainingEmails, } from './sheets'; // Public functions must be exported as named exports @@ -73,4 +74,5 @@ export { removeFromList, getFutureDates, getCalendarEvents, + getOldSafetyTrainingEmails, }; diff --git a/media_commons_booking_app/src/server/sheets.js b/media_commons_booking_app/src/server/sheets.js index ec80bf29..500a8843 100644 --- a/media_commons_booking_app/src/server/sheets.js +++ b/media_commons_booking_app/src/server/sheets.js @@ -1,4 +1,6 @@ export const ACTIVE_SHEET_ID = '1MnWbn6bvNyMiawddtYYx0tRW4NMgvugl0I8zBO3sy68'; +export const OLD_SHEET_ID = '1Debe5qF-2qXJhqP0AMy5etEvwAPd3mNFiTswytsbKxQ'; +export const OLD_SHEET_SAFETY_TRAINING_NAME = 'Sheet1'; export const fetchRows_ = (sheetName) => { return SpreadsheetApp.openById(ACTIVE_SHEET_ID) @@ -51,6 +53,20 @@ function fetchById(sheetName, id) { return messages; } +export const getOldSafetyTrainingEmails = (email) => { + const activeSpreadSheet = SpreadsheetApp.openById(OLD_SHEET_ID); + const activeSheet = activeSpreadSheet.getSheetByName( + OLD_SHEET_SAFETY_TRAINING_NAME + ); + var lastRow = activeSheet.getLastRow(); + + // get all row3(email) data + var range = activeSheet.getRange(1, 5, lastRow); + var values = range.getValues(); + + return values; +}; + export const getSheetRows = (sheetName) => { const activeSpreadSheet = SpreadsheetApp.openById(ACTIVE_SHEET_ID); const activeSheet = activeSpreadSheet.getSheetByName(sheetName);