@@ -43,7 +43,7 @@ export interface ParsedAssignment {
4343export const validate = ( wcif : Competition ) => ( data : ImportData ) : ValidationCheck [ ] => {
4444 const checks : ValidationCheck [ ] = [ ] ;
4545
46- if ( ! data . meta . fields . indexOf ( 'email' ) === - 1 ) {
46+ if ( data . meta . fields . indexOf ( 'email' ) === - 1 ) {
4747 checks . push ( {
4848 key : 'email' ,
4949 passed : false ,
@@ -179,7 +179,7 @@ export const findCompetingAssignment = (
179179
180180 const matchWithoutStage = data . match ( competitorAssignmentRegexWithoutStage ) ;
181181
182- if ( stages . length > 2 && matchWithoutStage ) {
182+ if ( stages . length > 1 && matchWithoutStage ) {
183183 throw new Error ( 'Stage data for competitor assignment is ambiguous' ) ;
184184 }
185185
@@ -343,7 +343,7 @@ export const determineMissingGroupActivities = (
343343 const bParsedActivityCode = parseActivityCode ( b . activityCode ) ;
344344
345345 if ( aParsedActivityCode . eventId === bParsedActivityCode . eventId ) {
346- return aParsedActivityCode . groupNumber - bParsedActivityCode . groupNumber ;
346+ return ( aParsedActivityCode . groupNumber ?? 0 ) - ( bParsedActivityCode . groupNumber ?? 0 ) ;
347347 } else {
348348 return (
349349 events . findIndex ( ( e ) => e . id === aParsedActivityCode . eventId ) -
@@ -444,8 +444,12 @@ export const generateMissingGroupActivities = (
444444 throw new Error ( `Could not find round activity ${ eventRound } in room ${ roomId } ` ) ;
445445 }
446446
447+ if ( groupNumber === undefined ) {
448+ return ;
449+ }
450+
447451 roundActivity . childActivities . push (
448- createGroupActivity ( startingActivityId , roundActivity as Activity , groupNumber )
452+ createGroupActivity ( startingActivityId , roundActivity as Activity , groupNumber , roundActivity . startTime , roundActivity . endTime )
449453 ) ;
450454
451455 startingActivityId += 1 ;
@@ -484,7 +488,7 @@ export const balanceStartAndEndTimes = (
484488 return childActivity ;
485489 }
486490
487- const groupNumber = parseActivityCode ( childActivity . activityCode ) . groupNumber ;
491+ const groupNumber = parseActivityCode ( childActivity . activityCode ) . groupNumber ?? 1 ;
488492
489493 return {
490494 ...childActivity ,
0 commit comments