From 9557e36dfd8758ca5c299495b8f6aa7c49613025 Mon Sep 17 00:00:00 2001 From: Sam Sciolla Date: Mon, 22 Feb 2021 13:47:42 -0500 Subject: [PATCH] Filter meetings considered to be conflicts to unstarted ones --- src/assets/src/validation.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/assets/src/validation.ts b/src/assets/src/validation.ts index 77a2c50e..9d6947e5 100644 --- a/src/assets/src/validation.ts +++ b/src/assets/src/validation.ts @@ -1,5 +1,5 @@ import { string, StringSchema, SchemaDescription, TestMessageParams } from 'yup'; -import { MeetingBackend, QueueHost } from "./models"; +import { MeetingBackend, MeetingStatus, QueueHost } from "./models"; import { getUser } from "./services/api"; // Yup: https://github.com/jquense/yup @@ -102,8 +102,9 @@ export function validateMeetingTypes (value: Set, backends: MeetingBacke let existingMeetingConflict = false; if (queue) { - const uniqueMeetingTypes = new Set(queue!.meeting_set.map(m => m.backend_type)); - const conflictingTypes = [...uniqueMeetingTypes] + const unstartedMeetings = queue!.meeting_set.filter(m => m.status !== MeetingStatus.STARTED); + const uniqueUnstartedMeetingTypes = new Set(unstartedMeetings.map(m => m.backend_type)); + const conflictingTypes = [...uniqueUnstartedMeetingTypes] .filter(uniqueMeetingType => !value.has(uniqueMeetingType)); const conflictingTypeNames = conflictingTypes .map(ct => backends.find(b => b.name === ct)?.friendly_name ?? ct);