@@ -451,52 +451,57 @@ function getAction(data: OnyxTypes.SearchResults['data'], key: string): SearchTr
451
451
* Do not use directly, use only via `getSections()` facade.
452
452
*/
453
453
function getTaskSections ( data : OnyxTypes . SearchResults [ 'data' ] ) : TaskListItemType [ ] {
454
- return Object . keys ( data )
455
- . filter ( isReportEntry )
456
- . map ( ( key ) => {
457
- const taskItem = data [ key ] as SearchTask ;
458
- const personalDetails = data . personalDetailsList ;
459
-
460
- const assignee = personalDetails ?. [ taskItem . managerID ] ?? emptyPersonalDetails ;
461
- const createdBy = personalDetails ?. [ taskItem . accountID ] ?? emptyPersonalDetails ;
462
- const formattedAssignee = formatPhoneNumber ( getDisplayNameOrDefault ( assignee ) ) ;
463
- const formattedCreatedBy = formatPhoneNumber ( getDisplayNameOrDefault ( createdBy ) ) ;
464
-
465
- const report = getReportOrDraftReport ( taskItem . reportID ) ?? taskItem ;
466
- const parentReport = getReportOrDraftReport ( taskItem . parentReportID ) ;
467
-
468
- const doesDataContainAPastYearTransaction = shouldShowYear ( data ) ;
469
- const reportName = StringUtils . lineBreaksToSpaces ( Parser . htmlToText ( taskItem . reportName ) ) ;
470
- const description = StringUtils . lineBreaksToSpaces ( Parser . htmlToText ( taskItem . description ) ) ;
471
-
472
- const result : TaskListItemType = {
473
- ...taskItem ,
474
- reportName,
475
- description,
476
- assignee,
477
- formattedAssignee,
478
- createdBy,
479
- formattedCreatedBy,
480
- keyForList : taskItem . reportID ,
481
- shouldShowYear : doesDataContainAPastYearTransaction ,
482
- } ;
483
-
484
- if ( parentReport && personalDetails ) {
485
- const policy = getPolicy ( parentReport . policyID ) ;
486
- const parentReportName = getReportName ( parentReport , policy , undefined , undefined ) ;
487
- const icons = getIcons ( parentReport , personalDetails , null , '' , - 1 , policy ) ;
488
- const parentReportIcon = icons ?. at ( 0 ) ;
489
-
490
- result . parentReportName = parentReportName ;
491
- result . parentReportIcon = parentReportIcon ;
492
- }
454
+ return (
455
+ Object . keys ( data )
456
+ . filter ( isReportEntry )
457
+ // Ensure that the reports that were passed are tasks, and not some other
458
+ // type of report that was sent as the parent
459
+ . filter ( ( key ) => isTaskListItemType ( data [ key ] as SearchListItem ) )
460
+ . map ( ( key ) => {
461
+ const taskItem = data [ key ] as SearchTask ;
462
+ const personalDetails = data . personalDetailsList ;
463
+
464
+ const assignee = personalDetails ?. [ taskItem . managerID ] ?? emptyPersonalDetails ;
465
+ const createdBy = personalDetails ?. [ taskItem . accountID ] ?? emptyPersonalDetails ;
466
+ const formattedAssignee = formatPhoneNumber ( getDisplayNameOrDefault ( assignee ) ) ;
467
+ const formattedCreatedBy = formatPhoneNumber ( getDisplayNameOrDefault ( createdBy ) ) ;
468
+
469
+ const report = getReportOrDraftReport ( taskItem . reportID ) ?? taskItem ;
470
+ const parentReport = getReportOrDraftReport ( taskItem . parentReportID ) ;
471
+
472
+ const doesDataContainAPastYearTransaction = shouldShowYear ( data ) ;
473
+ const reportName = StringUtils . lineBreaksToSpaces ( Parser . htmlToText ( taskItem . reportName ) ) ;
474
+ const description = StringUtils . lineBreaksToSpaces ( Parser . htmlToText ( taskItem . description ) ) ;
475
+
476
+ const result : TaskListItemType = {
477
+ ...taskItem ,
478
+ reportName,
479
+ description,
480
+ assignee,
481
+ formattedAssignee,
482
+ createdBy,
483
+ formattedCreatedBy,
484
+ keyForList : taskItem . reportID ,
485
+ shouldShowYear : doesDataContainAPastYearTransaction ,
486
+ } ;
487
+
488
+ if ( parentReport && personalDetails ) {
489
+ const policy = getPolicy ( parentReport . policyID ) ;
490
+ const parentReportName = getReportName ( parentReport , policy , undefined , undefined ) ;
491
+ const icons = getIcons ( parentReport , personalDetails , null , '' , - 1 , policy ) ;
492
+ const parentReportIcon = icons ?. at ( 0 ) ;
493
+
494
+ result . parentReportName = parentReportName ;
495
+ result . parentReportIcon = parentReportIcon ;
496
+ }
493
497
494
- if ( report ) {
495
- result . report = report ;
496
- }
498
+ if ( report ) {
499
+ result . report = report ;
500
+ }
497
501
498
- return result ;
499
- } ) ;
502
+ return result ;
503
+ } )
504
+ ) ;
500
505
}
501
506
502
507
/**
0 commit comments